summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/initrdscripts
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-core/initrdscripts')
-rw-r--r--meta/recipes-core/initrdscripts/files/init-install-efi-testfs.sh4
-rw-r--r--meta/recipes-core/initrdscripts/files/init-install-efi.sh2
-rw-r--r--meta/recipes-core/initrdscripts/files/init-install-testfs.sh4
-rw-r--r--meta/recipes-core/initrdscripts/files/init-install.sh2
-rw-r--r--meta/recipes-core/initrdscripts/initramfs-boot_1.0.bb5
-rwxr-xr-xmeta/recipes-core/initrdscripts/initramfs-framework/finish21
-rw-r--r--meta/recipes-core/initrdscripts/initramfs-framework/overlayroot118
-rw-r--r--meta/recipes-core/initrdscripts/initramfs-framework/rootfs19
-rw-r--r--meta/recipes-core/initrdscripts/initramfs-framework/setup-live2
-rw-r--r--meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb88
-rw-r--r--meta/recipes-core/initrdscripts/initramfs-live-boot-tiny_1.0.bb7
-rw-r--r--meta/recipes-core/initrdscripts/initramfs-live-boot_1.0.bb7
-rw-r--r--meta/recipes-core/initrdscripts/initramfs-live-install-efi-testfs_1.0.bb6
-rw-r--r--meta/recipes-core/initrdscripts/initramfs-live-install-efi_1.0.bb9
-rw-r--r--meta/recipes-core/initrdscripts/initramfs-live-install-testfs_1.0.bb6
-rw-r--r--meta/recipes-core/initrdscripts/initramfs-live-install_1.0.bb9
-rw-r--r--meta/recipes-core/initrdscripts/initramfs-module-install-efi_1.0.bb9
-rw-r--r--meta/recipes-core/initrdscripts/initramfs-module-install_1.0.bb15
-rw-r--r--meta/recipes-core/initrdscripts/initramfs-module-setup-live_1.0.bb9
19 files changed, 235 insertions, 107 deletions
diff --git a/meta/recipes-core/initrdscripts/files/init-install-efi-testfs.sh b/meta/recipes-core/initrdscripts/files/init-install-efi-testfs.sh
index b351985a61..4bd6ace7b3 100644
--- a/meta/recipes-core/initrdscripts/files/init-install-efi-testfs.sh
+++ b/meta/recipes-core/initrdscripts/files/init-install-efi-testfs.sh
@@ -133,12 +133,12 @@ mount -o rw,loop,noatime,nodiratime /run/media/$1/$2 /rootmnt
133echo "Copying rootfs files..." 133echo "Copying rootfs files..."
134cp -a /rootmnt/* /ssd 134cp -a /rootmnt/* /ssd
135 135
136touch /ssd/etc/masterimage 136touch /ssd/etc/controllerimage
137 137
138if [ -d /ssd/etc/ ] ; then 138if [ -d /ssd/etc/ ] ; then
139 # We dont want udev to mount our root device while we're booting... 139 # We dont want udev to mount our root device while we're booting...
140 if [ -d /ssd/etc/udev/ ] ; then 140 if [ -d /ssd/etc/udev/ ] ; then
141 echo "/dev/${device}" >> /ssd/etc/udev/mount.blacklist 141 echo "/dev/${device}" >> /ssd/etc/udev/mount.ignorelist
142 fi 142 fi
143fi 143fi
144 144
diff --git a/meta/recipes-core/initrdscripts/files/init-install-efi.sh b/meta/recipes-core/initrdscripts/files/init-install-efi.sh
index f667518b89..ffd3870199 100644
--- a/meta/recipes-core/initrdscripts/files/init-install-efi.sh
+++ b/meta/recipes-core/initrdscripts/files/init-install-efi.sh
@@ -229,7 +229,7 @@ if [ -d /tgt_root/etc/ ] ; then
229 echo "UUID=$boot_uuid /boot vfat defaults 1 2" >> /tgt_root/etc/fstab 229 echo "UUID=$boot_uuid /boot vfat defaults 1 2" >> /tgt_root/etc/fstab
230 # We dont want udev to mount our root device while we're booting... 230 # We dont want udev to mount our root device while we're booting...
231 if [ -d /tgt_root/etc/udev/ ] ; then 231 if [ -d /tgt_root/etc/udev/ ] ; then
232 echo "${device}" >> /tgt_root/etc/udev/mount.blacklist 232 echo "${device}" >> /tgt_root/etc/udev/mount.ignorelist
233 fi 233 fi
234fi 234fi
235 235
diff --git a/meta/recipes-core/initrdscripts/files/init-install-testfs.sh b/meta/recipes-core/initrdscripts/files/init-install-testfs.sh
index ac62160528..8ab74ddc5d 100644
--- a/meta/recipes-core/initrdscripts/files/init-install-testfs.sh
+++ b/meta/recipes-core/initrdscripts/files/init-install-testfs.sh
@@ -158,13 +158,13 @@ mount -o rw,loop,noatime,nodiratime /run/media/$1/$2 /src_root
158echo "Copying rootfs files..." 158echo "Copying rootfs files..."
159cp -a /src_root/* /tgt_root 159cp -a /src_root/* /tgt_root
160 160
161touch /tgt_root/etc/masterimage 161touch /tgt_root/etc/controllerimage
162 162
163if [ -d /tgt_root/etc/ ] ; then 163if [ -d /tgt_root/etc/ ] ; then
164 echo "$bootfs /boot ext3 defaults 1 2" >> /tgt_root/etc/fstab 164 echo "$bootfs /boot ext3 defaults 1 2" >> /tgt_root/etc/fstab
165 # We dont want udev to mount our root device while we're booting... 165 # We dont want udev to mount our root device while we're booting...
166 if [ -d /tgt_root/etc/udev/ ] ; then 166 if [ -d /tgt_root/etc/udev/ ] ; then
167 echo "/dev/${device}" >> /tgt_root/etc/udev/mount.blacklist 167 echo "/dev/${device}" >> /tgt_root/etc/udev/mount.ignorelist
168 fi 168 fi
169fi 169fi
170umount /tgt_root 170umount /tgt_root
diff --git a/meta/recipes-core/initrdscripts/files/init-install.sh b/meta/recipes-core/initrdscripts/files/init-install.sh
index e71579631b..df33791ec7 100644
--- a/meta/recipes-core/initrdscripts/files/init-install.sh
+++ b/meta/recipes-core/initrdscripts/files/init-install.sh
@@ -261,7 +261,7 @@ if [ -d /tgt_root/etc/ ] ; then
261 echo "$bootdev /boot ext3 defaults 1 2" >> /tgt_root/etc/fstab 261 echo "$bootdev /boot ext3 defaults 1 2" >> /tgt_root/etc/fstab
262 # We dont want udev to mount our root device while we're booting... 262 # We dont want udev to mount our root device while we're booting...
263 if [ -d /tgt_root/etc/udev/ ] ; then 263 if [ -d /tgt_root/etc/udev/ ] ; then
264 echo "${device}" >> /tgt_root/etc/udev/mount.blacklist 264 echo "${device}" >> /tgt_root/etc/udev/mount.ignorelist
265 fi 265 fi
266fi 266fi
267umount /tgt_root 267umount /tgt_root
diff --git a/meta/recipes-core/initrdscripts/initramfs-boot_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-boot_1.0.bb
index 29ec5ec2ff..01d2771e3f 100644
--- a/meta/recipes-core/initrdscripts/initramfs-boot_1.0.bb
+++ b/meta/recipes-core/initrdscripts/initramfs-boot_1.0.bb
@@ -3,12 +3,11 @@ LICENSE = "MIT"
3LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" 3LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
4SRC_URI = "file://init-boot.sh" 4SRC_URI = "file://init-boot.sh"
5 5
6PR = "r2"
7 6
8S = "${WORKDIR}" 7S = "${WORKDIR}"
9 8
10do_install() { 9do_install() {
11 install -m 0755 ${WORKDIR}/init-boot.sh ${D}/init 10 install -m 0755 ${S}/init-boot.sh ${D}/init
12 11
13 # Create device nodes expected by some kernels in initramfs 12 # Create device nodes expected by some kernels in initramfs
14 # before even executing /init. 13 # before even executing /init.
@@ -18,4 +17,4 @@ do_install() {
18 17
19inherit allarch 18inherit allarch
20 19
21FILES_${PN} += "/init /dev/console" 20FILES:${PN} += "/init /dev/console"
diff --git a/meta/recipes-core/initrdscripts/initramfs-framework/finish b/meta/recipes-core/initrdscripts/initramfs-framework/finish
index 717383ebac..ac0de9f996 100755
--- a/meta/recipes-core/initrdscripts/initramfs-framework/finish
+++ b/meta/recipes-core/initrdscripts/initramfs-framework/finish
@@ -12,8 +12,29 @@ finish_run() {
12 fatal "ERROR: There's no '/dev' on rootfs." 12 fatal "ERROR: There's no '/dev' on rootfs."
13 fi 13 fi
14 14
15 # Unmount anything that was automounted by busybox via mdev-mount.sh.
16 # We're about to switch_root, and leaving anything mounted will prevent
17 # the next rootfs from modifying the block device. Ignore ROOT_DISK,
18 # if it was set by setup-live, because it'll be mounted over loopback
19 # to ROOTFS_DIR.
20 local dev
21 for dev in /run/media/*; do
22 if mountpoint -q "${dev}" && [ "${dev##*/}" != "${ROOT_DISK}" ]; then
23 umount -f "${dev}" || debug "Failed to unmount ${dev}"
24 fi
25 done
26
15 info "Switching root to '$ROOTFS_DIR'..." 27 info "Switching root to '$ROOTFS_DIR'..."
16 28
29 debug "Moving basic mounts onto rootfs"
30 for dir in `awk '/\/dev.* \/run\/media/{print $2}' /proc/mounts`; do
31 # Parse any OCT or HEX encoded chars such as spaces
32 # in the mount points to actual ASCII chars
33 dir=`printf $dir`
34 mkdir -p "${ROOTFS_DIR}/media/${dir##*/}"
35 mount -n --move "$dir" "${ROOTFS_DIR}/media/${dir##*/}"
36 done
37
17 debug "Moving /dev, /proc and /sys onto rootfs..." 38 debug "Moving /dev, /proc and /sys onto rootfs..."
18 mount --move /dev $ROOTFS_DIR/dev 39 mount --move /dev $ROOTFS_DIR/dev
19 mount --move /proc $ROOTFS_DIR/proc 40 mount --move /proc $ROOTFS_DIR/proc
diff --git a/meta/recipes-core/initrdscripts/initramfs-framework/overlayroot b/meta/recipes-core/initrdscripts/initramfs-framework/overlayroot
new file mode 100644
index 0000000000..0d41432878
--- /dev/null
+++ b/meta/recipes-core/initrdscripts/initramfs-framework/overlayroot
@@ -0,0 +1,118 @@
1#!/bin/sh
2
3# SPDX-License-Identifier: MIT
4#
5# Copyright 2022 (C), Microsoft Corporation
6
7# Simple initramfs module intended to mount a read-write (RW)
8# overlayfs on top of /, keeping the original root filesystem
9# as read-only (RO), free from modifications by the user.
10#
11# NOTE: The read-only IMAGE_FEATURE is not required for this to work
12#
13# This script is based on the overlay-etc.bbclass, which sets up
14# an overlay on top of the /etc directory, but in this case allows
15# accessing the original, unmodified rootfs at /rofs after boot.
16#
17# It relies on the initramfs-module-rootfs to mount the original
18# root filesystem, and requires 'overlayrootrwdev=<foo>' to be passed as a
19# kernel parameter, specifying the device/partition intended to
20# use as RW.
21# Mount options of the RW device can be tweaked with 'overlayrootfstype='
22# (defaults to 'ext4') and 'overlayrootfsflags=' ('defaults').
23#
24# This module needs to be executed after the initramfs-module-rootfs
25# since it relies on it to mount the filesystem at initramfs startup
26# but before the finish module which normally switches root.
27# After overlayroot is executed the usual boot flow continues from
28# the real init process.
29#
30# If something goes wrong while running this module, the rootfs
31# is still mounted RO (with no overlay) and the finish module is
32# executed to continue booting normally.
33#
34# It also has a dependency on overlayfs being enabled in the
35# running kernel via KERNEL_FEATURES (kmeta) or any other means.
36
37
38PATH=/sbin:/bin:/usr/sbin:/usr/bin
39
40# We get OLDROOT from the rootfs module
41OLDROOT="/rootfs"
42
43NEWROOT="${RWMOUNT}/root"
44RWMOUNT="/overlay"
45ROMOUNT="${RWMOUNT}/rofs"
46UPPER_DIR="${RWMOUNT}/upper"
47WORK_DIR="${RWMOUNT}/work"
48
49MODULES_DIR=/init.d
50
51# Something went wrong, make sure / is mounted as read only anyway.
52exit_gracefully() {
53 echo $1 >/dev/console
54 echo >/dev/console
55 echo "OverlayRoot mounting failed, starting system as read-only" >/dev/console
56 echo >/dev/console
57
58 # The following is borrowed from rootfs-postcommands.bbclass
59 # This basically looks at the real rootfs mounting options and
60 # replaces them with "ro"
61
62 # Tweak the mount option and fs_passno for rootfs in fstab
63 if [ -f ${OLDROOT}/etc/fstab ]; then
64 sed -i -e '/^[#[:space:]]*\/dev\/root/{s/defaults/ro/;s/\([[:space:]]*[[:digit:]]\)\([[:space:]]*\)[[:digit:]]$/\1\20/}' ${OLDROOT}/etc/fstab
65 fi
66
67 # Tweak the "mount -o remount,rw /" command in busybox-inittab inittab
68 if [ -f ${OLDROOT}/etc/inittab ]; then
69 sed -i 's|/bin/mount -o remount,rw /|/bin/mount -o remount,ro /|' ${OLDROOT}/etc/inittab
70 fi
71
72 # Continue as if the overlayroot module didn't exist to continue booting
73 . $MODULES_DIR/99-finish
74 eval "finish_run"
75}
76
77# migrate legacy parameter
78if [ ! -z "$bootparam_rootrw" ]; then
79 bootparam_overlayrootrwdev="$bootparam_rootrw"
80fi
81
82if [ -z "$bootparam_overlayrootrwdev" ]; then
83 exit_gracefully "overlayrootrwdev= kernel parameter doesn't exist and its required to mount the overlayfs"
84fi
85
86mkdir -p ${RWMOUNT}
87
88# Mount RW device
89if mount -n -t ${bootparam_overlayrootfstype:-ext4} -o ${bootparam_overlayrootfsflags:-defaults} ${bootparam_overlayrootrwdev} ${RWMOUNT}
90then
91 # Set up overlay directories
92 mkdir -p ${UPPER_DIR}
93 mkdir -p ${WORK_DIR}
94 mkdir -p ${NEWROOT}
95 mkdir -p ${ROMOUNT}
96
97 # Remount OLDROOT as read-only
98 mount -o bind ${OLDROOT} ${ROMOUNT}
99 mount -o remount,ro ${ROMOUNT}
100
101 # Mount RW overlay
102 mount -t overlay overlay -o lowerdir=${ROMOUNT},upperdir=${UPPER_DIR},workdir=${WORK_DIR} ${NEWROOT} || exit_gracefully "initramfs-overlayroot: Mounting overlay failed"
103else
104 exit_gracefully "initramfs-overlayroot: Mounting RW device failed"
105fi
106
107# Set up filesystems on overlay
108mkdir -p ${NEWROOT}/proc
109mkdir -p ${NEWROOT}/dev
110mkdir -p ${NEWROOT}/sys
111mkdir -p ${NEWROOT}/rofs
112
113mount -n --move ${ROMOUNT} ${NEWROOT}/rofs
114mount -n --move /proc ${NEWROOT}/proc
115mount -n --move /sys ${NEWROOT}/sys
116mount -n --move /dev ${NEWROOT}/dev
117
118exec chroot ${NEWROOT}/ ${bootparam_init:-/sbin/init} || exit_gracefully "Couldn't chroot into overlay"
diff --git a/meta/recipes-core/initrdscripts/initramfs-framework/rootfs b/meta/recipes-core/initrdscripts/initramfs-framework/rootfs
index ee24e82af3..e0efbe6ebe 100644
--- a/meta/recipes-core/initrdscripts/initramfs-framework/rootfs
+++ b/meta/recipes-core/initrdscripts/initramfs-framework/rootfs
@@ -24,24 +24,13 @@ rootfs_run() {
24 if [ "`echo ${bootparam_root} | cut -c1-5`" = "UUID=" ]; then 24 if [ "`echo ${bootparam_root} | cut -c1-5`" = "UUID=" ]; then
25 root_uuid=`echo $bootparam_root | cut -c6-` 25 root_uuid=`echo $bootparam_root | cut -c6-`
26 bootparam_root="/dev/disk/by-uuid/$root_uuid" 26 bootparam_root="/dev/disk/by-uuid/$root_uuid"
27 fi 27 elif [ "`echo ${bootparam_root} | cut -c1-9`" = "PARTUUID=" ]; then
28
29 if [ "`echo ${bootparam_root} | cut -c1-9`" = "PARTUUID=" ]; then
30 root_partuuid=`echo $bootparam_root | cut -c10-` 28 root_partuuid=`echo $bootparam_root | cut -c10-`
31 bootparam_root="/dev/disk/by-partuuid/$root_partuuid" 29 bootparam_root="/dev/disk/by-partuuid/$root_partuuid"
32 fi 30 elif [ "`echo ${bootparam_root} | cut -c1-10`" = "PARTLABEL=" ]; then
33
34 if [ "`echo ${bootparam_root} | cut -c1-10`" = "PARTLABEL=" ]; then
35 root_partlabel=`echo $bootparam_root | cut -c11-`
36 bootparam_root="/dev/disk/by-partlabel/$root_partlabel"
37 fi
38
39 if [ "`echo ${bootparam_root} | cut -c1-10`" = "PARTLABEL=" ]; then
40 root_partlabel=`echo $bootparam_root | cut -c11-` 31 root_partlabel=`echo $bootparam_root | cut -c11-`
41 bootparam_root="/dev/disk/by-partlabel/$root_partlabel" 32 bootparam_root="/dev/disk/by-partlabel/$root_partlabel"
42 fi 33 elif [ "`echo ${bootparam_root} | cut -c1-6`" = "LABEL=" ]; then
43
44 if [ "`echo ${bootparam_root} | cut -c1-6`" = "LABEL=" ]; then
45 root_label=`echo $bootparam_root | cut -c7-` 34 root_label=`echo $bootparam_root | cut -c7-`
46 bootparam_root="/dev/disk/by-label/$root_label" 35 bootparam_root="/dev/disk/by-label/$root_label"
47 fi 36 fi
@@ -67,8 +56,8 @@ rootfs_run() {
67 # It is unlikely to change, but keep trying anyway. 56 # It is unlikely to change, but keep trying anyway.
68 # Perhaps we pick a different device next time. 57 # Perhaps we pick a different device next time.
69 umount $ROOTFS_DIR 58 umount $ROOTFS_DIR
70 fi
71 fi 59 fi
60 fi
72 fi 61 fi
73 debug "Sleeping for $delay second(s) to wait root to settle..." 62 debug "Sleeping for $delay second(s) to wait root to settle..."
74 sleep $delay 63 sleep $delay
diff --git a/meta/recipes-core/initrdscripts/initramfs-framework/setup-live b/meta/recipes-core/initrdscripts/initramfs-framework/setup-live
index 4c79f41285..7e92f93322 100644
--- a/meta/recipes-core/initrdscripts/initramfs-framework/setup-live
+++ b/meta/recipes-core/initrdscripts/initramfs-framework/setup-live
@@ -1,4 +1,4 @@
1#/bin/sh 1#!/bin/sh
2# Copyright (C) 2011 O.S. Systems Software LTDA. 2# Copyright (C) 2011 O.S. Systems Software LTDA.
3# Licensed on MIT 3# Licensed on MIT
4 4
diff --git a/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb
index c53a0c03ae..4dbb56a42d 100644
--- a/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb
+++ b/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb
@@ -1,10 +1,9 @@
1SUMMARY = "Modular initramfs system" 1SUMMARY = "Modular initramfs system"
2LICENSE = "MIT" 2LICENSE = "MIT"
3LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" 3LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
4RDEPENDS_${PN} += "${VIRTUAL-RUNTIME_base-utils}" 4RDEPENDS:${PN} += "${VIRTUAL-RUNTIME_base-utils}"
5RRECOMMENDS_${PN} = "${VIRTUAL-RUNTIME_base-utils-syslog}" 5RRECOMMENDS:${PN} = "${VIRTUAL-RUNTIME_base-utils-syslog}"
6 6
7PR = "r4"
8 7
9inherit allarch 8inherit allarch
10 9
@@ -18,6 +17,7 @@ SRC_URI = "file://init \
18 file://e2fs \ 17 file://e2fs \
19 file://debug \ 18 file://debug \
20 file://lvm \ 19 file://lvm \
20 file://overlayroot \
21 " 21 "
22 22
23S = "${WORKDIR}" 23S = "${WORKDIR}"
@@ -26,28 +26,31 @@ do_install() {
26 install -d ${D}/init.d 26 install -d ${D}/init.d
27 27
28 # base 28 # base
29 install -m 0755 ${WORKDIR}/init ${D}/init 29 install -m 0755 ${S}/init ${D}/init
30 install -m 0755 ${WORKDIR}/nfsrootfs ${D}/init.d/85-nfsrootfs 30 install -m 0755 ${S}/nfsrootfs ${D}/init.d/85-nfsrootfs
31 install -m 0755 ${WORKDIR}/rootfs ${D}/init.d/90-rootfs 31 install -m 0755 ${S}/rootfs ${D}/init.d/90-rootfs
32 install -m 0755 ${WORKDIR}/finish ${D}/init.d/99-finish 32 install -m 0755 ${S}/finish ${D}/init.d/99-finish
33 33
34 # exec 34 # exec
35 install -m 0755 ${WORKDIR}/exec ${D}/init.d/89-exec 35 install -m 0755 ${S}/exec ${D}/init.d/89-exec
36 36
37 # mdev 37 # mdev
38 install -m 0755 ${WORKDIR}/mdev ${D}/init.d/01-mdev 38 install -m 0755 ${S}/mdev ${D}/init.d/01-mdev
39 39
40 # udev 40 # udev
41 install -m 0755 ${WORKDIR}/udev ${D}/init.d/01-udev 41 install -m 0755 ${S}/udev ${D}/init.d/01-udev
42 42
43 # e2fs 43 # e2fs
44 install -m 0755 ${WORKDIR}/e2fs ${D}/init.d/10-e2fs 44 install -m 0755 ${S}/e2fs ${D}/init.d/10-e2fs
45 45
46 # debug 46 # debug
47 install -m 0755 ${WORKDIR}/debug ${D}/init.d/00-debug 47 install -m 0755 ${S}/debug ${D}/init.d/00-debug
48 48
49 # lvm 49 # lvm
50 install -m 0755 ${WORKDIR}/lvm ${D}/init.d/09-lvm 50 install -m 0755 ${S}/lvm ${D}/init.d/09-lvm
51
52 # overlayroot needs to run after rootfs module but before finish
53 install -m 0755 ${S}/overlayroot ${D}/init.d/91-overlayroot
51 54
52 # Create device nodes expected by some kernels in initramfs 55 # Create device nodes expected by some kernels in initramfs
53 # before even executing /init. 56 # before even executing /init.
@@ -64,9 +67,10 @@ PACKAGES = "${PN}-base \
64 initramfs-module-rootfs \ 67 initramfs-module-rootfs \
65 initramfs-module-debug \ 68 initramfs-module-debug \
66 initramfs-module-lvm \ 69 initramfs-module-lvm \
70 initramfs-module-overlayroot \
67 " 71 "
68 72
69FILES_${PN}-base = "/init /init.d/99-finish /dev" 73FILES:${PN}-base = "/init /init.d/99-finish /dev"
70 74
71# 99-finish in base depends on some other module which mounts 75# 99-finish in base depends on some other module which mounts
72# the rootfs, like 90-rootfs. To replace that default, use 76# the rootfs, like 90-rootfs. To replace that default, use
@@ -74,36 +78,40 @@ FILES_${PN}-base = "/init /init.d/99-finish /dev"
74# initramfs recipe and install something else, or install 78# initramfs recipe and install something else, or install
75# something that runs earlier (for example, a 89-my-rootfs) 79# something that runs earlier (for example, a 89-my-rootfs)
76# and mounts the rootfs. Then 90-rootfs will proceed immediately. 80# and mounts the rootfs. Then 90-rootfs will proceed immediately.
77RRECOMMENDS_${PN}-base += "initramfs-module-rootfs" 81RRECOMMENDS:${PN}-base += "initramfs-module-rootfs"
82
83SUMMARY:initramfs-module-exec = "initramfs support for easy execution of applications"
84RDEPENDS:initramfs-module-exec = "${PN}-base"
85FILES:initramfs-module-exec = "/init.d/89-exec"
78 86
79SUMMARY_initramfs-module-exec = "initramfs support for easy execution of applications" 87SUMMARY:initramfs-module-mdev = "initramfs support for mdev"
80RDEPENDS_initramfs-module-exec = "${PN}-base" 88RDEPENDS:initramfs-module-mdev = "${PN}-base busybox-mdev"
81FILES_initramfs-module-exec = "/init.d/89-exec" 89FILES:initramfs-module-mdev = "/init.d/01-mdev"
82 90
83SUMMARY_initramfs-module-mdev = "initramfs support for mdev" 91SUMMARY:initramfs-module-udev = "initramfs support for udev"
84RDEPENDS_initramfs-module-mdev = "${PN}-base busybox-mdev" 92RDEPENDS:initramfs-module-udev = "${PN}-base udev"
85FILES_initramfs-module-mdev = "/init.d/01-mdev" 93FILES:initramfs-module-udev = "/init.d/01-udev"
86 94
87SUMMARY_initramfs-module-udev = "initramfs support for udev" 95SUMMARY:initramfs-module-e2fs = "initramfs support for ext4/ext3/ext2 filesystems"
88RDEPENDS_initramfs-module-udev = "${PN}-base udev" 96RDEPENDS:initramfs-module-e2fs = "${PN}-base"
89FILES_initramfs-module-udev = "/init.d/01-udev" 97FILES:initramfs-module-e2fs = "/init.d/10-e2fs"
90 98
91SUMMARY_initramfs-module-e2fs = "initramfs support for ext4/ext3/ext2 filesystems" 99SUMMARY:initramfs-module-nfsrootfs = "initramfs support for locating and mounting the root partition via nfs"
92RDEPENDS_initramfs-module-e2fs = "${PN}-base" 100RDEPENDS:initramfs-module-nfsrootfs = "${PN}-base"
93FILES_initramfs-module-e2fs = "/init.d/10-e2fs" 101FILES:initramfs-module-nfsrootfs = "/init.d/85-nfsrootfs"
94 102
95SUMMARY_initramfs-module-nfsrootfs = "initramfs support for locating and mounting the root partition via nfs" 103SUMMARY:initramfs-module-rootfs = "initramfs support for locating and mounting the root partition"
96RDEPENDS_initramfs-module-nfsrootfs = "${PN}-base" 104RDEPENDS:initramfs-module-rootfs = "${PN}-base"
97FILES_initramfs-module-nfsrootfs = "/init.d/85-nfsrootfs" 105FILES:initramfs-module-rootfs = "/init.d/90-rootfs"
98 106
99SUMMARY_initramfs-module-rootfs = "initramfs support for locating and mounting the root partition" 107SUMMARY:initramfs-module-debug = "initramfs dynamic debug support"
100RDEPENDS_initramfs-module-rootfs = "${PN}-base" 108RDEPENDS:initramfs-module-debug = "${PN}-base"
101FILES_initramfs-module-rootfs = "/init.d/90-rootfs" 109FILES:initramfs-module-debug = "/init.d/00-debug"
102 110
103SUMMARY_initramfs-module-debug = "initramfs dynamic debug support" 111SUMMARY:initramfs-module-lvm = "initramfs lvm rootfs support"
104RDEPENDS_initramfs-module-debug = "${PN}-base" 112RDEPENDS:initramfs-module-lvm = "${PN}-base"
105FILES_initramfs-module-debug = "/init.d/00-debug" 113FILES:initramfs-module-lvm = "/init.d/09-lvm"
106 114
107SUMMARY_initramfs-module-lvm = "initramfs lvm rootfs support" 115SUMMARY:initramfs-module-overlayroot = "initramfs support for mounting a RW overlay on top of a RO root filesystem"
108RDEPENDS_initramfs-module-lvm = "${PN}-base" 116RDEPENDS:initramfs-module-overlayroot = "${PN}-base initramfs-module-rootfs"
109FILES_initramfs-module-lvm = "/init.d/09-lvm" 117FILES:initramfs-module-overlayroot = "/init.d/91-overlayroot"
diff --git a/meta/recipes-core/initrdscripts/initramfs-live-boot-tiny_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-live-boot-tiny_1.0.bb
index 7a9a8ecae2..a06e7902ee 100644
--- a/meta/recipes-core/initrdscripts/initramfs-live-boot-tiny_1.0.bb
+++ b/meta/recipes-core/initrdscripts/initramfs-live-boot-tiny_1.0.bb
@@ -2,20 +2,19 @@ SUMMARY = "Live image init script"
2LICENSE = "MIT" 2LICENSE = "MIT"
3LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" 3LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
4DEPENDS = "virtual/kernel" 4DEPENDS = "virtual/kernel"
5RDEPENDS_${PN} = "busybox-mdev" 5RDEPENDS:${PN} = "busybox-mdev"
6SRC_URI = "file://init-live.sh" 6SRC_URI = "file://init-live.sh"
7 7
8PR = "r12"
9 8
10S = "${WORKDIR}" 9S = "${WORKDIR}"
11 10
12do_install() { 11do_install() {
13 install -m 0755 ${WORKDIR}/init-live.sh ${D}/init 12 install -m 0755 ${S}/init-live.sh ${D}/init
14 install -d ${D}/dev 13 install -d ${D}/dev
15 mknod -m 622 ${D}/dev/console c 5 1 14 mknod -m 622 ${D}/dev/console c 5 1
16} 15}
17 16
18FILES_${PN} += " /init /dev " 17FILES:${PN} += " /init /dev "
19 18
20# Due to kernel dependency 19# Due to kernel dependency
21PACKAGE_ARCH = "${MACHINE_ARCH}" 20PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/meta/recipes-core/initrdscripts/initramfs-live-boot_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-live-boot_1.0.bb
index 57b30254a6..e1bf15d293 100644
--- a/meta/recipes-core/initrdscripts/initramfs-live-boot_1.0.bb
+++ b/meta/recipes-core/initrdscripts/initramfs-live-boot_1.0.bb
@@ -2,20 +2,19 @@ SUMMARY = "Live image init script"
2LICENSE = "MIT" 2LICENSE = "MIT"
3LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" 3LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
4DEPENDS = "virtual/kernel" 4DEPENDS = "virtual/kernel"
5RDEPENDS_${PN} = "udev udev-extraconf" 5RDEPENDS:${PN} = "udev udev-extraconf"
6SRC_URI = "file://init-live.sh" 6SRC_URI = "file://init-live.sh"
7 7
8PR = "r12"
9 8
10S = "${WORKDIR}" 9S = "${WORKDIR}"
11 10
12do_install() { 11do_install() {
13 install -m 0755 ${WORKDIR}/init-live.sh ${D}/init 12 install -m 0755 ${S}/init-live.sh ${D}/init
14 install -d ${D}/dev 13 install -d ${D}/dev
15 mknod -m 622 ${D}/dev/console c 5 1 14 mknod -m 622 ${D}/dev/console c 5 1
16} 15}
17 16
18FILES_${PN} += " /init /dev " 17FILES:${PN} += " /init /dev "
19 18
20# Due to kernel dependency 19# Due to kernel dependency
21PACKAGE_ARCH = "${MACHINE_ARCH}" 20PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/meta/recipes-core/initrdscripts/initramfs-live-install-efi-testfs_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-live-install-efi-testfs_1.0.bb
index c03bd2d765..1225ce4df9 100644
--- a/meta/recipes-core/initrdscripts/initramfs-live-install-efi-testfs_1.0.bb
+++ b/meta/recipes-core/initrdscripts/initramfs-live-install-efi-testfs_1.0.bb
@@ -3,14 +3,14 @@ LICENSE = "MIT"
3LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" 3LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
4SRC_URI = "file://init-install-efi-testfs.sh" 4SRC_URI = "file://init-install-efi-testfs.sh"
5 5
6RDEPENDS_${PN} = "parted e2fsprogs-mke2fs dosfstools" 6RDEPENDS:${PN} = "parted e2fsprogs-mke2fs dosfstools"
7 7
8S = "${WORKDIR}" 8S = "${WORKDIR}"
9 9
10do_install() { 10do_install() {
11 install -m 0755 ${WORKDIR}/init-install-efi-testfs.sh ${D}/install-efi.sh 11 install -m 0755 ${S}/init-install-efi-testfs.sh ${D}/install-efi.sh
12} 12}
13 13
14INHIBIT_DEFAULT_DEPS = "1" 14INHIBIT_DEFAULT_DEPS = "1"
15FILES_${PN} = " /install-efi.sh " 15FILES:${PN} = " /install-efi.sh "
16COMPATIBLE_HOST = "(i.86|x86_64).*-linux" 16COMPATIBLE_HOST = "(i.86|x86_64).*-linux"
diff --git a/meta/recipes-core/initrdscripts/initramfs-live-install-efi_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-live-install-efi_1.0.bb
index cc842ae8b7..ae7d5beb2f 100644
--- a/meta/recipes-core/initrdscripts/initramfs-live-install-efi_1.0.bb
+++ b/meta/recipes-core/initrdscripts/initramfs-live-install-efi_1.0.bb
@@ -3,15 +3,14 @@ LICENSE = "MIT"
3LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" 3LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
4SRC_URI = "file://init-install-efi.sh" 4SRC_URI = "file://init-install-efi.sh"
5 5
6PR = "r1"
7 6
8RDEPENDS_${PN} = "parted e2fsprogs-mke2fs dosfstools util-linux-blkid ${VIRTUAL-RUNTIME_base-utils}" 7RDEPENDS:${PN} = "parted e2fsprogs-mke2fs dosfstools util-linux-blkid ${VIRTUAL-RUNTIME_base-utils}"
9RRECOMMENDS_${PN} = "${VIRTUAL-RUNTIME_base-utils-syslog}" 8RRECOMMENDS:${PN} = "${VIRTUAL-RUNTIME_base-utils-syslog}"
10 9
11S = "${WORKDIR}" 10S = "${WORKDIR}"
12 11
13do_install() { 12do_install() {
14 install -m 0755 ${WORKDIR}/init-install-efi.sh ${D}/install-efi.sh 13 install -m 0755 ${S}/init-install-efi.sh ${D}/install-efi.sh
15} 14}
16 15
17# While this package maybe an allarch due to it being a 16# While this package maybe an allarch due to it being a
@@ -20,6 +19,6 @@ do_install() {
20#inherit allarch 19#inherit allarch
21INHIBIT_DEFAULT_DEPS = "1" 20INHIBIT_DEFAULT_DEPS = "1"
22 21
23FILES_${PN} = " /install-efi.sh " 22FILES:${PN} = " /install-efi.sh "
24 23
25COMPATIBLE_HOST = "(i.86.*|x86_64.*|aarch64.*)-linux" 24COMPATIBLE_HOST = "(i.86.*|x86_64.*|aarch64.*)-linux"
diff --git a/meta/recipes-core/initrdscripts/initramfs-live-install-testfs_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-live-install-testfs_1.0.bb
index 937bfd4d38..018911f5d1 100644
--- a/meta/recipes-core/initrdscripts/initramfs-live-install-testfs_1.0.bb
+++ b/meta/recipes-core/initrdscripts/initramfs-live-install-testfs_1.0.bb
@@ -3,14 +3,14 @@ LICENSE = "MIT"
3LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" 3LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
4SRC_URI = "file://init-install-testfs.sh" 4SRC_URI = "file://init-install-testfs.sh"
5 5
6RDEPENDS_${PN} = "grub parted e2fsprogs-mke2fs" 6RDEPENDS:${PN} = "grub parted e2fsprogs-mke2fs"
7 7
8S = "${WORKDIR}" 8S = "${WORKDIR}"
9 9
10do_install() { 10do_install() {
11 install -m 0755 ${WORKDIR}/init-install-testfs.sh ${D}/install.sh 11 install -m 0755 ${S}/init-install-testfs.sh ${D}/install.sh
12} 12}
13 13
14INHIBIT_DEFAULT_DEPS = "1" 14INHIBIT_DEFAULT_DEPS = "1"
15FILES_${PN} = " /install.sh " 15FILES:${PN} = " /install.sh "
16COMPATIBLE_HOST = "(i.86|x86_64).*-linux" 16COMPATIBLE_HOST = "(i.86|x86_64).*-linux"
diff --git a/meta/recipes-core/initrdscripts/initramfs-live-install_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-live-install_1.0.bb
index 48fc0c4a76..12b2820318 100644
--- a/meta/recipes-core/initrdscripts/initramfs-live-install_1.0.bb
+++ b/meta/recipes-core/initrdscripts/initramfs-live-install_1.0.bb
@@ -3,15 +3,14 @@ LICENSE = "MIT"
3LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" 3LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
4SRC_URI = "file://init-install.sh" 4SRC_URI = "file://init-install.sh"
5 5
6PR = "r9"
7 6
8S = "${WORKDIR}" 7S = "${WORKDIR}"
9 8
10RDEPENDS_${PN} = "grub parted e2fsprogs-mke2fs util-linux-blkid ${VIRTUAL-RUNTIME_base-utils}" 9RDEPENDS:${PN} = "grub parted e2fsprogs-mke2fs util-linux-blkid ${VIRTUAL-RUNTIME_base-utils}"
11RRECOMMENDS_${PN} = "${VIRTUAL-RUNTIME_base-utils-syslog}" 10RRECOMMENDS:${PN} = "${VIRTUAL-RUNTIME_base-utils-syslog}"
12 11
13do_install() { 12do_install() {
14 install -m 0755 ${WORKDIR}/init-install.sh ${D}/install.sh 13 install -m 0755 ${S}/init-install.sh ${D}/install.sh
15} 14}
16 15
17# While this package maybe an allarch due to it being a 16# While this package maybe an allarch due to it being a
@@ -20,6 +19,6 @@ do_install() {
20#inherit allarch 19#inherit allarch
21INHIBIT_DEFAULT_DEPS = "1" 20INHIBIT_DEFAULT_DEPS = "1"
22 21
23FILES_${PN} = " /install.sh " 22FILES:${PN} = " /install.sh "
24 23
25COMPATIBLE_HOST = "(i.86.*|x86_64.*|aarch64.*)-linux" 24COMPATIBLE_HOST = "(i.86.*|x86_64.*|aarch64.*)-linux"
diff --git a/meta/recipes-core/initrdscripts/initramfs-module-install-efi_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-module-install-efi_1.0.bb
index 523138cff3..adea2330ae 100644
--- a/meta/recipes-core/initrdscripts/initramfs-module-install-efi_1.0.bb
+++ b/meta/recipes-core/initrdscripts/initramfs-module-install-efi_1.0.bb
@@ -1,10 +1,9 @@
1SUMMARY = "initramfs-framework module for EFI installation option" 1SUMMARY = "initramfs-framework module for EFI installation option"
2LICENSE = "MIT" 2LICENSE = "MIT"
3LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" 3LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
4RDEPENDS_${PN} = "initramfs-framework-base parted e2fsprogs-mke2fs dosfstools util-linux-blkid ${VIRTUAL-RUNTIME_base-utils}" 4RDEPENDS:${PN} = "initramfs-framework-base parted e2fsprogs-mke2fs dosfstools util-linux-blkid ${VIRTUAL-RUNTIME_base-utils}"
5RRECOMMENDS_${PN} = "${VIRTUAL-RUNTIME_base-utils-syslog}" 5RRECOMMENDS:${PN} = "${VIRTUAL-RUNTIME_base-utils-syslog}"
6 6
7PR = "r4"
8 7
9SRC_URI = "file://init-install-efi.sh" 8SRC_URI = "file://init-install-efi.sh"
10 9
@@ -12,7 +11,7 @@ S = "${WORKDIR}"
12 11
13do_install() { 12do_install() {
14 install -d ${D}/init.d 13 install -d ${D}/init.d
15 install -m 0755 ${WORKDIR}/init-install-efi.sh ${D}/init.d/install-efi.sh 14 install -m 0755 ${S}/init-install-efi.sh ${D}/init.d/install-efi.sh
16} 15}
17 16
18FILES_${PN} = "/init.d/install-efi.sh" 17FILES:${PN} = "/init.d/install-efi.sh"
diff --git a/meta/recipes-core/initrdscripts/initramfs-module-install_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-module-install_1.0.bb
index 56898e824f..e4ae466d7c 100644
--- a/meta/recipes-core/initrdscripts/initramfs-module-install_1.0.bb
+++ b/meta/recipes-core/initrdscripts/initramfs-module-install_1.0.bb
@@ -1,15 +1,14 @@
1SUMMARY = "initramfs-framework module for installation option" 1SUMMARY = "initramfs-framework module for installation option"
2LICENSE = "MIT" 2LICENSE = "MIT"
3LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" 3LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
4RDEPENDS_${PN} = "initramfs-framework-base grub parted e2fsprogs-mke2fs util-linux-blkid ${VIRTUAL-RUNTIME_base-utils}" 4RDEPENDS:${PN} = "initramfs-framework-base grub parted e2fsprogs-mke2fs util-linux-blkid ${VIRTUAL-RUNTIME_base-utils}"
5RRECOMMENDS_${PN} = "${VIRTUAL-RUNTIME_base-utils-syslog}" 5RRECOMMENDS:${PN} = "${VIRTUAL-RUNTIME_base-utils-syslog}"
6 6
7# The same restriction as grub 7# The same restriction as grub
8COMPATIBLE_HOST = '(x86_64.*|i.86.*|arm.*|aarch64.*)-(linux.*|freebsd.*)' 8COMPATIBLE_HOST = '(x86_64.*|i.86.*|arm.*|aarch64.*|loongarch64.*)-(linux.*|freebsd.*)'
9COMPATIBLE_HOST_armv7a = 'null' 9COMPATIBLE_HOST:armv7a = 'null'
10COMPATIBLE_HOST_armv7ve = 'null' 10COMPATIBLE_HOST:armv7ve = 'null'
11 11
12PR = "r1"
13 12
14SRC_URI = "file://init-install.sh" 13SRC_URI = "file://init-install.sh"
15 14
@@ -17,7 +16,7 @@ S = "${WORKDIR}"
17 16
18do_install() { 17do_install() {
19 install -d ${D}/init.d 18 install -d ${D}/init.d
20 install -m 0755 ${WORKDIR}/init-install.sh ${D}/init.d/install.sh 19 install -m 0755 ${S}/init-install.sh ${D}/init.d/install.sh
21} 20}
22 21
23FILES_${PN} = "/init.d/install.sh" 22FILES:${PN} = "/init.d/install.sh"
diff --git a/meta/recipes-core/initrdscripts/initramfs-module-setup-live_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-module-setup-live_1.0.bb
index 4d2fe9dd2b..4d2c11f452 100644
--- a/meta/recipes-core/initrdscripts/initramfs-module-setup-live_1.0.bb
+++ b/meta/recipes-core/initrdscripts/initramfs-module-setup-live_1.0.bb
@@ -1,20 +1,19 @@
1SUMMARY = "initramfs-framework module for live booting" 1SUMMARY = "initramfs-framework module for live booting"
2LICENSE = "MIT" 2LICENSE = "MIT"
3LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" 3LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
4RDEPENDS_${PN} = "initramfs-framework-base udev-extraconf" 4RDEPENDS:${PN} = "initramfs-framework-base udev-extraconf"
5 5
6PR = "r4"
7 6
8inherit allarch 7inherit allarch
9 8
10FILESEXTRAPATHS_prepend := "${THISDIR}/initramfs-framework:" 9FILESEXTRAPATHS:prepend := "${THISDIR}/initramfs-framework:"
11SRC_URI = "file://setup-live" 10SRC_URI = "file://setup-live"
12 11
13S = "${WORKDIR}" 12S = "${WORKDIR}"
14 13
15do_install() { 14do_install() {
16 install -d ${D}/init.d 15 install -d ${D}/init.d
17 install -m 0755 ${WORKDIR}/setup-live ${D}/init.d/80-setup-live 16 install -m 0755 ${S}/setup-live ${D}/init.d/80-setup-live
18} 17}
19 18
20FILES_${PN} = "/init.d/80-setup-live" 19FILES:${PN} = "/init.d/80-setup-live"