[yocto] [meta-raspberrypi][PATCH V3] Add initramfs support

Sébastien Mennetrier s.mennetrier at innotis.org
Tue Feb 11 08:33:30 PST 2014


Permit to build an image with initramfs.
Add information in README to build with initramfs.

Signed-off-by: Sébastien Mennetrier <s.mennetrier at innotis.org>
---
 README                           | 13 +++++++++++++
 classes/sdcard_image-rpi.bbclass |  7 +++++--
 2 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/README b/README
index fc492c5..daa4059 100644
--- a/README
+++ b/README
@@ -37,6 +37,7 @@ Contents:
     2.F. Optional - Video camera support with V4L2 drivers
     2.G. Images
     2.H. Boot to U-Boot
+    2.I. Image with Initramfs
 3. Extra apps
     3.A. omxplayer
 4. Source code and mirrors
@@ -155,6 +156,18 @@ KERNEL_IMAGETYPE = "uImage"
 This will make kernel.img be u-boot image which will load uImage.
 By default, kernel.img is the actual kernel image (ex. Image).
 
+2.I. Image with Initramfs
+=========================
+To build an initramfs image :
+    * Set this 3 kernel variables (in linux-raspberrypi.inc for example)
+        - kernel_configure_variable BLK_DEV_INITRD y
+        - kernel_configure_variable INITRAMFS_SOURCE ""
+        - kernel_configure_variable RD_GZIP y
+    * Set the yocto variables (in linux-raspberrypi.inc for example)
+        - INITRAMFS_IMAGE = "<a name for your initramfs image>"
+        - INITRAMFS_IMAGE_BUNDLE = "1"
+    * Set the meta-rasberrypi variable (in raspberrypi.conf for example)
+        - KERNEL_INITRAMFS = "-initramfs"
 
 3. Extra apps
 =============
diff --git a/classes/sdcard_image-rpi.bbclass b/classes/sdcard_image-rpi.bbclass
index 179b7b7..eb337dc 100644
--- a/classes/sdcard_image-rpi.bbclass
+++ b/classes/sdcard_image-rpi.bbclass
@@ -26,6 +26,9 @@ inherit image_types
 # Set kernel and boot loader
 IMAGE_BOOTLOADER ?= "bcm2835-bootfiles"
 
+# Set initramfs extension
+KERNEL_INITRAMFS ?= ""
+
 # Boot partition volume id
 BOOTDD_VOLUME_ID ?= "${MACHINE}"
 
@@ -95,10 +98,10 @@ IMAGE_CMD_rpi-sdimg () {
 	case "${KERNEL_IMAGETYPE}" in
 	"uImage")
 	    mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/u-boot.img ::kernel.img
-	    mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}.bin ::uImage
+	    mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}${KERNEL_INITRAMFS}-${MACHINE}.bin ::uImage
 	    ;;
 	*)
-	    mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}.bin ::kernel.img
+	    mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}${KERNEL_INITRAMFS}-${MACHINE}.bin ::kernel.img
 	    ;;
 	esac
 
-- 
1.8.1.2




More information about the yocto mailing list