From 4dbe593fa51cf0286431c13f78c7a769efb10ff7 Mon Sep 17 00:00:00 2001 From: Alex Osborne Date: Fri, 20 Jul 2007 13:24:07 +0000 Subject: initramfs: Add blockboot plugin and cleanup dependency handling. --- packages/images/devimage-image.bb | 2 +- packages/images/initramfs-image.bb | 16 +++++++--------- packages/initrdscripts/files/blockboot.sh | 8 ++++++++ packages/initrdscripts/initramfs-module-block_0.1.bb | 10 ++++++++++ packages/initrdscripts/initramfs-module-loop_0.1.bb | 6 +++++- packages/initrdscripts/initramfs-module-nfs_0.1.bb | 5 ++++- packages/initrdscripts/initramfs_0.1.bb | 5 ++++- 7 files changed, 39 insertions(+), 13 deletions(-) create mode 100644 packages/initrdscripts/files/blockboot.sh create mode 100644 packages/initrdscripts/initramfs-module-block_0.1.bb (limited to 'packages') diff --git a/packages/images/devimage-image.bb b/packages/images/devimage-image.bb index a70130180c..e8177433be 100644 --- a/packages/images/devimage-image.bb +++ b/packages/images/devimage-image.bb @@ -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 \ diff --git a/packages/images/initramfs-image.bb b/packages/images/initramfs-image.bb index 7728fd80ae..95e3f84082 100644 --- a/packages/images/initramfs-image.bb +++ b/packages/images/initramfs-image.bb @@ -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 index 0000000000..567f7e29b3 --- /dev/null +++ b/packages/initrdscripts/files/blockboot.sh @@ -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 index 0000000000..6f8866da6c --- /dev/null +++ b/packages/initrdscripts/initramfs-module-block_0.1.bb @@ -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 " diff --git a/packages/initrdscripts/initramfs-module-loop_0.1.bb b/packages/initrdscripts/initramfs-module-loop_0.1.bb index ce8f368c5a..259141b392 100644 --- a/packages/initrdscripts/initramfs-module-loop_0.1.bb +++ b/packages/initrdscripts/initramfs-module-loop_0.1.bb @@ -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 diff --git a/packages/initrdscripts/initramfs-module-nfs_0.1.bb b/packages/initrdscripts/initramfs-module-nfs_0.1.bb index 9f4436a26b..22fddfcdf2 100644 --- a/packages/initrdscripts/initramfs-module-nfs_0.1.bb +++ b/packages/initrdscripts/initramfs-module-nfs_0.1.bb @@ -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 diff --git a/packages/initrdscripts/initramfs_0.1.bb b/packages/initrdscripts/initramfs_0.1.bb index c7e44eae22..46ba06ff9a 100644 --- a/packages/initrdscripts/initramfs_0.1.bb +++ b/packages/initrdscripts/initramfs_0.1.bb @@ -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 -- cgit v1.2.3