blob: 660343eafa23f35c85b73b0cb16fa7beb4f5cf0f [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}"
Brad Bishop1a4b7ee2018-12-16 17:11:34 -08005RRECOMMENDS_${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 \
20 "
Patrick Williamsc124f4f2015-09-15 14:41:29 -050021
22S = "${WORKDIR}"
23
24do_install() {
25 install -d ${D}/init.d
26
27 # base
28 install -m 0755 ${WORKDIR}/init ${D}/init
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080029 install -m 0755 ${WORKDIR}/nfsrootfs ${D}/init.d/85-nfsrootfs
Patrick Williamsc0f7c042017-02-23 20:41:17 -060030 install -m 0755 ${WORKDIR}/rootfs ${D}/init.d/90-rootfs
Patrick Williamsc124f4f2015-09-15 14:41:29 -050031 install -m 0755 ${WORKDIR}/finish ${D}/init.d/99-finish
32
Brad Bishop316dfdd2018-06-25 12:45:53 -040033 # exec
34 install -m 0755 ${WORKDIR}/exec ${D}/init.d/89-exec
35
Patrick Williamsc124f4f2015-09-15 14:41:29 -050036 # mdev
37 install -m 0755 ${WORKDIR}/mdev ${D}/init.d/01-mdev
38
39 # udev
40 install -m 0755 ${WORKDIR}/udev ${D}/init.d/01-udev
41
42 # e2fs
43 install -m 0755 ${WORKDIR}/e2fs ${D}/init.d/10-e2fs
44
45 # debug
46 install -m 0755 ${WORKDIR}/debug ${D}/init.d/00-debug
47
48 # Create device nodes expected by some kernels in initramfs
49 # before even executing /init.
50 install -d ${D}/dev
51 mknod -m 622 ${D}/dev/console c 5 1
52}
53
54PACKAGES = "${PN}-base \
Brad Bishop316dfdd2018-06-25 12:45:53 -040055 initramfs-module-exec \
Patrick Williamsc124f4f2015-09-15 14:41:29 -050056 initramfs-module-mdev \
57 initramfs-module-udev \
58 initramfs-module-e2fs \
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080059 initramfs-module-nfsrootfs \
Patrick Williamsc0f7c042017-02-23 20:41:17 -060060 initramfs-module-rootfs \
Brad Bishopd7bf8c12018-02-25 22:55:05 -050061 initramfs-module-debug \
62 "
Patrick Williamsc124f4f2015-09-15 14:41:29 -050063
64FILES_${PN}-base = "/init /init.d/99-finish /dev"
65
Patrick Williamsc0f7c042017-02-23 20:41:17 -060066# 99-finish in base depends on some other module which mounts
67# the rootfs, like 90-rootfs. To replace that default, use
68# BAD_RECOMMENDATIONS += "initramfs-module-rootfs" in your
69# initramfs recipe and install something else, or install
70# something that runs earlier (for example, a 89-my-rootfs)
71# and mounts the rootfs. Then 90-rootfs will proceed immediately.
72RRECOMMENDS_${PN}-base += "initramfs-module-rootfs"
73
Brad Bishop316dfdd2018-06-25 12:45:53 -040074SUMMARY_initramfs-module-exec = "initramfs support for easy execution of applications"
75RDEPENDS_initramfs-module-exec = "${PN}-base"
76FILES_initramfs-module-exec = "/init.d/89-exec"
77
Patrick Williamsc124f4f2015-09-15 14:41:29 -050078SUMMARY_initramfs-module-mdev = "initramfs support for mdev"
Patrick Williamsc0f7c042017-02-23 20:41:17 -060079RDEPENDS_initramfs-module-mdev = "${PN}-base busybox-mdev"
Patrick Williamsc124f4f2015-09-15 14:41:29 -050080FILES_initramfs-module-mdev = "/init.d/01-mdev"
81
82SUMMARY_initramfs-module-udev = "initramfs support for udev"
83RDEPENDS_initramfs-module-udev = "${PN}-base udev"
84FILES_initramfs-module-udev = "/init.d/01-udev"
85
86SUMMARY_initramfs-module-e2fs = "initramfs support for ext4/ext3/ext2 filesystems"
87RDEPENDS_initramfs-module-e2fs = "${PN}-base"
88FILES_initramfs-module-e2fs = "/init.d/10-e2fs"
89
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080090SUMMARY_initramfs-module-nfsrootfs = "initramfs support for locating and mounting the root partition via nfs"
91RDEPENDS_initramfs-module-nfsrootfs = "${PN}-base"
92FILES_initramfs-module-nfsrootfs = "/init.d/85-nfsrootfs"
93
Patrick Williamsc0f7c042017-02-23 20:41:17 -060094SUMMARY_initramfs-module-rootfs = "initramfs support for locating and mounting the root partition"
95RDEPENDS_initramfs-module-rootfs = "${PN}-base"
96FILES_initramfs-module-rootfs = "/init.d/90-rootfs"
97
Patrick Williamsc124f4f2015-09-15 14:41:29 -050098SUMMARY_initramfs-module-debug = "initramfs dynamic debug support"
99RDEPENDS_initramfs-module-debug = "${PN}-base"
100FILES_initramfs-module-debug = "/init.d/00-debug"