Assistance with steps in a product

I've been tasked with interfacing an Arduino Yun with a custom hardware solution my company has produced (I'm the project lead, I've built the hardware and written the software for it).

The tasks we have a head of us on this project are...interesting. I was just wondering if anyone could give me a few hints on where to look to meet some of these goals.

  1. We need to fully control the build process for the arduino yun image. We need a known version of all software, and a confirmable bit for bit exact repeatable build process. This means that I can't have the build process re-downloading software on each build, it needs to store and reuse the same exact packages each time. I'm not sure if this is just a matter of changing the way I'm doing the build command line wise or if I'll need to modify the build script itself.

  2. I need to make it so that our custom software is part of the built image, I need to be able to take a Fresh arduino yun from stock and flash the image and have our product ready to go. At worst I can push the built image then copy files afterwards, but this seems like the wrong solution seeing as the image building process should allow me to input these custom files, including a linux device driver I've written, an arduino-yun sketch, and a custom web page content.

Again, i'm not looking for the answer on either of these problems. I'm fully expecting (and expected!) to do the engineering work myself. I'm just looking for where to start researching these problems or if someone else has all ready solved these common production level problems.

For an arduino-yun to be anything other than a really awesome hobby board it will need to have solutions for these two problems at least. (not to mention the security lock down issue, and plenty of others).

Thanks for any help!

Arthur Ice,
Developer for Predator Software Inc.

http://wiki.openwrt.org/doc/howto/obtain.firmware.generate

Image Generator will do it all.

FILES Variable

The FILES variable allows custom configuration files to be included in images built with Image Generator. This is especially useful if you need to change the network configuration from default before flashing.

as well as "FILES Variable" should allow you to input these custom files, including a linux device driver, an arduino-yun sketch with auto install script, and a custom web page content.

Configure Package Repositories

The Image Generator has to be configured for downloading missing packages from official or custom repositories. Otherwise the image generation fails with an error of a missing package. The package sources are configured in the repositories.conf file in the toplevel directory. Sources are specified in opkg native config format. This can be either the official package repositories or custom generated repositories.

Package Repositories will control exact packages version you include

3).Set up remote/field management (transparent firewall):

Setup Reverse SSH

4). Remote upgrade firmware:

Upgrade Yún shield's firmware

Image Generator will not run on 32bit platform such as i686. You need 64bit linux such as amd64, see ticket. You can however run amd64 in VM (i.e. virtualbox) even from 32bit windows.

Only 50% true. We could build 32 bits version Image Generator then will run fine with i686 but not amd64.

Reasons for using Image Generator are:

  • Embedding packages directly into the SquashFS to reduce space requirements on the target
  • Preconfigure images by embedding packages and configuration files directly into SquashFS, and save manpower when flashing many devices
  • Building minimal images. for example without the web interface
  • Learning

addmoreice:
:::SNIP::::

Again, i'm not looking for the answer on either of these problems. I'm fully expecting (and expected!) to do the engineering work myself. I'm just looking for where to start researching these problems or if someone else has all ready solved these common production level problems.

For an arduino-yun to be anything other than a really awesome hobby board it will need to have solutions for these two problems at least. (not to mention the security lock down issue, and plenty of others).

::::SNIP::::

@Arthur,

you are welcome to use all my online notes. They re available here:

http://codesnippets.altervista.org/documentation/yun/index.html

You can read as much or as little as you like. I do recommend that you read the section entitled CLI (Command Line Interface) Tools

Best of Luck,
Jesse