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 <ma...@denx.de>
---
 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 6ed1cb7..2e2b1fe 100644
--- a/meta/classes/kernel.bbclass
+++ b/meta/classes/kernel.bbclass
@@ -447,22 +447,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.0.1

-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to