I would like to benchmark the performance of booting using uncompress kernel. I am using yocto guide from NXP and currently my kernel version is 4.9.11. By default, the yocto system generated zImage.
In the yocto build system below path, i found the file name 'Image'
yocto/build-fb/tmp/work/imx6ull14x14evk-poky-linux-gnueabi/linux-imx/4.9.11-r0/build/arch/arm/boot
I use uboot-image to convert this file into uImage file with the following command:
uboot-mkimage -A arm -O linux -T kernel -C none -a 80800000 -e 80800000 -n myuImage -d Image uImage
When I boot uImage file, the boot up process stop at 'Starting kernel ...'
My Uboot command as below:
run mmcargs; run loadfdt; fatload mmc 1 0x80800000 uImage (from SD)bootm 0x80800000 - 0x83000000
Console output as below:
17350720 bytes read in 766 ms (21.6 MiB/s) => bootm 0x80800000 - 0x83000000 ## Booting kernel from Legacy Image at 80800000 ... Image Name: myuImage Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 17350656 Bytes = 16.5 MiB Load Address: 80800000 Entry Point: 80800000 Verifying Checksum ... OK ## Flattened Device Tree blob at 83000000 Booting using the fdt blob at 0x83000000 Loading Kernel Image ... OK Using Device Tree in place at 83000000, end 8300be5d Modify /soc/aips-bus@02200000/epdc@0228c000:status disabled ft_system_setup for mx6 Starting kernel ...
已解决! 转到解答。
Hi Igor,
Thanks for the feedback. Additional reference from this link.
Below command is working well.
$ mkimage -A arm -O linux -T kernel -C none -a 0x80008000 -e 0x80008000 -n 'Linux' -d arch/arm/boot/Image arch/arm/boot/uImage
Hi tk
one can look on
linux - Why using a uImage instead of a zImage - Stack Overflow
and post it on kernel mail list as this is general linux question.
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi Igor,
Thanks for the feedback. Additional reference from this link.
Below command is working well.
$ mkimage -A arm -O linux -T kernel -C none -a 0x80008000 -e 0x80008000 -n 'Linux' -d arch/arm/boot/Image arch/arm/boot/uImage