diff mbox series

fs/cpio: don't fail systems without /dev/null

Message ID 20221101183032.3631097-1-yann.morin.1998@free.fr
State Accepted
Headers show
Series fs/cpio: don't fail systems without /dev/null | expand

Commit Message

Yann E. MORIN Nov. 1, 2022, 6:30 p.m. UTC
We pass all our dracut configuration files via a config dir, but dracut
insist 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 fro; the
config dir), we jsut 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/n ull, 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@bootlin.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
---
 fs/cpio/cpio.mk | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Thomas Petazzoni Nov. 1, 2022, 8:45 p.m. UTC | #1
On Tue,  1 Nov 2022 19:30:32 +0100
"Yann E. MORIN" <yann.morin.1998@free.fr> wrote:

> We pass all our dracut configuration files via a config dir, but dracut
> insist 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 fro; the
> config dir), we jsut 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/n ull, 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@bootlin.com>
> Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
> ---
>  fs/cpio/cpio.mk | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)

Applied to master, thanks.

Thomas
diff mbox series

Patch

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 \