
U-Boot Commands
LITE5200B User’s Manual, Rev. 0
7-6
Freescale Semiconductor
7.5
BootM
bootm
– Boot application image from memory.
bootm [addr [arg ...]]
- Boot application image stored in memory passing arguments 'arg ...'; when
booting a Linux kernel,‘arg' can be the address of an initrd image.
The
bootm
command is used to start operating system images. It gets information from the image header
about the type of the operating system, the file compression method used (if any), the load and entry point
addresses, etc. The command will then load the image to the required memory address, uncompressing it
on the fly if necessary. Depending on the OS, it will pass the required boot arguments and start the OS at
it's entry point. The first argument to
bootm
is the memory address (in RAM, ROM or flash memory)
where the image is stored, followed by optional arguments that depend on the OS.
For Linux, exactly one optional argument can be passed. If it is present, it is interpreted as the start address
of a initrd ramdisk image (in RAM, ROM or flash memory). In this case the
bootm
command consists of
three steps: first the Linux kernel image is uncompressed and copied into RAM, then the ramdisk image
is loaded to RAM, and finally controll is passed to the Linux kernel, passing information about the location
and size of the ramdisk image.
To boot a Linux kernel image without a initrd ramdisk image, the following command can be used:
=> bootm $(kernel_addr)
If a ramdisk image is used, type:
=> bootm $(kernel_addr) $(ramdisk_addr)
Both examples imply that the variables used are set to correct addresses for a kernel and a initrd ramdisk
image.
When booting images that have been loaded to RAM (for instance using TFTP download), you have to be
careful that the locations where the (compressed) images were stored do not overlap with the memory
needed to load the uncompressed kernel. For instance, if you load a ramdisk image at a location in low
memory, it may be overwritten when the Linux kernel gets loaded. This will cause undefined system
crashes.