Page Actions
Wiki Actions
User Actions
Submit This Story


Boot an application image. This has become the standard image starting mechanism and it can start uImages aswell as zImages and barebox images.


bootm [OPTIONS] image


-c crc check uImage data
-r <initrd> specify an initrd image
-L <load addr> specify initrd load address
-a <load addr> specify os load address
-e <ofs> entry point to the image relative to start (0)
-o <oftree> specify oftree
-v verbose
-f fallback


Additionally to the above commandline options the behaviour of the bootm command can be configured with environment variables. This allows to configure the bootm command before executing it, and then running bootm without additional arguments later. commandline switches will override the environment settings. The environment variables bootm understands are:

global.bootm.image bootm default boot image
global.bootm.initrd bootm default initrd
global.linux.bootargs.* Linux bootargs variables
global.linux.mtdparts.* Linux mtdparts variables

bootm iterates over all existing variables beginning with 'global.linux.bootargs.'. This means that an additional bootarg can be specified with:

global linux.bootargs.myoption="init=/bin/sh"

Similarly bootm iterates over all existing variables beginning with 'global.linux.mtdparts.', but these all are concatenated into a single 'mtdparts=”<desc1>:<desc2>…' option.

image type detection

The bootm command automatically detects the image type. This works for uImages, ARM zImages and to a certain extent for barebox images. If no supported image type is found, the -f option can be used to use a fallback handler and barebox tries to make the best out of this image.

Load addresses

The load addresses normally don't need to be specified, barebox automatically uses the right addresses for the image type. It also makes sure that the addresses images are written to in are SDRAM and do not overwrite vital things like barebox itself. Only if this doesn't work the -L, -a and -e options should be passed.


uImages have a hardcoded load address in them. This is not suitable for uImages intended for multiple SoCs with different SDRAM addresses. U-Boot now has a new image type IH_TYPE_KERNEL_NOLOAD for these kinds of images. barebox additionally supports a load address of 0xffffffff which means that barebox can choose a suitable load address. This has the advantage that it works with other image types aswell. You can overwrite the image addresses with -L, -a and -e. This also includes overwriting these addresses with 0xffffffff to invalidate a load address.

commands/bootm.txt · Last modified: 2012/08/02 14:12 by Sascha Hauer     Back to top