mirror of
https://git.yoctoproject.org/poky
synced 2026-02-05 16:28:43 +01:00
Commit e69525: "kernel: Build uImage only when really needed" hardcoded target kernel image to zImage for case if uImage is generated by OpenEmbedded buildsystem. However not all kernel architectures support zImage target, for example AArch64 doesn't, so building of kernel is failing on this step. So instead of building zImage target that may not exist for many architectures, build vmlinux target that exists for all architectures. Since kernel-uboot.bbclass uses vmlinux anyway for creating image, there is no side effect on this change. (From OE-Core rev: ac5d4d42a5903cbcafd7247c282df1cb98f79f08) (From OE-Core rev: 4b85501f4713ec1b7f54f2d3728f63cda32b5164) Signed-off-by: Ruslan Bilovol <rbilovol@cisco.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Armin Kuster <akuster@mvista.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
37 lines
1.2 KiB
Plaintext
37 lines
1.2 KiB
Plaintext
inherit kernel-uboot
|
|
|
|
python __anonymous () {
|
|
kerneltype = d.getVar('KERNEL_IMAGETYPE', True)
|
|
if kerneltype == 'uImage':
|
|
depends = d.getVar("DEPENDS", True)
|
|
depends = "%s u-boot-mkimage-native" % depends
|
|
d.setVar("DEPENDS", depends)
|
|
|
|
# Override KERNEL_IMAGETYPE_FOR_MAKE variable, which is internal
|
|
# to kernel.bbclass . We override the variable here, since we need
|
|
# to build uImage using the kernel build system if and only if
|
|
# KEEPUIMAGE == yes. Otherwise, we pack compressed vmlinux into
|
|
# the uImage .
|
|
if d.getVar("KEEPUIMAGE", True) != 'yes':
|
|
d.setVar("KERNEL_IMAGETYPE_FOR_MAKE", "vmlinux")
|
|
}
|
|
|
|
do_uboot_mkimage() {
|
|
if test "x${KERNEL_IMAGETYPE}" = "xuImage" ; then
|
|
if test "x${KEEPUIMAGE}" != "xyes" ; then
|
|
uboot_prep_kimage
|
|
|
|
ENTRYPOINT=${UBOOT_ENTRYPOINT}
|
|
if test -n "${UBOOT_ENTRYSYMBOL}"; then
|
|
ENTRYPOINT=`${HOST_PREFIX}nm ${S}/vmlinux | \
|
|
awk '$3=="${UBOOT_ENTRYSYMBOL}" {print $1}'`
|
|
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
|
|
}
|
|
|
|
addtask uboot_mkimage before do_install after do_compile
|