diff options
author | Marek Vasut <marex@denx.de> | 2015-05-14 14:31:07 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-05-26 10:57:40 +0100 |
commit | 63e3816b161f8659850d6123a53bdf128780e13d (patch) | |
tree | 11faf24ba3c3f991503c38c7799206c3bda481e7 | |
parent | a1690131691507bbf5853540229b3ad775b836bf (diff) | |
download | openembedded-core-63e3816b161f8659850d6123a53bdf128780e13d.tar.gz openembedded-core-63e3816b161f8659850d6123a53bdf128780e13d.tar.bz2 openembedded-core-63e3816b161f8659850d6123a53bdf128780e13d.zip |
kernel: Rework do_uboot_mkimage
Rework the function so part it's internals can be re-used by fitImage
image type. The name of the temporary file , linux.bin , is recycled
a little more as it's now used for both the case where it is gzip
compressed and where it is not. This should be fine, since the file
is temporary and removed after the uImage was created anyway.
There is no functional change here.
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Richard Purdie <richard.purdie@linuxfoundation.org>
Cc: Koen Kooi <koen@dominion.thruhere.net>
Cc: Paul Eggleton <paul.eggleton@linux.intel.com>
Cc: Ross Burton <ross.burton@intel.com>
Cc: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/classes/kernel.bbclass | 32 |
1 files changed, 21 insertions, 11 deletions
diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass index 1782473181..ca1426cd88 100644 --- a/meta/classes/kernel.bbclass +++ b/meta/classes/kernel.bbclass @@ -440,22 +440,32 @@ MODULE_TARBALL_DEPLOY ?= "1" do_uboot_mkimage() { if test "x${KERNEL_IMAGETYPE}" = "xuImage" ; then if test "x${KEEPUIMAGE}" != "xyes" ; then + if test -e arch/${ARCH}/boot/compressed/vmlinux ; then + vmlinux_path="arch/${ARCH}/boot/compressed/vmlinux" + linux_suffix="" + linux_comp="none" + else + vmlinux_path="vmlinux" + linux_suffix=".gz" + linux_comp="gzip" + fi + + ${OBJCOPY} -O binary -R .note -R .comment -S "${vmlinux_path}" linux.bin + + if [ "${linux_comp}" != "none" ] ; then + rm -f linux.bin + gzip -9 linux.bin + mv -f "linux.bin${linux_suffix}" linux.bin + fi + ENTRYPOINT=${UBOOT_ENTRYPOINT} if test -n "${UBOOT_ENTRYSYMBOL}"; then ENTRYPOINT=`${HOST_PREFIX}nm ${S}/vmlinux | \ awk '$3=="${UBOOT_ENTRYSYMBOL}" {print $1}'` fi - if test -e arch/${ARCH}/boot/compressed/vmlinux ; then - ${OBJCOPY} -O binary -R .note -R .comment -S arch/${ARCH}/boot/compressed/vmlinux linux.bin - uboot-mkimage -A ${UBOOT_ARCH} -O linux -T kernel -C none -a ${UBOOT_LOADADDRESS} -e $ENTRYPOINT -n "${DISTRO_NAME}/${PV}/${MACHINE}" -d linux.bin arch/${ARCH}/boot/uImage - rm -f linux.bin - else - ${OBJCOPY} -O binary -R .note -R .comment -S vmlinux linux.bin - rm -f linux.bin.gz - gzip -9 linux.bin - uboot-mkimage -A ${UBOOT_ARCH} -O linux -T kernel -C gzip -a ${UBOOT_LOADADDRESS} -e $ENTRYPOINT -n "${DISTRO_NAME}/${PV}/${MACHINE}" -d linux.bin.gz arch/${ARCH}/boot/uImage - rm -f linux.bin.gz - fi + + uboot-mkimage -A ${UBOOT_ARCH} -O linux -T kernel -C "${linux_comp}" -a ${UBOOT_LOADADDRESS} -e $ENTRYPOINT -n "${DISTRO_NAME}/${PV}/${MACHINE}" -d linux.bin arch/${ARCH}/boot/uImage + rm -f linux.bin fi fi } |