How do I program my Linux images onto a Digi embedded module?
Single (or batch) modules you get for Linux, will only come with a pre-installed unreleased U-Boot intended for quality test purposes at Digi. Be aware this version will change from time to time: so always reprogram with your own customized U-Boot version to avoid problems with different versions in field, or use the latest released via Digi webpage U-Boot version if you don't have any U-Boot customizations!
You should always program well defined U-Boot version, Linux kernel and rootfs images onto the module, either by means of the pre-installed U-Boot described below, or by the recovery procedures available for your specific module: e.g. via a JTAG-Flash programmer if available or (Micro)SD card recovery or serial loader (USB OTG) recovery.
*** PROCEED WITH CAUTION ***
If the module does not have a JTAG (and no [micro]SD card or serial [USB OTG] recovery) and you program a faulty U-Boot image into it, or interrupt the module during flash programming, the module is unrecoverably lost, and can not be restored.
- Install and setup a TFTP server (if you installed Kubuntu from the Digi Embedded Linux DVD you have this already installed). If you prefer to do the programming from a Windows PC get some Windows TFTP server, e.g.:
- put your u-boot*.bin, uImage* and rootfs* files into the root directory, this TFTP server is providing to tftp clients.
- connect your embedded module via ethernet and serial line to the programming PC.
- launch a terminal program at 38400 8N1, put power on the embedded module and check the serial output for U-Boot prompt. If U-Boot is auto booting some OS, you have to interrupt the auto boot by key press, or sending Ctrl-C BREAK signal during boot up.
- At the U-Boot prompt, configure the embedded module IP settings to match your host PC:
setenv serverip YOURHOSTIP <= enter IP of your host PC
setenv ipaddr IPOFMODULE <= enter any free IP in the same subnet for your module
ping $(serverip) <= to check the module has IP access to server
flpart <= run this U-Boot tool to setup default flash partitions for Linux, just hit "r"eset "l"inux "q"uit and Enter to save
- program your images into flash:
update uboot tftp <= to download u-boot image via TFTP and program it into flash
update linux tftp <= to download Linux kernel via TFTP and program it into flash
update rootfs tftp <= to download Root flash filesystem for Linux via TFTP and program it into flash
setenv bootcmd dboot linux flash;saveenv <= to make U-Boot auto-boot the Linux kernel from flash
if you want to program without using the serial port, try to use the autoscript or bootscript feature of the pre-programmed U-Boot (presumed it is available with this feature on the module), check out: http://www.digi.com/support/kbase/kbaseresultdetl.jsp?id=3173