Fast Boot of Embedded Linux

Only 560 milliseconds from reset to shell

on 300 MHz ARM, NAND flash

Make Linux Software presents Linux fast boot for 300-MHz ARM926EJ TI DM365 and NAND flash memory. The first goal of the project is to achieve a minimal boot time of a minimal but functional Linux system on common hardware. The second goal is to provide a platform for developing more functional systems with shortest possible boot time.

Boot log with timestamps

Logging starts at 20 ms from reset.
0.000 0.000: DM36x initialization passed!
0.000 0.000: Optimized TI UBL 1.50 http://www.MakeLinux.com/emb/fastboot
0.010 0.010: Compiled on Jan  5 2011 at 02:38:56 with gcc 4.3.3
0.010 0.000: Starting NAND Copy...
0.479 0.469: length=0x00156000   DONE
0.479 0.000: Jumping to entry point at 0x80008000.
0.542 0.063: BusyBox v1.16.2 hush - the humble shell
Measurement deviation is 0.01 sec

Boot analysis

  • Logging starts at 20 ms from reset. Total boot time is 0.54+0.02=0.56 sec
  • Loading of Linux image 1.4 MiB from NAND takes 0.469 seconds, it is throughput 3 MiB/s.
  • Code execution takes 0.064 sec. It is about 20M processor cycles. (For other CPU frequency execution time is different, but number of processor cycles is the same)
  • Most time consuming operation is coping firmware from NAND flash. Improving NAND throughput twice would give total boot time about 300 ms.

    Hardware summary

  • Board TMSDM365 DVEM or compatible like Leopardboard 365
  • Processor 300-MHz ARM926EJ TI DM365
  • NAND flash MT29F16G08FAA

    Software summary

  • Kernel: linux-2.6.32 from DVSDK 3.10 with minimal configuration, size is about 800K
  • Application: Statically compiled BusyBox v1.16.2 with hush - the humble shell, size is 601K
  • Root filesystem is cramfs and included in the kernel image
  • Size of kernel and filesystem is 1.4M
  • Without u-boot

    Demo binary

  • SD card installer
  • Usage:
    sudo dd if=sd-install-dm365-fast-boot-560ms.bin of=/dev/YOUR_SD; sync
    Boot DM365 from SD card, press "2" to install, boot from NAND.

    E2E discussion forum

    Useful links

  • http://elinux.org/Boot_Time
  • Booting Linux dm365 Network Camera in 3.2 seconds
  • Techniques for improving embedded Linux startup time, presentation, MontaVista

    To be continued.

    For engineering and consultancy services please contact const@makelinux.com

    Constantine Shulyupin

  •   Linux┬« is the registered trademark of Linus Torvalds in the U.S. and other countries.