blob: 75d965f069129f2d90224276f52427d603393c32 [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 Williamsd8c66bc2016-06-20 12:57:21 -05004RDEPENDS_${PN} += "${VIRTUAL-RUNTIME_base-utils}"
Patrick Williamsc124f4f2015-09-15 14:41:29 -05005
Brad Bishopd7bf8c12018-02-25 22:55:05 -05006PR = "r4"
Patrick Williamsc124f4f2015-09-15 14:41:29 -05007
8inherit allarch
9
10SRC_URI = "file://init \
Brad Bishop316dfdd2018-06-25 12:45:53 -040011 file://exec \
Patrick Williamsc0f7c042017-02-23 20:41:17 -060012 file://rootfs \
Patrick Williamsc124f4f2015-09-15 14:41:29 -050013 file://finish \
14 file://mdev \
15 file://udev \
16 file://e2fs \
Brad Bishopd7bf8c12018-02-25 22:55:05 -050017 file://debug \
18 "
Patrick Williamsc124f4f2015-09-15 14:41:29 -050019
20S = "${WORKDIR}"
21
22do_install() {
23 install -d ${D}/init.d
24
25 # base
26 install -m 0755 ${WORKDIR}/init ${D}/init
Patrick Williamsc0f7c042017-02-23 20:41:17 -060027 install -m 0755 ${WORKDIR}/rootfs ${D}/init.d/90-rootfs
Patrick Williamsc124f4f2015-09-15 14:41:29 -050028 install -m 0755 ${WORKDIR}/finish ${D}/init.d/99-finish
29
Brad Bishop316dfdd2018-06-25 12:45:53 -040030 # exec
31 install -m 0755 ${WORKDIR}/exec ${D}/init.d/89-exec
32
Patrick Williamsc124f4f2015-09-15 14:41:29 -050033 # mdev
34 install -m 0755 ${WORKDIR}/mdev ${D}/init.d/01-mdev
35
36 # udev
37 install -m 0755 ${WORKDIR}/udev ${D}/init.d/01-udev
38
39 # e2fs
40 install -m 0755 ${WORKDIR}/e2fs ${D}/init.d/10-e2fs
41
42 # debug
43 install -m 0755 ${WORKDIR}/debug ${D}/init.d/00-debug
44
45 # Create device nodes expected by some kernels in initramfs
46 # before even executing /init.
47 install -d ${D}/dev
48 mknod -m 622 ${D}/dev/console c 5 1
49}
50
51PACKAGES = "${PN}-base \
Brad Bishop316dfdd2018-06-25 12:45:53 -040052 initramfs-module-exec \
Patrick Williamsc124f4f2015-09-15 14:41:29 -050053 initramfs-module-mdev \
54 initramfs-module-udev \
55 initramfs-module-e2fs \
Patrick Williamsc0f7c042017-02-23 20:41:17 -060056 initramfs-module-rootfs \
Brad Bishopd7bf8c12018-02-25 22:55:05 -050057 initramfs-module-debug \
58 "
Patrick Williamsc124f4f2015-09-15 14:41:29 -050059
60FILES_${PN}-base = "/init /init.d/99-finish /dev"
61
Patrick Williamsc0f7c042017-02-23 20:41:17 -060062# 99-finish in base depends on some other module which mounts
63# the rootfs, like 90-rootfs. To replace that default, use
64# BAD_RECOMMENDATIONS += "initramfs-module-rootfs" in your
65# initramfs recipe and install something else, or install
66# something that runs earlier (for example, a 89-my-rootfs)
67# and mounts the rootfs. Then 90-rootfs will proceed immediately.
68RRECOMMENDS_${PN}-base += "initramfs-module-rootfs"
69
Brad Bishop316dfdd2018-06-25 12:45:53 -040070SUMMARY_initramfs-module-exec = "initramfs support for easy execution of applications"
71RDEPENDS_initramfs-module-exec = "${PN}-base"
72FILES_initramfs-module-exec = "/init.d/89-exec"
73
Patrick Williamsc124f4f2015-09-15 14:41:29 -050074SUMMARY_initramfs-module-mdev = "initramfs support for mdev"
Patrick Williamsc0f7c042017-02-23 20:41:17 -060075RDEPENDS_initramfs-module-mdev = "${PN}-base busybox-mdev"
Patrick Williamsc124f4f2015-09-15 14:41:29 -050076FILES_initramfs-module-mdev = "/init.d/01-mdev"
77
78SUMMARY_initramfs-module-udev = "initramfs support for udev"
79RDEPENDS_initramfs-module-udev = "${PN}-base udev"
80FILES_initramfs-module-udev = "/init.d/01-udev"
81
82SUMMARY_initramfs-module-e2fs = "initramfs support for ext4/ext3/ext2 filesystems"
83RDEPENDS_initramfs-module-e2fs = "${PN}-base"
84FILES_initramfs-module-e2fs = "/init.d/10-e2fs"
85
Patrick Williamsc0f7c042017-02-23 20:41:17 -060086SUMMARY_initramfs-module-rootfs = "initramfs support for locating and mounting the root partition"
87RDEPENDS_initramfs-module-rootfs = "${PN}-base"
88FILES_initramfs-module-rootfs = "/init.d/90-rootfs"
89
Patrick Williamsc124f4f2015-09-15 14:41:29 -050090SUMMARY_initramfs-module-debug = "initramfs dynamic debug support"
91RDEPENDS_initramfs-module-debug = "${PN}-base"
92FILES_initramfs-module-debug = "/init.d/00-debug"