Pages

2010-09-21

Linux: Creating Linux Kernel U-Boot Images


To make a U-Boot image file containing the Elf binary vmlinux kernel file, it is first required to use objcopy to get the raw binary data, followed by the mkimage tool to encapsulate it (as a .ub file). In this example the kernel is also compressed to save space (this is recommended, but not necessary).  

$ arm-linux-objcopy -O binary vmlinux arm-vmlinux.bin
$ gzip --best --force arm-vmlinux.bin
$ mkimage -A arm -O linux -T kernel -C gzip -a 0x8C001000 -e 0x8C002000\ -n "ARM Linux 2.6" -d arm-vmlinux.bin.gz arm-vmlinux.ub

The addresses for the two parameters -a (load address) and -e (execute address) depend of the specific target board that is being used.

And if we want also to make an INITRD image we do -T ramdisk

No comments:

Post a Comment