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 <[email protected]>
Cc: Richard Purdie <[email protected]>
Cc: Koen Kooi <[email protected]>
Cc: Paul Eggleton <[email protected]>
Cc: Ross Burton <[email protected]>
Cc: Bruce Ashfield <[email protected]>
---
 meta/classes/kernel.bbclass | 32 +++++++++++++++++++++-----------
 1 file changed, 21 insertions(+), 11 deletions(-)

diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
index 75bfd76..e85e73b 100644
--- a/meta/classes/kernel.bbclass
+++ b/meta/classes/kernel.bbclass
@@ -435,22 +435,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
 }
-- 
2.1.4

-- 
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to