Speeding Up Boot Times with Falcon Mode

Everyone desires computers that boot very fast! The software that is shipped bydefault on Gateworks boards is tuned to be very ‘developer friendly’ for getting started in the development cycle.Common questions like: ‘How can I make my software boot quicker?’ are asked frequently and Gateworks hasdevoted time into documenting various methods of increasing boot speed or boot speed perception (see http://trac.gateworks.com/wiki/boot_speed). Gateworks has additionallyimprovedboot speeds by implementing U-Boot’s Falcon mode in the Ventana bootloader. Gateworks Ventana is the first IMX6 based board in mainline U-Boot to get this support.

What is U-Boot Falcon mode? Falcon mode is named after the Peregin Falcon, the fastest member of the animal kingdom. U-Boot Falcon mode speeds up boot time by bypassing the bootloader completely which can save 3 to 10 seconds depending on the system configuration.

Continuing with the technical details, Falcon mode is a feature of the Secondary Program Loader (SPL) which is built from the same U-Boot source that builds U-Boot proper. The job of the SPL is to configure the memory controller and load the next stage – which is typically the full-blown, feature-rich U-Boot bootloader, which in turn is responsible for loading the OS. The U-Boot bootloader can easily add 3 to 10 seconds to the boot-up of a system dependingon its configuration, theboot medium (Flash vs micro-SD for example) and the filesystem on that boot medium. To bypass the loading of U-Boot, the Ventana SPL now supports reading an OS kernel and boot parameters (or ‘args’) directly from NAND flash blocks or raw micro-SD sectors (sans filesystems). This typically takes 1 to 2 seconds, depending on the size of your OS kernel and results in being able to have a fancy graphical splash-screen show up within the first couple of seconds of power. What theOS does next is very dependent on theapplication and OS configuration. If several seconds are shaved off in getting to the OS with Falcon mode then the system boot time has been sped up in some cases significantly.

Keep in mind that using Falcon mode is something that should be done at the end of thedevelopment cycle as the U-Boot bootloader features that are bypassed can come in very handy during development.

For reference and more information, please see: