| SUMMARY = "Modular initramfs system" |
| LICENSE = "MIT" |
| LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" |
| RDEPENDS:${PN} += "${VIRTUAL-RUNTIME_base-utils}" |
| RRECOMMENDS:${PN} = "${VIRTUAL-RUNTIME_base-utils-syslog}" |
| |
| PR = "r4" |
| |
| inherit allarch |
| |
| SRC_URI = "file://init \ |
| file://exec \ |
| file://nfsrootfs \ |
| file://rootfs \ |
| file://finish \ |
| file://mdev \ |
| file://udev \ |
| file://e2fs \ |
| file://debug \ |
| file://lvm \ |
| file://overlayroot \ |
| " |
| |
| S = "${WORKDIR}" |
| |
| do_install() { |
| install -d ${D}/init.d |
| |
| # base |
| install -m 0755 ${WORKDIR}/init ${D}/init |
| install -m 0755 ${WORKDIR}/nfsrootfs ${D}/init.d/85-nfsrootfs |
| install -m 0755 ${WORKDIR}/rootfs ${D}/init.d/90-rootfs |
| install -m 0755 ${WORKDIR}/finish ${D}/init.d/99-finish |
| |
| # exec |
| install -m 0755 ${WORKDIR}/exec ${D}/init.d/89-exec |
| |
| # mdev |
| install -m 0755 ${WORKDIR}/mdev ${D}/init.d/01-mdev |
| |
| # udev |
| install -m 0755 ${WORKDIR}/udev ${D}/init.d/01-udev |
| |
| # e2fs |
| install -m 0755 ${WORKDIR}/e2fs ${D}/init.d/10-e2fs |
| |
| # debug |
| install -m 0755 ${WORKDIR}/debug ${D}/init.d/00-debug |
| |
| # lvm |
| install -m 0755 ${WORKDIR}/lvm ${D}/init.d/09-lvm |
| |
| # overlayroot needs to run after rootfs module but before finish |
| install -m 0755 ${WORKDIR}/overlayroot ${D}/init.d/91-overlayroot |
| |
| # Create device nodes expected by some kernels in initramfs |
| # before even executing /init. |
| install -d ${D}/dev |
| mknod -m 622 ${D}/dev/console c 5 1 |
| } |
| |
| PACKAGES = "${PN}-base \ |
| initramfs-module-exec \ |
| initramfs-module-mdev \ |
| initramfs-module-udev \ |
| initramfs-module-e2fs \ |
| initramfs-module-nfsrootfs \ |
| initramfs-module-rootfs \ |
| initramfs-module-debug \ |
| initramfs-module-lvm \ |
| initramfs-module-overlayroot \ |
| " |
| |
| FILES:${PN}-base = "/init /init.d/99-finish /dev" |
| |
| # 99-finish in base depends on some other module which mounts |
| # the rootfs, like 90-rootfs. To replace that default, use |
| # BAD_RECOMMENDATIONS += "initramfs-module-rootfs" in your |
| # initramfs recipe and install something else, or install |
| # something that runs earlier (for example, a 89-my-rootfs) |
| # and mounts the rootfs. Then 90-rootfs will proceed immediately. |
| RRECOMMENDS:${PN}-base += "initramfs-module-rootfs" |
| |
| SUMMARY:initramfs-module-exec = "initramfs support for easy execution of applications" |
| RDEPENDS:initramfs-module-exec = "${PN}-base" |
| FILES:initramfs-module-exec = "/init.d/89-exec" |
| |
| SUMMARY:initramfs-module-mdev = "initramfs support for mdev" |
| RDEPENDS:initramfs-module-mdev = "${PN}-base busybox-mdev" |
| FILES:initramfs-module-mdev = "/init.d/01-mdev" |
| |
| SUMMARY:initramfs-module-udev = "initramfs support for udev" |
| RDEPENDS:initramfs-module-udev = "${PN}-base udev" |
| FILES:initramfs-module-udev = "/init.d/01-udev" |
| |
| SUMMARY:initramfs-module-e2fs = "initramfs support for ext4/ext3/ext2 filesystems" |
| RDEPENDS:initramfs-module-e2fs = "${PN}-base" |
| FILES:initramfs-module-e2fs = "/init.d/10-e2fs" |
| |
| SUMMARY:initramfs-module-nfsrootfs = "initramfs support for locating and mounting the root partition via nfs" |
| RDEPENDS:initramfs-module-nfsrootfs = "${PN}-base" |
| FILES:initramfs-module-nfsrootfs = "/init.d/85-nfsrootfs" |
| |
| SUMMARY:initramfs-module-rootfs = "initramfs support for locating and mounting the root partition" |
| RDEPENDS:initramfs-module-rootfs = "${PN}-base" |
| FILES:initramfs-module-rootfs = "/init.d/90-rootfs" |
| |
| SUMMARY:initramfs-module-debug = "initramfs dynamic debug support" |
| RDEPENDS:initramfs-module-debug = "${PN}-base" |
| FILES:initramfs-module-debug = "/init.d/00-debug" |
| |
| SUMMARY:initramfs-module-lvm = "initramfs lvm rootfs support" |
| RDEPENDS:initramfs-module-lvm = "${PN}-base" |
| FILES:initramfs-module-lvm = "/init.d/09-lvm" |
| |
| SUMMARY:initramfs-module-overlayroot = "initramfs support for mounting a RW overlay on top of a RO root filesystem" |
| RDEPENDS:initramfs-module-overlayroot = "${PN}-base initramfs-module-rootfs" |
| FILES:initramfs-module-overlayroot = "/init.d/91-overlayroot" |