aboutsummaryrefslogtreecommitdiffstats
path: root/classes
diff options
context:
space:
mode:
authorJeremy Laine <jeremy.laine@m4x.org>2008-03-28 17:58:27 +0000
committerJeremy Laine <jeremy.laine@m4x.org>2008-03-28 17:58:27 +0000
commit333f21244423f90d12facbb34376b2a6a4ec125f (patch)
tree2cb567bbba7e10f348885c4018a8d1c5c95484d2 /classes
parente71991698d74fe738094be8f9a4a73b4e5cd8c51 (diff)
downloadopenembedded-333f21244423f90d12facbb34376b2a6a4ec125f.tar.gz
openembedded-333f21244423f90d12facbb34376b2a6a4ec125f.tar.bz2
openembedded-333f21244423f90d12facbb34376b2a6a4ec125f.zip
kernel.bbclass: fix generation of uImage on powerpc platforms
* add a map_uboot_arch function to kernel.bbclass which changes "powerpc" to "ppc" and export UBOOT_ARCH * pass -A ${UBOOT_ARCH} instead of -A ${ARCH} to mkimage in kernel.bbclass
Diffstat (limited to 'classes')
-rw-r--r--classes/kernel-arch.bbclass8
-rw-r--r--classes/kernel.bbclass4
2 files changed, 10 insertions, 2 deletions
diff --git a/classes/kernel-arch.bbclass b/classes/kernel-arch.bbclass
index 5e5d9a94a8..2ce0f9727d 100644
--- a/classes/kernel-arch.bbclass
+++ b/classes/kernel-arch.bbclass
@@ -30,3 +30,11 @@ def map_kernel_arch(a, d):
bb.error("cannot map '%s' to a linux kernel architecture" % a)
export ARCH = "${@map_kernel_arch(bb.data.getVar('TARGET_ARCH', d, 1), d)}"
+
+def map_uboot_arch(a, d):
+ if a == "powerpc":
+ return "ppc"
+ return a
+
+export UBOOT_ARCH = "${@map_uboot_arch(bb.data.getVar('ARCH', d, 1), d)}"
+
diff --git a/classes/kernel.bbclass b/classes/kernel.bbclass
index 06ae2466ea..a733c7963c 100644
--- a/classes/kernel.bbclass
+++ b/classes/kernel.bbclass
@@ -475,13 +475,13 @@ do_deploy() {
if test "x${KERNEL_IMAGETYPE}" = "xuImage" ; then
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 ${ARCH} -O linux -T kernel -C none -a ${UBOOT_LOADADDRESS} -e ${UBOOT_ENTRYPOINT} -n "${DISTRO_NAME}/${PV}/${MACHINE}" -d linux.bin ${DEPLOY_DIR_IMAGE}/uImage-${PV}-${PR}-${MACHINE}.bin
+ uboot-mkimage -A ${UBOOT_ARCH} -O linux -T kernel -C none -a ${UBOOT_LOADADDRESS} -e ${UBOOT_ENTRYPOINT} -n "${DISTRO_NAME}/${PV}/${MACHINE}" -d linux.bin ${DEPLOY_DIR_IMAGE}/uImage-${PV}-${PR}-${MACHINE}.bin
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 ${ARCH} -O linux -T kernel -C gzip -a ${UBOOT_LOADADDRESS} -e ${UBOOT_ENTRYPOINT} -n "${DISTRO_NAME}/${PV}/${MACHINE}" -d linux.bin.gz ${DEPLOY_DIR_IMAGE}/uImage-${PV}-${PR}-${MACHINE}.bin
+ uboot-mkimage -A ${UBOOT_ARCH} -O linux -T kernel -C gzip -a ${UBOOT_LOADADDRESS} -e ${UBOOT_ENTRYPOINT} -n "${DISTRO_NAME}/${PV}/${MACHINE}" -d linux.bin.gz ${DEPLOY_DIR_IMAGE}/uImage-${PV}-${PR}-${MACHINE}.bin
rm -f linux.bin.gz
fi
package_stagefile_shell ${DEPLOY_DIR_IMAGE}/uImage-${PV}-${PR}-${MACHINE}.bin