[RFC PATCH v3 02/10] rootfs: Allow to overwrite the initramfs generation cmds

2 views
Skip to first unread message

Quirin Gylstorff

unread,
Oct 6, 2025, 2:32:18 PM (8 days ago) Oct 6
to isar-...@googlegroups.com, jan.k...@siemens.com, felix.mo...@siemens.com, cedric.h...@siemens.com
From: Quirin Gylstorff <quirin.g...@siemens.com>

This is in preparation to support additional initramfs generators
like dracut.

Signed-off-by: Quirin Gylstorff <quirin.g...@siemens.com>
---
meta/classes/rootfs.bbclass | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/meta/classes/rootfs.bbclass b/meta/classes/rootfs.bbclass
index ebe3bf4a..ef2b7376 100644
--- a/meta/classes/rootfs.bbclass
+++ b/meta/classes/rootfs.bbclass
@@ -5,7 +5,13 @@ inherit deb-dl-dir

ROOTFS_ARCH ?= "${DISTRO_ARCH}"
ROOTFS_DISTRO ?= "${DISTRO}"
+
+def initramfs_generator_cmdline(d):
+ return "update-initramfs -u -v -k \"$kernel_version\""
+
ROOTFS_PACKAGES ?= ""
+ROOTFS_INITRAMFS_GENERATOR_CMD = "${@ d.getVar('ROOTFS_INITRAMFS_GENERATOR_CMDLINE').split()[0]}"
+ROOTFS_INITRAMFS_GENERATOR_CMDLINE = "${@ initramfs_generator_cmdline(d)}"
ROOTFS_BASE_DISTRO ?= "${BASE_DISTRO}"

# Features of the rootfs creation:
@@ -183,7 +189,7 @@ rootfs_disable_initrd_generation[weight] = "1"
rootfs_disable_initrd_generation() {
# fully disable initrd generation
sudo mkdir -p "${ROOTFSDIR}${ROOTFS_STUBS_DIR}"
- sudo cp -a ${ROOTFSDIR}/usr/bin/true ${ROOTFSDIR}${ROOTFS_STUBS_DIR}/update-initramfs
+ sudo cp -a ${ROOTFSDIR}/usr/bin/true ${ROOTFSDIR}${ROOTFS_STUBS_DIR}/${ROOTFS_INITRAMFS_GENERATOR_CMD}
}

ROOTFS_INSTALL_COMMAND += "rootfs_install_pkgs_update"
@@ -486,12 +492,13 @@ rootfs_generate_initramfs() {
mods_total="$(find /usr/lib/modules/$kernel_version -type f -name '*.ko*' | wc -l)"; \
echo "Total number of modules: $mods_total"; \
echo "Generating initrd for kernel version: $kernel_version"; \
- update-initramfs -u -v -k "$kernel_version"; \
+ ${ROOTFS_INITRAMFS_GENERATOR_CMDLINE}; \
done;'
if [ -n "${INITRD_DEPLOY_FILE}" ]; then
if [ -f "${ROOTFSDIR}/initrd.img" ]; then
# debian (mkinitramfs)
- cp ${ROOTFSDIR}/initrd.img ${DEPLOYDIR}/${INITRD_DEPLOY_FILE}
+ sudo cp ${ROOTFSDIR}/initrd.img ${DEPLOYDIR}/${INITRD_DEPLOY_FILE}
+ sudo chown $(id -u):$(id -g) ${DEPLOYDIR}/${INITRD_DEPLOY_FILE}
else
# ubuntu (dracut)
cp ${ROOTFSDIR}/boot/initrd.img ${DEPLOYDIR}/${INITRD_DEPLOY_FILE}
--
2.51.0

Reply all
Reply to author
Forward
0 new messages