
bin/bash /home/mike/linux/scripts/mkuboot.sh -A arm -O linux -T kernel -C none -a 0x80008000 -e 0x80008000 -n 'Linux-3.3.4-g4f262ac' -d arch/arm/boot/zImage arch/arm/boot/uImage To do this without having to guess the right mkimage parameters, I recommend to run make V=1 uImage once: Therefore, you have to create the uImage by invoking the mkimage command manually. That’s because Linux on ARM has no configuration option to keep the kernel uncompressed, and the uImage file would contain a compressed kernel. However, if you use U-boot, you still need to put this image in a uImage container, to let U-boot know about details such as how big the image is, what its entry point is, whether it is compressed or not… The problem is you can’t run make uImage any more to produce this container. The file that you need is arch/arm/boot/Image.ĭepending on the bootloader that you use, this could be sufficient. To generate your uncompressed kernel image, all you have to do is run the usual make command. Note that with such hardware emulators, copying the kernel image to RAM is cheap, as it is done by the emulator from a file given by the user, before starting to emulate the system.īuilding a kernel image with no compression on ARM is easy, but only once you know where the uncompressed image is and what to do! For people who have never done that before, I’m sharing quick instructions here. At this clock frequency, booting a kernel image with no compression saves several minutes of boot time, reducing development and test time. For example, I saw a Cortex A15 chip boot at 11 MHz during Linaro Connect Q2.11 in Budapest. The typical case is booting CPUs emulated by FPGA, during processor development, before the final silicon is out.

This is useful for systems with a very slow CPU, or very little RAM to store both the compressed and uncompressed images during the boot phase. Though the kernel image is bigger, and takes more time to copy from storage to RAM, the kernel image no longer has to be decompressed to RAM. It is sometimes useful to boot a kernel image with no compression. This is a quick post to share my experience booting uncompressed Linux kernel images, during the benchmarks of kernel compression options, and no compression at all was one of these options.
#U boot linux how to#
Author Alexandre Belloni Posted on JJCategories Technical Tags atmel, barebox, boot time, bootloader, kernel, u-boot 8 Comments on Starting Linux directly from AT91bootstrap3 How to boot an uncompressed Linux kernel on ARM The main reason is that barebox is actually enabling the caches and decompresses the kernel(see below, the kernel is also enaling the caches before decompressing itself) before booting. On our benchmarks, booting the SAMA5D31-EK using AT91bootstrap, then Barebox was faster than just using AT91bootstrap. It has the same storage layout as used in the u-boot strategy so you can flash it and it will work.Īs a last note, I’ll had that less is not always faster. You’ll end up with a file named at91sama5d3xek-nandflashboot-linux-dt-3.5.4.bin in the binaries/ folder. Let’s take for example the latest evaluation boards from ATMEL, the SAMA5D3x-EK.
#U boot linux android#
#U boot linux update#
Here is an update for our previous article on booting linux directly from AT91bootstrap.
