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 7PR = "r4" 8 9inherit allarch 10 11SRC_URI = "file://init \ 12 file://exec \ 13 file://nfsrootfs \ 14 file://rootfs \ 15 file://finish \ 16 file://mdev \ 17 file://udev \ 18 file://e2fs \ 19 file://debug \ 20 file://lvm \ 21 " 22 23S = "${WORKDIR}" 24 25do_install() { 26 install -d ${D}/init.d 27 28 # base 29 install -m 0755 ${WORKDIR}/init ${D}/init 30 install -m 0755 ${WORKDIR}/nfsrootfs ${D}/init.d/85-nfsrootfs 31 install -m 0755 ${WORKDIR}/rootfs ${D}/init.d/90-rootfs 32 install -m 0755 ${WORKDIR}/finish ${D}/init.d/99-finish 33 34 # exec 35 install -m 0755 ${WORKDIR}/exec ${D}/init.d/89-exec 36 37 # mdev 38 install -m 0755 ${WORKDIR}/mdev ${D}/init.d/01-mdev 39 40 # udev 41 install -m 0755 ${WORKDIR}/udev ${D}/init.d/01-udev 42 43 # e2fs 44 install -m 0755 ${WORKDIR}/e2fs ${D}/init.d/10-e2fs 45 46 # debug 47 install -m 0755 ${WORKDIR}/debug ${D}/init.d/00-debug 48 49 # lvm 50 install -m 0755 ${WORKDIR}/lvm ${D}/init.d/09-lvm 51 52 # Create device nodes expected by some kernels in initramfs 53 # before even executing /init. 54 install -d ${D}/dev 55 mknod -m 622 ${D}/dev/console c 5 1 56} 57 58PACKAGES = "${PN}-base \ 59 initramfs-module-exec \ 60 initramfs-module-mdev \ 61 initramfs-module-udev \ 62 initramfs-module-e2fs \ 63 initramfs-module-nfsrootfs \ 64 initramfs-module-rootfs \ 65 initramfs-module-debug \ 66 initramfs-module-lvm \ 67 " 68 69FILES_${PN}-base = "/init /init.d/99-finish /dev" 70 71# 99-finish in base depends on some other module which mounts 72# the rootfs, like 90-rootfs. To replace that default, use 73# BAD_RECOMMENDATIONS += "initramfs-module-rootfs" in your 74# initramfs recipe and install something else, or install 75# something that runs earlier (for example, a 89-my-rootfs) 76# and mounts the rootfs. Then 90-rootfs will proceed immediately. 77RRECOMMENDS_${PN}-base += "initramfs-module-rootfs" 78 79SUMMARY_initramfs-module-exec = "initramfs support for easy execution of applications" 80RDEPENDS_initramfs-module-exec = "${PN}-base" 81FILES_initramfs-module-exec = "/init.d/89-exec" 82 83SUMMARY_initramfs-module-mdev = "initramfs support for mdev" 84RDEPENDS_initramfs-module-mdev = "${PN}-base busybox-mdev" 85FILES_initramfs-module-mdev = "/init.d/01-mdev" 86 87SUMMARY_initramfs-module-udev = "initramfs support for udev" 88RDEPENDS_initramfs-module-udev = "${PN}-base udev" 89FILES_initramfs-module-udev = "/init.d/01-udev" 90 91SUMMARY_initramfs-module-e2fs = "initramfs support for ext4/ext3/ext2 filesystems" 92RDEPENDS_initramfs-module-e2fs = "${PN}-base" 93FILES_initramfs-module-e2fs = "/init.d/10-e2fs" 94 95SUMMARY_initramfs-module-nfsrootfs = "initramfs support for locating and mounting the root partition via nfs" 96RDEPENDS_initramfs-module-nfsrootfs = "${PN}-base" 97FILES_initramfs-module-nfsrootfs = "/init.d/85-nfsrootfs" 98 99SUMMARY_initramfs-module-rootfs = "initramfs support for locating and mounting the root partition" 100RDEPENDS_initramfs-module-rootfs = "${PN}-base" 101FILES_initramfs-module-rootfs = "/init.d/90-rootfs" 102 103SUMMARY_initramfs-module-debug = "initramfs dynamic debug support" 104RDEPENDS_initramfs-module-debug = "${PN}-base" 105FILES_initramfs-module-debug = "/init.d/00-debug" 106 107SUMMARY_initramfs-module-lvm = "initramfs lvm rootfs support" 108RDEPENDS_initramfs-module-lvm = "${PN}-base" 109FILES_initramfs-module-lvm = "/init.d/09-lvm" 110