blob: 2afc37ee75f0801fbc1d2eb7c4821824c7e444ef [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 \
Patrick Williamsc0f7c042017-02-23 20:41:17 -060011 file://rootfs \
Patrick Williamsc124f4f2015-09-15 14:41:29 -050012 file://finish \
13 file://mdev \
14 file://udev \
15 file://e2fs \
Brad Bishopd7bf8c12018-02-25 22:55:05 -050016 file://debug \
17 "
Patrick Williamsc124f4f2015-09-15 14:41:29 -050018
19S = "${WORKDIR}"
20
21do_install() {
22 install -d ${D}/init.d
23
24 # base
25 install -m 0755 ${WORKDIR}/init ${D}/init
Patrick Williamsc0f7c042017-02-23 20:41:17 -060026 install -m 0755 ${WORKDIR}/rootfs ${D}/init.d/90-rootfs
Patrick Williamsc124f4f2015-09-15 14:41:29 -050027 install -m 0755 ${WORKDIR}/finish ${D}/init.d/99-finish
28
29 # mdev
30 install -m 0755 ${WORKDIR}/mdev ${D}/init.d/01-mdev
31
32 # udev
33 install -m 0755 ${WORKDIR}/udev ${D}/init.d/01-udev
34
35 # e2fs
36 install -m 0755 ${WORKDIR}/e2fs ${D}/init.d/10-e2fs
37
38 # debug
39 install -m 0755 ${WORKDIR}/debug ${D}/init.d/00-debug
40
41 # Create device nodes expected by some kernels in initramfs
42 # before even executing /init.
43 install -d ${D}/dev
44 mknod -m 622 ${D}/dev/console c 5 1
45}
46
47PACKAGES = "${PN}-base \
48 initramfs-module-mdev \
49 initramfs-module-udev \
50 initramfs-module-e2fs \
Patrick Williamsc0f7c042017-02-23 20:41:17 -060051 initramfs-module-rootfs \
Brad Bishopd7bf8c12018-02-25 22:55:05 -050052 initramfs-module-debug \
53 "
Patrick Williamsc124f4f2015-09-15 14:41:29 -050054
55FILES_${PN}-base = "/init /init.d/99-finish /dev"
56
Patrick Williamsc0f7c042017-02-23 20:41:17 -060057# 99-finish in base depends on some other module which mounts
58# the rootfs, like 90-rootfs. To replace that default, use
59# BAD_RECOMMENDATIONS += "initramfs-module-rootfs" in your
60# initramfs recipe and install something else, or install
61# something that runs earlier (for example, a 89-my-rootfs)
62# and mounts the rootfs. Then 90-rootfs will proceed immediately.
63RRECOMMENDS_${PN}-base += "initramfs-module-rootfs"
64
Patrick Williamsc124f4f2015-09-15 14:41:29 -050065SUMMARY_initramfs-module-mdev = "initramfs support for mdev"
Patrick Williamsc0f7c042017-02-23 20:41:17 -060066RDEPENDS_initramfs-module-mdev = "${PN}-base busybox-mdev"
Patrick Williamsc124f4f2015-09-15 14:41:29 -050067FILES_initramfs-module-mdev = "/init.d/01-mdev"
68
69SUMMARY_initramfs-module-udev = "initramfs support for udev"
70RDEPENDS_initramfs-module-udev = "${PN}-base udev"
71FILES_initramfs-module-udev = "/init.d/01-udev"
72
73SUMMARY_initramfs-module-e2fs = "initramfs support for ext4/ext3/ext2 filesystems"
74RDEPENDS_initramfs-module-e2fs = "${PN}-base"
75FILES_initramfs-module-e2fs = "/init.d/10-e2fs"
76
Patrick Williamsc0f7c042017-02-23 20:41:17 -060077SUMMARY_initramfs-module-rootfs = "initramfs support for locating and mounting the root partition"
78RDEPENDS_initramfs-module-rootfs = "${PN}-base"
79FILES_initramfs-module-rootfs = "/init.d/90-rootfs"
80
Patrick Williamsc124f4f2015-09-15 14:41:29 -050081SUMMARY_initramfs-module-debug = "initramfs dynamic debug support"
82RDEPENDS_initramfs-module-debug = "${PN}-base"
83FILES_initramfs-module-debug = "/init.d/00-debug"