After 78d42de "rootfs: rework no-generate-initrd rootfs feature", the logic
for adding "generate-initrd" feature was moved from image.bbclass to
rootfs.bbclass. This feature controls whether the initrd(initramfs) is
generated and deployed under build/tmp/deploy/images/. By default, this
feature is not added.
However, initramfs.bbclass also inherits rootfs.bbclass. As a result, builds
of initramfs recipes, such as
isar-initramfs.bb, no longer generate or deploy
an initrd image. The test case test_var_image_initrd has failed.
This patch adds "generate-initrd" feature back to initramfs.bbclass, and
cleans up incorrect conflict resolving in c3c4e72.
Signed-off-by: Zhihang Wei <
w...@ilbers.de>
---
meta/classes-recipe/image.bbclass | 3 +++
meta/classes-recipe/initramfs.bbclass | 1 +
meta/classes-recipe/rootfs.bbclass | 4 ----
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/meta/classes-recipe/image.bbclass b/meta/classes-recipe/image.bbclass
index 24a23808..2c8beefa 100644
--- a/meta/classes-recipe/image.bbclass
+++ b/meta/classes-recipe/image.bbclass
@@ -48,6 +48,9 @@ python() {
d.setVar('INITRD_DEPLOY_FILE', initrd_image)
}
+# Generate and deploy debian default initrd if no custom initrd needs to be built
+ROOTFS_FEATURES += "${@ 'generate-initrd' if (d.getVar('INITRD_IMAGE') == '' and d.getVar('IMAGE_INITRD') == '') else ''}"
+
# This variable is used by wic and start_vm
KERNEL_IMAGE ?= "${IMAGE_FULLNAME}-${KERNEL_FILE}"
diff --git a/meta/classes-recipe/initramfs.bbclass b/meta/classes-recipe/initramfs.bbclass
index 85b07f28..7d4ae523 100644
--- a/meta/classes-recipe/initramfs.bbclass
+++ b/meta/classes-recipe/initramfs.bbclass
@@ -27,6 +27,7 @@ DEPENDS += "${INITRAMFS_INSTALL}"
ROOTFSDIR = "${INITRAMFS_ROOTFS}"
ROOTFS_FEATURES = "generate-manifest"
+ROOTFS_FEATURES += "generate-initrd"
ROOTFS_PACKAGES = "${INITRAMFS_GENERATOR_PKG} ${INITRAMFS_PREINSTALL} ${INITRAMFS_INSTALL}"
# validate whether there are incompatible packages in the installation list
diff --git a/meta/classes-recipe/rootfs.bbclass b/meta/classes-recipe/rootfs.bbclass
index eb5645af..cbb658dd 100644
--- a/meta/classes-recipe/rootfs.bbclass
+++ b/meta/classes-recipe/rootfs.bbclass
@@ -23,8 +23,6 @@ ROOTFS_INITRAMFS_GENERATOR_CMD = "${@ d.getVar('ROOTFS_INITRAMFS_GENERATOR_CMDLI
ROOTFS_INITRAMFS_GENERATOR_CMDLINE = "${@ initramfs_generator_cmdline(d)}"
ROOTFS_BASE_DISTRO ?= "${BASE_DISTRO}"
-IMAGE_INITRD ?= ""
-
# Features of the rootfs creation:
# available features are:
# 'clean-package-cache' - delete package cache from rootfs
@@ -32,8 +30,6 @@ IMAGE_INITRD ?= ""
# 'export-dpkg-status' - exports /var/lib/dpkg/status file to ${ROOTFS_DPKGSTATUS_DEPLOY_DIR}
# 'clean-log-files' - delete log files that are not owned by packages
# 'populate-systemd-preset' - enable systemd units according to systemd presets
-# 'generate-initrd' - generate debian default initrd
-ROOTFS_FEATURES += "${@ 'generate-initrd' if d.getVar('IMAGE_INITRD') == '' else ''}"
ROOTFS_APT_ARGS="install --yes -o Debug::pkgProblemResolver=yes"
--
2.39.5