blob: 67a1b04d28d7883682fda943e782e4379ab80236 [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
6PR = "r2"
7
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 \
16 file://debug"
17
18S = "${WORKDIR}"
19
20do_install() {
21 install -d ${D}/init.d
22
23 # base
24 install -m 0755 ${WORKDIR}/init ${D}/init
Patrick Williamsc0f7c042017-02-23 20:41:17 -060025 install -m 0755 ${WORKDIR}/rootfs ${D}/init.d/90-rootfs
Patrick Williamsc124f4f2015-09-15 14:41:29 -050026 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
46PACKAGES = "${PN}-base \
47 initramfs-module-mdev \
48 initramfs-module-udev \
49 initramfs-module-e2fs \
Patrick Williamsc0f7c042017-02-23 20:41:17 -060050 initramfs-module-rootfs \
Patrick Williamsc124f4f2015-09-15 14:41:29 -050051 initramfs-module-debug"
52
53FILES_${PN}-base = "/init /init.d/99-finish /dev"
54
Patrick Williamsc0f7c042017-02-23 20:41:17 -060055# 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.
61RRECOMMENDS_${PN}-base += "initramfs-module-rootfs"
62
Patrick Williamsc124f4f2015-09-15 14:41:29 -050063SUMMARY_initramfs-module-mdev = "initramfs support for mdev"
Patrick Williamsc0f7c042017-02-23 20:41:17 -060064RDEPENDS_initramfs-module-mdev = "${PN}-base busybox-mdev"
Patrick Williamsc124f4f2015-09-15 14:41:29 -050065FILES_initramfs-module-mdev = "/init.d/01-mdev"
66
67SUMMARY_initramfs-module-udev = "initramfs support for udev"
68RDEPENDS_initramfs-module-udev = "${PN}-base udev"
69FILES_initramfs-module-udev = "/init.d/01-udev"
70
71SUMMARY_initramfs-module-e2fs = "initramfs support for ext4/ext3/ext2 filesystems"
72RDEPENDS_initramfs-module-e2fs = "${PN}-base"
73FILES_initramfs-module-e2fs = "/init.d/10-e2fs"
74
Patrick Williamsc0f7c042017-02-23 20:41:17 -060075SUMMARY_initramfs-module-rootfs = "initramfs support for locating and mounting the root partition"
76RDEPENDS_initramfs-module-rootfs = "${PN}-base"
77FILES_initramfs-module-rootfs = "/init.d/90-rootfs"
78
Patrick Williamsc124f4f2015-09-15 14:41:29 -050079SUMMARY_initramfs-module-debug = "initramfs dynamic debug support"
80RDEPENDS_initramfs-module-debug = "${PN}-base"
81FILES_initramfs-module-debug = "/init.d/00-debug"