[OE-core] [meta][pyro][PATCHv2] Fix some issues in the fitImage generation
Thomas Perrot
thomas.perrot at tupi.fr
Fri Oct 20 09:47:09 UTC 2017
- Bad image type replacement for aarch64
- Fix DTB path in fitimage.its
- Ignore fitImage type in do_bundle_initramfs task because the packaging is made by do_assemble_fitimage_initramfs
- the images for arm64 are not compressed the linux_comp variable must therefore be none
Signed-off-by: Thomas Perrot <thomas.perrot at tupi.fr>
---
meta/classes/kernel-fitimage.bbclass | 6 +++++-
meta/classes/kernel-uboot.bbclass | 11 ++++++++---
meta/classes/kernel.bbclass | 4 +++-
3 files changed, 16 insertions(+), 5 deletions(-)
diff --git a/meta/classes/kernel-fitimage.bbclass b/meta/classes/kernel-fitimage.bbclass
index 2630b47316..abbc309b09 100644
--- a/meta/classes/kernel-fitimage.bbclass
+++ b/meta/classes/kernel-fitimage.bbclass
@@ -7,8 +7,11 @@ python __anonymous () {
depends = "%s u-boot-mkimage-native dtc-native" % depends
d.setVar("DEPENDS", depends)
- if d.getVar("UBOOT_ARCH") == "x86":
+ uarch = d.getVar("UBOOT_ARCH")
+ if uarch == "x86":
replacementtype = "bzImage"
+ elif uarch == "arm64":
+ replacementtype = "Image"
else:
replacementtype = "zImage"
@@ -351,6 +354,7 @@ fitimage_assemble() {
DTB_PATH="arch/${ARCH}/boot/${DTB}"
fi
+ DTB=$(echo "${DTB}" | tr '/' '_')
DTBS="${DTBS} ${DTB}"
fitimage_emit_section_dtb ${1} ${DTB} ${DTB_PATH}
done
diff --git a/meta/classes/kernel-uboot.bbclass b/meta/classes/kernel-uboot.bbclass
index 868e97d7a7..940f91d90e 100644
--- a/meta/classes/kernel-uboot.bbclass
+++ b/meta/classes/kernel-uboot.bbclass
@@ -1,12 +1,17 @@
uboot_prep_kimage() {
- if [ -e arch/${ARCH}/boot/compressed/vmlinux ]; then
+ if [ -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"
+ if [ "${ARCH}" = "arm64" ] ; then
+ linux_suffix=""
+ linux_comp="none"
+ else
+ linux_suffix=".gz"
+ linux_comp="gzip"
+ fi
fi
${OBJCOPY} -O binary -R .note -R .comment -S "${vmlinux_path}" linux.bin
diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
index ce2cab65ae..14677ac0fc 100644
--- a/meta/classes/kernel.bbclass
+++ b/meta/classes/kernel.bbclass
@@ -219,7 +219,9 @@ do_bundle_initramfs () {
# Backing up kernel image relies on its type(regular file or symbolic link)
tmp_path=""
for type in ${KERNEL_IMAGETYPES} ; do
- if [ -h ${KERNEL_OUTPUT_DIR}/$type ] ; then
+ if [ "$type" = "fitImage" ] ; then
+ continue
+ elif [ -h ${KERNEL_OUTPUT_DIR}/$type ] ; then
linkpath=`readlink -n ${KERNEL_OUTPUT_DIR}/$type`
realpath=`readlink -fn ${KERNEL_OUTPUT_DIR}/$type`
mv -f $realpath $realpath.bak
--
2.13.6
More information about the Openembedded-core
mailing list