HOME SERVICES RESOURCES FAST BOOT LINUX KERNEL DAVINCI SEARCH

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.