[oe] [RFC] Fix uImage generation in way compatible with kernel.bbclass
Graeme Gregory
dp at xora.org.uk
Wed Nov 28 11:47:13 UTC 2007
I would like to do the attached patch to linux.inc to change uImage
generation so it is compatible with the way kernel.bbclass does things.
This means the uImage ends up in kernel-image not some random file
called uImage but not really a uImage.
koen said the do_install_prepend stuff was to work around vendor bugs
and is no longer needed in this file.
Thanks
Graeme
-------------- next part --------------
#
# old_revision [1e4ef7149831080d7927cc7ef101deab67fae6d7]
#
# patch "packages/linux/linux.inc"
# from [14e3b9590c6a3ef9334959ab19c1b24b1954b55b]
# to [46987c309dbee09b17a0f857b8163a862cadd4d8]
#
============================================================
--- packages/linux/linux.inc 14e3b9590c6a3ef9334959ab19c1b24b1954b55b
+++ packages/linux/linux.inc 46987c309dbee09b17a0f857b8163a862cadd4d8
@@ -66,7 +66,7 @@ do_configure_prepend() {
-e '/CONFIG_CMDLINE=/d' \
-i ${S}/.config
echo "CONFIG_INET=y" >> ${S}/.config
- echo "CONFIG_IP_PNP=y" >> ${S}/.config
+ echo "CONFIG_IP_PNP=y" >> ${S}/.config
echo "CONFIG_USB_GADGET=y" >> ${S}/.config
echo "CONFIG_USB_GADGET_SELECTED=y" >> ${S}/.config
echo "CONFIG_USB_ETH=y" >> ${S}/.config
@@ -89,22 +89,24 @@ do_sizecheck() {
fi
}
-do_install_prepend() {
- if test -e arch/${ARCH}/boot/Image ; then
- ln -f arch/${ARCH}/boot/Image arch/${ARCH}/boot/uImage
- fi
+UBOOT_ENTRYPOINT ?= "20008000"
- if test -e arch/${ARCH}/boot/images/uImage ; then
- ln -f arch/${ARCH}/boot/images/uImage arch/${ARCH}/boot/uImage
+do_compile_append() {
+ 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_ENTRYPOINT} -e ${UBOOT_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 ${ARCH} -O linux -T kernel -C gzip -a ${UBOOT_ENTRYPOINT} -e ${UBOOT_ENTRYPOINT} -n "${DISTRO_NAME}/${PV}/${MACHINE}" -d linux.bin.gz arch/${ARCH}/boot/uImage
+ rm -f linux.bin.gz
fi
-
- if test -e arch/${ARCH}/kernel/vmlinux.lds ; then
- ln -f arch/${ARCH}/kernel/vmlinux.lds arch/${ARCH}/boot/vmlinux
- fi
+ fi
}
-
-UBOOT_ENTRYPOINT ?= "20008000"
-
+
KERNEL_IMAGE_BASE_NAME = "${KERNEL_IMAGETYPE}-${PV}-${PR}-${MACHINE}-${DATETIME}"
KERNEL_IMAGE_SYMLINK_NAME = "${KERNEL_IMAGETYPE}-${MACHINE}"
@@ -112,24 +114,10 @@ do_deploy() {
install -d ${DEPLOY_DIR_IMAGE}
install -m 0644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGE_BASE_NAME}.bin
tar -cvzf ${DEPLOY_DIR_IMAGE}/modules-${KERNEL_RELEASE}-${PR}-${MACHINE}.tgz -C ${D} lib
-
- 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_ENTRYPOINT} -e ${UBOOT_ENTRYPOINT} -n "${DISTRO_NAME}/${PV}/${MACHINE}" -d linux.bin ${DEPLOY_DIR_IMAGE}/uImage-${PV}-${PR}-${MACHINE}-${DATETIME}.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_ENTRYPOINT} -e ${UBOOT_ENTRYPOINT} -n "${DISTRO_NAME}/${PV}/${MACHINE}" -d linux.bin.gz ${DEPLOY_DIR_IMAGE}/uImage-${PV}-${PR}-${MACHINE}-${DATETIME}.bin
- rm -f linux.bin.gz
- fi
- fi
- cd ${DEPLOY_DIR_IMAGE}
- rm -f ${KERNEL_IMAGE_SYMLINK_NAME}.bin
- ln -sf ${KERNEL_IMAGE_BASE_NAME}.bin ${KERNEL_IMAGE_SYMLINK_NAME}.bin
+ cd ${DEPLOY_DIR_IMAGE}
+ rm -f ${KERNEL_IMAGE_SYMLINK_NAME}.bin
+ ln -sf ${KERNEL_IMAGE_BASE_NAME}.bin ${KERNEL_IMAGE_SYMLINK_NAME}.bin
}
do_deploy[dirs] = "${S}"
More information about the Openembedded-devel
mailing list