[oe-commits] org.oe.dev kernel.bbclass: Add satndalone task "builtin_initramfs".

pfalcon commit openembedded-commits at lists.openembedded.org
Fri Feb 15 16:51:34 UTC 2008


kernel.bbclass: Add satndalone task "builtin_initramfs".
* Builds a zImage with linked in initramfs specified by INITRAMFS_LOC param.

Author: pfalcon at openembedded.org
Branch: org.openembedded.dev
Revision: be2891a8c5d8c2767cd3e574165af413f0ac1d0e
ViewMTN: http://monotone.openembedded.org/revision/info/be2891a8c5d8c2767cd3e574165af413f0ac1d0e
Files:
1
classes/kernel.bbclass
Diffs:

#
# mt diff -r12c11447ebe6636a34499f6597e6a9629cca0d23 -rbe2891a8c5d8c2767cd3e574165af413f0ac1d0e
#
# 
# 
# patch "classes/kernel.bbclass"
#  from [c1ba23ede74eda992c8e621d047fa3f982ea6506]
#    to [6eb314eeb40f044c37be9df698f02b9c149aa6f8]
# 
============================================================
--- classes/kernel.bbclass	c1ba23ede74eda992c8e621d047fa3f982ea6506
+++ classes/kernel.bbclass	6eb314eeb40f044c37be9df698f02b9c149aa6f8
@@ -11,6 +11,10 @@ KERNEL_IMAGETYPE ?= "zImage"
 export OS = "${TARGET_OS}"
 export CROSS_COMPILE = "${TARGET_PREFIX}"
 KERNEL_IMAGETYPE ?= "zImage"
+# Base filename under which users see built kernel (i.e. deploy name)
+KERNEL_IMAGE_BASE_NAME = "${KERNEL_IMAGETYPE}-${PV}-${PR}-${MACHINE}"
+# Symlink  basename pointing to the most recently built kernel for a machine
+KERNEL_IMAGE_SYMLINK_NAME = "${KERNEL_IMAGETYPE}-${MACHINE}" 
 
 KERNEL_PRIORITY = "${@bb.data.getVar('PV',d,1).split('-')[0].split('.')[-1]}"
 
@@ -30,6 +34,7 @@ KERNEL_LD = "${LD}${KERNEL_LDSUFFIX} ${H
 KERNEL_CC = "${CCACHE}${HOST_PREFIX}gcc${KERNEL_CCSUFFIX} ${HOST_CC_KERNEL_ARCH}"
 KERNEL_LD = "${LD}${KERNEL_LDSUFFIX} ${HOST_LD_KERNEL_ARCH}"
 
+# Where built kernel lies in the kernel tree
 KERNEL_OUTPUT = "arch/${ARCH}/boot/${KERNEL_IMAGETYPE}"
 KERNEL_IMAGEDEST = "boot"
 
@@ -60,6 +65,22 @@ kernel_do_compile() {
 	fi
 }
 
+do_builtin_initramfs() {
+	unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE
+	cp "${INITRAMFS_LOC}" usr/initramfs_data.cpio.gz
+	oe_runmake ${KERNEL_IMAGETYPE} CC="${KERNEL_CC}" LD="${KERNEL_LD}"
+	install -d ${DEPLOY_DIR_IMAGE}
+	mv ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGE_BASE_NAME}.bin ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGE_BASE_NAME}.no-initramfs.bin
+	install -m 0644 ${KERNEL_OUTPUT} ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGE_BASE_NAME}.bin
+	# Make sure to kill injected initramfs, in case someone will do "-c compile -f"
+	rm usr/initramfs_data.cpio.gz
+
+	[ -n "${DEPLOY_TO}" ] && install -m 0644 ${KERNEL_OUTPUT} ${DEPLOY_TO}
+}
+addtask builtin_initramfs after do_compile
+# As it accepts external parameter(s), better make it unstamped
+do_builtin_initramfs[nostamp] = "1"
+
 kernel_do_stage() {
 	ASMDIR=`readlink include/asm`
 






More information about the Openembedded-commits mailing list