]> code.ossystems Code Review - openembedded-core.git/commitdiff
kernel: Rework do_uboot_mkimage
authorMarek Vasut <marex@denx.de>
Thu, 14 May 2015 12:31:07 +0000 (14:31 +0200)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 26 May 2015 09:57:40 +0000 (10:57 +0100)
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>
meta/classes/kernel.bbclass

index 178247318109e63fd66270a878a306350ca17cf6..ca1426cd88f2370d293be20970305f36ee96ff5a 100644 (file)
@@ -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
 }