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
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.
Board TMSDM365 DVEM or compatible like Leopardboard 365
Processor 300-MHz ARM926EJ TI DM365
NAND flash MT29F16G08FAA
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
SD card installer
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
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 email@example.com