Topic UBootBuilding not in WebOrder Building
The following command builds the U-Boot images:
bash$ make all
The result of this command is the U-Boot image in several binary
file formats:
- u-boot: is in
ELF
format which is used and understood by many
debuggers and other tools.
- u-boot.bin: is a raw binary image which is also acceptable by
many tools. It is especially useful to install a new version
of U-Boot when U-Boot and/or Linux are already running on your
target.
- u-boot.srec: is the same image in Motorola
S-Record
format
which is especially useful for download over a serial port,
for instance using the cu
command.
U-Boot uses a special format for images like Linux kernel or
ramdisks. This serves the following purposes:
- The images are protected by a CRC32 checksum, so that it is
easy to detect corrupted files.
- There is no need for a special bootstrap loader within the Linux
kernel, since all necessary functions are provided by U-Boot
directly. This makes it much easier to port Linux to new hardware
and saves about 10...15% of the Linux kernel image memory
footprint.
- Instead of defining a default configuration for your target
(things like console baudrate, boot arguments, network
configuration) at Linux kernel compile time, such parameters are
now passed by U-Boot, so that the same Linux kernel image can be
used on many targets which need different default configurations.
- When using a ramdisk image, it is no longer necessary to link
Linux kernel and ramdisk into one image. Instead you can now use
the same Linux kernel with several ramdisk images, or with root
filesystem over NFS or on a harddisk partition; or you can keep
one version of your ramdisk image (which is known to work) and
use this with different versions of the Linux kernel. Especially
when you have to deal with field upgradable systems this allows
for more powerful and reliable upgrade concepts.
When running the
make all
command this also builds
the
mkimage
tool (in
tools/mkimage) which is needed to create
the image format used by U-Boot.
It is recommended that you copy this file into one of the directories
in your
PATH
, for instance into the directory with
all the other cross development tools:
/opt/eldk/usr/bin.