[oe-commits] org.oe.dev kernel-initramfs: A recipe to build a kernel with linked in initramfs.

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


kernel-initramfs: A recipe to build a kernel with linked in initramfs.
* First builds ${KERNEL_INITRAMFS} in cpio.gz format, then stuffs it into
kernel as specified by virtual/kernel, deploys to deploy dir, and packages
kernel-image (the package would overrite previously built kernel-image
package w/o initramfs, so caveat).
* kernel-image packaing actually requires PKGPV/PKGPR support, to be RFCed.

Author: pfalcon at openembedded.org
Branch: org.openembedded.dev
Revision: 5a8c2a2330d46aac768d52f881486817fce472bb
ViewMTN: http://monotone.openembedded.org/revision/info/5a8c2a2330d46aac768d52f881486817fce472bb
Files:
1
packages/initrdscripts/kernel-initramfs_1.0.bb
Diffs:

#
# mt diff -rbe2891a8c5d8c2767cd3e574165af413f0ac1d0e -r5a8c2a2330d46aac768d52f881486817fce472bb
#
# 
# 
# add_file "packages/initrdscripts/kernel-initramfs_1.0.bb"
#  content [349b1a158cd6e3c05eab0efe1dd9e719b8d22f13]
# 
============================================================
--- packages/initrdscripts/kernel-initramfs_1.0.bb	349b1a158cd6e3c05eab0efe1dd9e719b8d22f13
+++ packages/initrdscripts/kernel-initramfs_1.0.bb	349b1a158cd6e3c05eab0efe1dd9e719b8d22f13
@@ -0,0 +1,48 @@
+DESCRIPTION = "A kernel with internal initramfs"
+PR = "r1"
+
+#inherit kernel
+KERNEL_IMAGETYPE ?= "zImage"
+
+# Name of initramfs recipe to build and put result into kernel
+KERNEL_INITRAMFS ?= "initramfs-image"
+
+do_compile() {
+	cd ${TOPDIR}; DISTRO=${USERDISTRO} MACHINE=${MACHINE} ANGSTROM_MODE=uclibc IMAGE_FSTYPES=cpio.gz DEPLOY_TO=${WORKDIR}/initramfs.bin bitbake ${KERNEL_INITRAMFS} -c deploy_to
+	cd ${TOPDIR}; DISTRO=${USERDISTRO} MACHINE=${MACHINE} INITRAMFS_LOC=${WORKDIR}/initramfs.bin DEPLOY_TO=${WORKDIR}/\${KERNEL_IMAGE_BASE_NAME} bitbake virtual/kernel -c builtin_initramfs
+}
+
+do_install() {
+        install -d ${D}/boot/
+	install -m 644 ${WORKDIR}/${KERNEL_IMAGETYPE}* ${D}/boot/${KERNEL_IMAGETYPE}-${@get_pv(d)}
+}
+
+def get_version(d):
+	import bb
+	import os
+	dest = bb.data.getVar("WORKDIR", d, 1)
+	try:
+	    files = os.listdir(dest)
+	    files = filter(lambda f:f.startswith("zImage-"), files)
+	    ver = files[0][len("zImage-"):]
+	    return ver
+	except:
+	    return "dum-m-y"
+
+def get_pv(d):
+	ver = get_version(d)
+	verc = ver.split("-")
+	return verc[0] + "-" + verc[1]
+	
+def get_pr(d):
+	ver = get_version(d)
+	verc = ver.split("-")
+	return verc[2]
+
+PACKAGES = "kernel-image"
+FILES_kernel-image = "/boot/*"
+PKG_kernel-image = "kernel-image-${@get_pv(d)}"
+PKGPV_kernel-image = "${@get_pv(d)}"
+PKGPR_kernel-image = "${@get_pr(d)}"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"






More information about the Openembedded-commits mailing list