mirror of
git://git.yoctoproject.org/poky.git
synced 2025-07-19 21:09:03 +02:00

Since 5c72105e29 ("kernel-uboot: allow compression option to be configurable") it is possible to select kernel compression method, however the resulting image is always compressed with gzip, so selecting any other method than gzip results in unbootable images. Add support for lzo for starters, since that is fast to decompress and useful in low boot time scenarios. Note that we should likely add some check for unsupported compression methods. We should also add dependency on lzop-native I think. (From OE-Core rev: f1257d61b76d027d4ece734439993b6bf4e48907) Signed-off-by: Marek Vasut <marex@denx.de> Cc: Richard Purdie <richard.purdie@linuxfoundation.org> Cc: Sinan Kaya <okaya@kernel.org> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
35 lines
921 B
Plaintext
35 lines
921 B
Plaintext
# fitImage kernel compression algorithm
|
|
FIT_KERNEL_COMP_ALG ?= "gzip"
|
|
FIT_KERNEL_COMP_ALG_EXTENSION ?= ".gz"
|
|
|
|
uboot_prep_kimage() {
|
|
if [ -e arch/${ARCH}/boot/compressed/vmlinux ]; then
|
|
vmlinux_path="arch/${ARCH}/boot/compressed/vmlinux"
|
|
linux_suffix=""
|
|
linux_comp="none"
|
|
elif [ -e arch/${ARCH}/boot/vmlinuz.bin ]; then
|
|
rm -f linux.bin
|
|
cp -l arch/${ARCH}/boot/vmlinuz.bin linux.bin
|
|
vmlinux_path=""
|
|
linux_suffix=""
|
|
linux_comp="none"
|
|
else
|
|
vmlinux_path="vmlinux"
|
|
linux_suffix="${FIT_KERNEL_COMP_ALG_EXTENSION}"
|
|
linux_comp="${FIT_KERNEL_COMP_ALG}"
|
|
fi
|
|
|
|
[ -n "${vmlinux_path}" ] && ${OBJCOPY} -O binary -R .note -R .comment -S "${vmlinux_path}" linux.bin
|
|
|
|
if [ "${linux_comp}" != "none" ] ; then
|
|
if [ "${linux_comp}" = "gzip" ] ; then
|
|
gzip -9 linux.bin
|
|
elif [ "${linux_comp}" = "lzo" ] ; then
|
|
lzop -9 linux.bin
|
|
fi
|
|
mv -f "linux.bin${linux_suffix}" linux.bin
|
|
fi
|
|
|
|
echo "${linux_comp}"
|
|
}
|