blob: 9e8c1dc3abba9ef6644225d82fb9e562af342564 [file] [log] [blame]
Patrick Williamsc124f4f2015-09-15 14:41:29 -05001SUMMARY = "Modular initramfs system"
2LICENSE = "MIT"
3LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
Patrick Williams213cb262021-08-07 19:21:33 -05004RDEPENDS:${PN} += "${VIRTUAL-RUNTIME_base-utils}"
5RRECOMMENDS:${PN} = "${VIRTUAL-RUNTIME_base-utils-syslog}"
Patrick Williamsc124f4f2015-09-15 14:41:29 -05006
Brad Bishopd7bf8c12018-02-25 22:55:05 -05007PR = "r4"
Patrick Williamsc124f4f2015-09-15 14:41:29 -05008
9inherit allarch
10
11SRC_URI = "file://init \
Brad Bishop316dfdd2018-06-25 12:45:53 -040012 file://exec \
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080013 file://nfsrootfs \
Patrick Williamsc0f7c042017-02-23 20:41:17 -060014 file://rootfs \
Patrick Williamsc124f4f2015-09-15 14:41:29 -050015 file://finish \
16 file://mdev \
17 file://udev \
18 file://e2fs \
Brad Bishopd7bf8c12018-02-25 22:55:05 -050019 file://debug \
Brad Bishop19323692019-04-05 15:28:33 -040020 file://lvm \
Brad Bishopd7bf8c12018-02-25 22:55:05 -050021 "
Patrick Williamsc124f4f2015-09-15 14:41:29 -050022
23S = "${WORKDIR}"
24
25do_install() {
26 install -d ${D}/init.d
27
28 # base
29 install -m 0755 ${WORKDIR}/init ${D}/init
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080030 install -m 0755 ${WORKDIR}/nfsrootfs ${D}/init.d/85-nfsrootfs
Patrick Williamsc0f7c042017-02-23 20:41:17 -060031 install -m 0755 ${WORKDIR}/rootfs ${D}/init.d/90-rootfs
Patrick Williamsc124f4f2015-09-15 14:41:29 -050032 install -m 0755 ${WORKDIR}/finish ${D}/init.d/99-finish
33
Patrick Williams213cb262021-08-07 19:21:33 -050034 # exec
Brad Bishop316dfdd2018-06-25 12:45:53 -040035 install -m 0755 ${WORKDIR}/exec ${D}/init.d/89-exec
36
Patrick Williamsc124f4f2015-09-15 14:41:29 -050037 # 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
Brad Bishop19323692019-04-05 15:28:33 -040049 # lvm
50 install -m 0755 ${WORKDIR}/lvm ${D}/init.d/09-lvm
51
Patrick Williamsc124f4f2015-09-15 14:41:29 -050052 # 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 \
Brad Bishop316dfdd2018-06-25 12:45:53 -040059 initramfs-module-exec \
Patrick Williamsc124f4f2015-09-15 14:41:29 -050060 initramfs-module-mdev \
61 initramfs-module-udev \
62 initramfs-module-e2fs \
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080063 initramfs-module-nfsrootfs \
Patrick Williamsc0f7c042017-02-23 20:41:17 -060064 initramfs-module-rootfs \
Brad Bishopd7bf8c12018-02-25 22:55:05 -050065 initramfs-module-debug \
Brad Bishop19323692019-04-05 15:28:33 -040066 initramfs-module-lvm \
Brad Bishopd7bf8c12018-02-25 22:55:05 -050067 "
Patrick Williamsc124f4f2015-09-15 14:41:29 -050068
Patrick Williams213cb262021-08-07 19:21:33 -050069FILES:${PN}-base = "/init /init.d/99-finish /dev"
Patrick Williamsc124f4f2015-09-15 14:41:29 -050070
Patrick Williamsc0f7c042017-02-23 20:41:17 -060071# 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.
Patrick Williams213cb262021-08-07 19:21:33 -050077RRECOMMENDS:${PN}-base += "initramfs-module-rootfs"
Patrick Williamsc0f7c042017-02-23 20:41:17 -060078
Patrick Williams213cb262021-08-07 19:21:33 -050079SUMMARY:initramfs-module-exec = "initramfs support for easy execution of applications"
80RDEPENDS:initramfs-module-exec = "${PN}-base"
81FILES:initramfs-module-exec = "/init.d/89-exec"
Brad Bishop316dfdd2018-06-25 12:45:53 -040082
Patrick Williams213cb262021-08-07 19:21:33 -050083SUMMARY:initramfs-module-mdev = "initramfs support for mdev"
84RDEPENDS:initramfs-module-mdev = "${PN}-base busybox-mdev"
85FILES:initramfs-module-mdev = "/init.d/01-mdev"
Patrick Williamsc124f4f2015-09-15 14:41:29 -050086
Patrick Williams213cb262021-08-07 19:21:33 -050087SUMMARY:initramfs-module-udev = "initramfs support for udev"
88RDEPENDS:initramfs-module-udev = "${PN}-base udev"
89FILES:initramfs-module-udev = "/init.d/01-udev"
Patrick Williamsc124f4f2015-09-15 14:41:29 -050090
Patrick Williams213cb262021-08-07 19:21:33 -050091SUMMARY:initramfs-module-e2fs = "initramfs support for ext4/ext3/ext2 filesystems"
92RDEPENDS:initramfs-module-e2fs = "${PN}-base"
93FILES:initramfs-module-e2fs = "/init.d/10-e2fs"
Patrick Williamsc124f4f2015-09-15 14:41:29 -050094
Patrick Williams213cb262021-08-07 19:21:33 -050095SUMMARY: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"
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080098
Patrick Williams213cb262021-08-07 19:21:33 -050099SUMMARY: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"
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600102
Patrick Williams213cb262021-08-07 19:21:33 -0500103SUMMARY:initramfs-module-debug = "initramfs dynamic debug support"
104RDEPENDS:initramfs-module-debug = "${PN}-base"
105FILES:initramfs-module-debug = "/init.d/00-debug"
Brad Bishop19323692019-04-05 15:28:33 -0400106
Patrick Williams213cb262021-08-07 19:21:33 -0500107SUMMARY:initramfs-module-lvm = "initramfs lvm rootfs support"
108RDEPENDS:initramfs-module-lvm = "${PN}-base"
109FILES:initramfs-module-lvm = "/init.d/09-lvm"