Change U-Boot bootdelay setting

From Texas Instruments Wiki
Jump to: navigation, search

Halt U-Boot from automatically booting the processor by starting the system while pressing ctrl-C.


Background

The "bootdelay" variable in U-Boot indicates how long U-Boot will wait before it begins booting the system into Linux. Usually, you see it set to 'bootdelay=3' or 'bootdelay=5'; which will give the user 3 (or 5) seconds to type any key and stop the system from booting. The main reason to stop the system from booting is to change the arguments U-Boot passes to the Linux kernel during boot; for example, changing the 'bootargs' U-Boot variable so that the root file system uses an NFS directory as opposed to a hard disc drive.

Occasionally, though, someone may set 'bootdelay=0'. This would prevent anyone from interrupting the boot process and changing the U-Boot configuration. While this may be advantageous in a production system (i.e., saves 3 seconds on system boot), it can be bothersome during development.

If this happens, and you want to regain access to U-Boot configuration, try using ctrl-C.

When U-Boot starts, even if "bootdelay=0", it still checks for ctrl-C, so there still is a possibility of it halting.

Other options are to reload the U-Boot program using an external emulator, such as Code Composer Studio. This would, in effect, force U-Boot back to its default settings. But, if you're just needing to halt boot, the ctrl-C option will be much easier.