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.


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: creating partitions and updating U-Boot from U-Boot bootscript / autoscript does not work due to interactive inputs required

Last updated: Jan 01, 2024

Recently Viewed

No recently viewed articles

Did you find this article helpful?