Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 1 | SUMMARY = "Modular initramfs system" |
| 2 | LICENSE = "MIT" |
| 3 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" |
Patrick Williams | d8c66bc | 2016-06-20 12:57:21 -0500 | [diff] [blame] | 4 | RDEPENDS_${PN} += "${VIRTUAL-RUNTIME_base-utils}" |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 5 | |
| 6 | PR = "r2" |
| 7 | |
| 8 | inherit allarch |
| 9 | |
| 10 | SRC_URI = "file://init \ |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame^] | 11 | file://rootfs \ |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 12 | file://finish \ |
| 13 | file://mdev \ |
| 14 | file://udev \ |
| 15 | file://e2fs \ |
| 16 | file://debug" |
| 17 | |
| 18 | S = "${WORKDIR}" |
| 19 | |
| 20 | do_install() { |
| 21 | install -d ${D}/init.d |
| 22 | |
| 23 | # base |
| 24 | install -m 0755 ${WORKDIR}/init ${D}/init |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame^] | 25 | install -m 0755 ${WORKDIR}/rootfs ${D}/init.d/90-rootfs |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 26 | install -m 0755 ${WORKDIR}/finish ${D}/init.d/99-finish |
| 27 | |
| 28 | # mdev |
| 29 | install -m 0755 ${WORKDIR}/mdev ${D}/init.d/01-mdev |
| 30 | |
| 31 | # udev |
| 32 | install -m 0755 ${WORKDIR}/udev ${D}/init.d/01-udev |
| 33 | |
| 34 | # e2fs |
| 35 | install -m 0755 ${WORKDIR}/e2fs ${D}/init.d/10-e2fs |
| 36 | |
| 37 | # debug |
| 38 | install -m 0755 ${WORKDIR}/debug ${D}/init.d/00-debug |
| 39 | |
| 40 | # Create device nodes expected by some kernels in initramfs |
| 41 | # before even executing /init. |
| 42 | install -d ${D}/dev |
| 43 | mknod -m 622 ${D}/dev/console c 5 1 |
| 44 | } |
| 45 | |
| 46 | PACKAGES = "${PN}-base \ |
| 47 | initramfs-module-mdev \ |
| 48 | initramfs-module-udev \ |
| 49 | initramfs-module-e2fs \ |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame^] | 50 | initramfs-module-rootfs \ |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 51 | initramfs-module-debug" |
| 52 | |
| 53 | FILES_${PN}-base = "/init /init.d/99-finish /dev" |
| 54 | |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame^] | 55 | # 99-finish in base depends on some other module which mounts |
| 56 | # the rootfs, like 90-rootfs. To replace that default, use |
| 57 | # BAD_RECOMMENDATIONS += "initramfs-module-rootfs" in your |
| 58 | # initramfs recipe and install something else, or install |
| 59 | # something that runs earlier (for example, a 89-my-rootfs) |
| 60 | # and mounts the rootfs. Then 90-rootfs will proceed immediately. |
| 61 | RRECOMMENDS_${PN}-base += "initramfs-module-rootfs" |
| 62 | |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 63 | SUMMARY_initramfs-module-mdev = "initramfs support for mdev" |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame^] | 64 | RDEPENDS_initramfs-module-mdev = "${PN}-base busybox-mdev" |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 65 | FILES_initramfs-module-mdev = "/init.d/01-mdev" |
| 66 | |
| 67 | SUMMARY_initramfs-module-udev = "initramfs support for udev" |
| 68 | RDEPENDS_initramfs-module-udev = "${PN}-base udev" |
| 69 | FILES_initramfs-module-udev = "/init.d/01-udev" |
| 70 | |
| 71 | SUMMARY_initramfs-module-e2fs = "initramfs support for ext4/ext3/ext2 filesystems" |
| 72 | RDEPENDS_initramfs-module-e2fs = "${PN}-base" |
| 73 | FILES_initramfs-module-e2fs = "/init.d/10-e2fs" |
| 74 | |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame^] | 75 | SUMMARY_initramfs-module-rootfs = "initramfs support for locating and mounting the root partition" |
| 76 | RDEPENDS_initramfs-module-rootfs = "${PN}-base" |
| 77 | FILES_initramfs-module-rootfs = "/init.d/90-rootfs" |
| 78 | |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 79 | SUMMARY_initramfs-module-debug = "initramfs dynamic debug support" |
| 80 | RDEPENDS_initramfs-module-debug = "${PN}-base" |
| 81 | FILES_initramfs-module-debug = "/init.d/00-debug" |