[Buildroot] [git commit] fs/cpio: don't fail systems without /dev/null

Thomas Petazzoni thomas.petazzoni at bootlin.com
Tue Nov 1 20:44:49 UTC 2022


commit: https://git.buildroot.net/buildroot/commit/?id=d0b7e11b93577bee5611be959fb4f4a9858dae38
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master

We pass all our dracut configuration files via a config dir, but dracut
insists with having one config file. Because we do not want to have to
chose which file we pass (which would then have to be excluded from the
config dir), we just used an arbitrary empty file, and /dev/null seemed
to be a good candidate.

However, some build environments do not have a complete /dev, and may be
missing entries otherwise taken for granted, like /dev/null. This is
especially the case in constrained environments like containers.

Switch away from using /dev/null, and do create an actual empty file
that we can use as the dracut config file.

Fixes:

  https://gitlab.com/buildroot.org/buildroot/-/jobs/3249828364

Reported-by: Thomas Petazzoni <thomas.petazzoni at bootlin.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998 at free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni at bootlin.com>
---
 fs/cpio/cpio.mk | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/fs/cpio/cpio.mk b/fs/cpio/cpio.mk
index d671c337df..061f4a18f1 100644
--- a/fs/cpio/cpio.mk
+++ b/fs/cpio/cpio.mk
@@ -69,12 +69,13 @@ endif
 
 define ROOTFS_CPIO_CMD
 	mkdir -p $(ROOTFS_CPIO_DIR)/tmp $(ROOTFS_CPIO_DIR)/confdir
+	touch $(ROOTFS_CPIO_DIR)/empty-config
 	$(foreach cfg,$(ROOTFS_CPIO_DRACUT_CONF_FILES), \
 		cp $(cfg) $(ROOTFS_CPIO_DIR)/confdir/$(notdir $(cfg))
 	)
 	$(HOST_DIR)/bin/dracut \
 		$(ROOTFS_CPIO_OPTS) \
-		-c /dev/null \
+		-c $(ROOTFS_CPIO_DIR)/empty-config \
 		--confdir $(ROOTFS_CPIO_DIR)/confdir \
 		--sysroot $(TARGET_DIR) \
 		--tmpdir $(ROOTFS_CPIO_DIR)/tmp \



More information about the buildroot mailing list