1SUMMARY = "Modular initramfs system" 2LICENSE = "MIT" 3LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" 4RDEPENDS:${PN} += "${VIRTUAL-RUNTIME_base-utils}" 5RRECOMMENDS:${PN} = "${VIRTUAL-RUNTIME_base-utils-syslog}" 6 7 8inherit allarch 9 10SRC_URI = "file://init \ 11 file://exec \ 12 file://nfsrootfs \ 13 file://rootfs \ 14 file://finish \ 15 file://mdev \ 16 file://udev \ 17 file://e2fs \ 18 file://debug \ 19 file://lvm \ 20 file://overlayroot \ 21 " 22 23S = "${WORKDIR}/sources" 24UNPACKDIR = "${S}" 25 26do_install() { 27 install -d ${D}/init.d 28 29 # base 30 install -m 0755 ${S}/init ${D}/init 31 install -m 0755 ${S}/nfsrootfs ${D}/init.d/85-nfsrootfs 32 install -m 0755 ${S}/rootfs ${D}/init.d/90-rootfs 33 install -m 0755 ${S}/finish ${D}/init.d/99-finish 34 35 # exec 36 install -m 0755 ${S}/exec ${D}/init.d/89-exec 37 38 # mdev 39 install -m 0755 ${S}/mdev ${D}/init.d/01-mdev 40 41 # udev 42 install -m 0755 ${S}/udev ${D}/init.d/01-udev 43 44 # e2fs 45 install -m 0755 ${S}/e2fs ${D}/init.d/10-e2fs 46 47 # debug 48 install -m 0755 ${S}/debug ${D}/init.d/00-debug 49 50 # lvm 51 install -m 0755 ${S}/lvm ${D}/init.d/09-lvm 52 53 # overlayroot needs to run after rootfs module but before finish 54 install -m 0755 ${S}/overlayroot ${D}/init.d/91-overlayroot 55 56 # Create device nodes expected by some kernels in initramfs 57 # before even executing /init. 58 install -d ${D}/dev 59 mknod -m 622 ${D}/dev/console c 5 1 60} 61 62PACKAGES = "${PN}-base \ 63 initramfs-module-exec \ 64 initramfs-module-mdev \ 65 initramfs-module-udev \ 66 initramfs-module-e2fs \ 67 initramfs-module-nfsrootfs \ 68 initramfs-module-rootfs \ 69 initramfs-module-debug \ 70 initramfs-module-lvm \ 71 initramfs-module-overlayroot \ 72 " 73 74FILES:${PN}-base = "/init /init.d/99-finish /dev" 75 76# 99-finish in base depends on some other module which mounts 77# the rootfs, like 90-rootfs. To replace that default, use 78# BAD_RECOMMENDATIONS += "initramfs-module-rootfs" in your 79# initramfs recipe and install something else, or install 80# something that runs earlier (for example, a 89-my-rootfs) 81# and mounts the rootfs. Then 90-rootfs will proceed immediately. 82RRECOMMENDS:${PN}-base += "initramfs-module-rootfs" 83 84SUMMARY:initramfs-module-exec = "initramfs support for easy execution of applications" 85RDEPENDS:initramfs-module-exec = "${PN}-base" 86FILES:initramfs-module-exec = "/init.d/89-exec" 87 88SUMMARY:initramfs-module-mdev = "initramfs support for mdev" 89RDEPENDS:initramfs-module-mdev = "${PN}-base busybox-mdev" 90FILES:initramfs-module-mdev = "/init.d/01-mdev" 91 92SUMMARY:initramfs-module-udev = "initramfs support for udev" 93RDEPENDS:initramfs-module-udev = "${PN}-base udev" 94FILES:initramfs-module-udev = "/init.d/01-udev" 95 96SUMMARY:initramfs-module-e2fs = "initramfs support for ext4/ext3/ext2 filesystems" 97RDEPENDS:initramfs-module-e2fs = "${PN}-base" 98FILES:initramfs-module-e2fs = "/init.d/10-e2fs" 99 100SUMMARY:initramfs-module-nfsrootfs = "initramfs support for locating and mounting the root partition via nfs" 101RDEPENDS:initramfs-module-nfsrootfs = "${PN}-base" 102FILES:initramfs-module-nfsrootfs = "/init.d/85-nfsrootfs" 103 104SUMMARY:initramfs-module-rootfs = "initramfs support for locating and mounting the root partition" 105RDEPENDS:initramfs-module-rootfs = "${PN}-base" 106FILES:initramfs-module-rootfs = "/init.d/90-rootfs" 107 108SUMMARY:initramfs-module-debug = "initramfs dynamic debug support" 109RDEPENDS:initramfs-module-debug = "${PN}-base" 110FILES:initramfs-module-debug = "/init.d/00-debug" 111 112SUMMARY:initramfs-module-lvm = "initramfs lvm rootfs support" 113RDEPENDS:initramfs-module-lvm = "${PN}-base" 114FILES:initramfs-module-lvm = "/init.d/09-lvm" 115 116SUMMARY:initramfs-module-overlayroot = "initramfs support for mounting a RW overlay on top of a RO root filesystem" 117RDEPENDS:initramfs-module-overlayroot = "${PN}-base initramfs-module-rootfs" 118FILES:initramfs-module-overlayroot = "/init.d/91-overlayroot" 119