Boot Time Optimization
From Texas Instruments Embedded Processors Wiki
Category:OMAP35x > Debugging the DSP side of a CE application using CCS > Serial Boot and Flash Loading Utility > SXVGA > Boot Time Optimization
Contents |
Boot time optimization
Boot Time
"Boot Time" referred in this page is the time elapsed from "chip coming out of reset" to "Linux Prompt" This page considers under 2 seconds boot time as fast boot
In short
Reuse the existing knowledge. Lot of knowledge is available inside and outside of TI /* provide relevant links here */. Measure and identify boot time spenders. Optimize them. U-boot probably is one of the key areas to target.
Techniques
- Optimize U-Boot
- Choose the optimal EMIF settings based on NOR used
- Optimize the NOR to RAM copy
- Optimize Crc32
- Avoid printfs
- Avoid I2C or any other slow peripheral access during U-boot
- Optimize Kernel
- Remove unused components from Kernel
- Use loadable modules option to defer initialization of components to after-boot.
Example: network initialization. - Avoid Linux timer calibration loop
- Avoid Kernel printks
- Optimize Filesystem
- Rebuild Rootfilesystem with minimal components
- Use cramfs as rootfilesystem
Linux Boot Sequence
- ARM boots and starts executing U-boot code from NOR in-place
- U-boot copies Kernel to RAM
- U-boot copies filesystem to RAM (copy can be avoided using flash filesystem /* link to relevant page here */ )
- U-Boot sets parameters and starts Kernel
- Kernel uncompresses itself
- Kernel initialization
- Driver Initialization
- Init
- Init scripts
- Shell
see also:
Leave a Comment

