initramfs: Add blockboot plugin and cleanup dependency handling.
authorAlex Osborne <ato@meshy.org>
Fri, 20 Jul 2007 13:24:07 +0000 (13:24 +0000)
committerPaul Sokolovsky <pmiscml@gmail.com>
Fri, 20 Jul 2007 13:24:07 +0000 (13:24 +0000)
packages/images/devimage-image.bb
packages/images/initramfs-image.bb
packages/initrdscripts/files/blockboot.sh [new file with mode: 0644]
packages/initrdscripts/initramfs-module-block_0.1.bb [new file with mode: 0644]
packages/initrdscripts/initramfs-module-loop_0.1.bb
packages/initrdscripts/initramfs-module-nfs_0.1.bb
packages/initrdscripts/initramfs_0.1.bb

index a701301..e817743 100644 (file)
@@ -3,7 +3,7 @@
 # only shell and dropbear are loaded by default.
 # Allows to login via serial and real console or SSH
 LICENSE = "MIT"
-PR = "r2"
+PR = "r2.2"
 
 DEVIMAGE_EXTRA_RDEPENDS ?= ""
 RDEPENDS = "devimage busybox dropbear udev \
index 7728fd8..95e3f84 100644 (file)
@@ -1,19 +1,17 @@
 # Sample initramfs image
 LICENSE = "MIT"
-PR = "r1"
+PR = "r2"
 
-#RDEPENDS = "initramfs-boot busybox kernel-module-uinput uclibc libgcc1"
-RDEPENDS = "initramfs initramfs-module-nfs initramfs-module-loop \
-            busybox-static"
-
-RRECOMENDS = "kernel-module-uinput kernel-module-fat \
-              kernel-module-vfat kernel-module-loop"
+RDEPENDS = "initramfs-module-block initramfs-module-loop initramfs-module-nfs"
 
 export IMAGE_BASENAME = "initramfs-image"
 export IMAGE_LINGUAS = ""
 
 PACKAGE_INSTALL = "${RDEPENDS}"
-# Install only ${PACKAGE_INSTALL}, not even deps
-PACKAGE_INSTALL_NO_DEPS = "1"
+
+# Remove any kernel-image that the kernel-module-* packages may have pulled in.
+PACKAGE_REMOVE = "kernel-image-* update-modules"
+ROOTFS_POSTPROCESS_COMMAND += "ipkg-cl ${IPKG_ARGS} -force-depends \
+                                remove ${PACKAGE_REMOVE};"
 
 inherit image
diff --git a/packages/initrdscripts/files/blockboot.sh b/packages/initrdscripts/files/blockboot.sh
new file mode 100644 (file)
index 0000000..567f7e2
--- /dev/null
@@ -0,0 +1,8 @@
+#!/bin/sh
+# Allow booting from a normal block device.
+
+if [ -e "$ROOT_DEVICE" ]; then
+    echo "booting from: $ROOT_DEVICE"
+    mount "$ROOT_DEVICE" /mnt
+    BOOT_ROOT=/mnt
+fi
diff --git a/packages/initrdscripts/initramfs-module-block_0.1.bb b/packages/initrdscripts/initramfs-module-block_0.1.bb
new file mode 100644 (file)
index 0000000..6f8866d
--- /dev/null
@@ -0,0 +1,10 @@
+SRC_URI = "file://blockboot.sh"
+PR = "r0"
+RDEPENDS = "initramfs"
+DESCRIPTION = "An initramfs module for booting off normal block devices."
+
+do_install() {
+        install -m 0755 ${WORKDIR}/blockboot.sh ${D}/initrd.d/block
+}
+
+FILES_${PN} += " /initrd.d/block "
index ce8f368..259141b 100644 (file)
@@ -1,5 +1,9 @@
 SRC_URI = "file://loopboot.sh"
-PR = "r0"
+PR = "r1"
+DESCRIPTION = "An initramfs module for booting a filesystem image by loopback \
+               mounting it."
+RDEPENDS = "initramfs"
+RRECOMMENDS = "kernel-module-loop kernel-module-vfat"
 
 do_install() {
         install -m 0755 ${WORKDIR}/loopboot.sh ${D}/initrd.d/loop
index 9f4436a..22fddfc 100644 (file)
@@ -1,5 +1,8 @@
 SRC_URI = "file://nfsboot.sh"
-PR = "r1"
+PR = "r2"
+DESCRIPTION = "An initramfs module for booting via NFS."
+RDEPENDS = "initramfs"
+RRECOMMENDS = "kernel-module-g-ether kernel-module-nfs"
 
 do_install() {
         install -m 0755 ${WORKDIR}/nfsboot.sh ${D}/initrd.d/nfs
index c7e44ea..46ba06f 100644 (file)
@@ -1,5 +1,8 @@
 SRC_URI = "file://init.sh"
-PR = "r0"
+PR = "r1"
+DESCRIPTON = "A modular initramfs init script system."
+RDEPENDS = "busybox-static"
+RRECOMMENDS = "kernel-module-uinput"
 
 do_install() {
         install -m 0755 ${WORKDIR}/init.sh ${D}/init