Skip to contentSkip to conversation

Linux: Clear CONFIG_INITRAMFS_SOURCE if BR2_TARGET_ROOTFS_INITRAMFS is not set

PATCH New Evgeniy Didin 3 participants 4 messages Nov 13, 2017

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Linux: Clear CONFIG_INITRAMFS_SOURCE if BR2_TARGET_ROOTFS_INITRAMFS is not set

This patch makes sure CONFIG_INITRAMFS_SOURCE option gets reset
when BR2_TARGET_ROOTFS_INITRAMFS is not set. Some kernel defconfigs,
for example for ARC processors, set CONFIG_INITRAMFS_SOURCE value, which cause such error:
"./scripts/gen_initramfs_list.sh: Cannot open '../../arc_initramfs_hs/'"

CC Alexey Brodkin <[email protected]>
Cc arc-buildroot at synopsys.com
Cc Thomas Petazzoni <[email protected]>
---
 linux/linux.mk | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
linux/linux.mk +2 -1
index 9c2aa77..0eee315 100644
@@ -269,7 +269,8 @@ define LINUX_KCONFIG_FIXUP_CMDS
 		touch $(BINARIES_DIR)/rootfs.cpio
 		$(call KCONFIG_SET_OPT,CONFIG_INITRAMFS_SOURCE,"$${BR_BINARIES_DIR}/rootfs.cpio",$(@D)/.config)
 		$(call KCONFIG_SET_OPT,CONFIG_INITRAMFS_ROOT_UID,0,$(@D)/.config)
-		$(call KCONFIG_SET_OPT,CONFIG_INITRAMFS_ROOT_GID,0,$(@D)/.config))
+		$(call KCONFIG_SET_OPT,CONFIG_INITRAMFS_ROOT_GID,0,$(@D)/.config),
+		$(call KCONFIG_SET_OPT,CONFIG_INITRAMFS_SOURCE,"",$(@D)/.config))
 	$(if $(BR2_ROOTFS_DEVICE_CREATION_STATIC),,
 		$(call KCONFIG_ENABLE_OPT,CONFIG_DEVTMPFS,$(@D)/.config)
 		$(call KCONFIG_ENABLE_OPT,CONFIG_DEVTMPFS_MOUNT,$(@D)/.config))
Signature · 1 line
2.9.3
#1 lore raw

PATCH 1/1 Linux: Clear CONFIG_INITRAMFS_SOURCE if BR2_TARGET_ROOTFS_INITRAMFS is not set

Quoted 6 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Evgeniy" == Evgeniy Didin <[email protected]> writes:

This patch makes sure CONFIG_INITRAMFS_SOURCE option gets reset
when BR2_TARGET_ROOTFS_INITRAMFS is not set. Some kernel defconfigs,
for example for ARC processors, set CONFIG_INITRAMFS_SOURCE value, which cause such error:
"./scripts/gen_initramfs_list.sh: Cannot open '../../arc_initramfs_hs/'"

I'm not sure. I really would like to keep our "magic" .config fixups to a minimum as they are kind of hidden and force specific use cases without any options of disabling it (E.G. perhaps somebody has a prebuilt initramfs they would like to include even though buildroot builds the real rootfs (so BR2_TARGET_ROOTFS_INITRAMFS is not set). With this change, this is no longer possible.

Couldn't you fix these arc specific defconfig issues with a small kconfig fragment instead?

Quoted 30 lines
CC Alexey Brodkin <[email protected]>
Cc arc-buildroot at synopsys.com
Cc Thomas Petazzoni <[email protected]>
---
 linux/linux.mk | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
linux/linux.mk +2 -1
index 9c2aa77..0eee315 100644
@@ -269,7 +269,8 @@ define LINUX_KCONFIG_FIXUP_CMDS
 		touch $(BINARIES_DIR)/rootfs.cpio
 		$(call KCONFIG_SET_OPT,CONFIG_INITRAMFS_SOURCE,"$${BR_BINARIES_DIR}/rootfs.cpio",$(@D)/.config)
 		$(call KCONFIG_SET_OPT,CONFIG_INITRAMFS_ROOT_UID,0,$(@D)/.config)
-		$(call KCONFIG_SET_OPT,CONFIG_INITRAMFS_ROOT_GID,0,$(@D)/.config))
+		$(call KCONFIG_SET_OPT,CONFIG_INITRAMFS_ROOT_GID,0,$(@D)/.config),
+		$(call KCONFIG_SET_OPT,CONFIG_INITRAMFS_SOURCE,"",$(@D)/.config))
 	$(if $(BR2_ROOTFS_DEVICE_CREATION_STATIC),,
 		$(call KCONFIG_ENABLE_OPT,CONFIG_DEVTMPFS,$(@D)/.config)
 		$(call KCONFIG_ENABLE_OPT,CONFIG_DEVTMPFS_MOUNT,$(@D)/.config))
Signature · 6 lines
2.9.3

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 1 line
Bye, Peter Korsgaard
#2 lore raw

PATCH 1/1 Linux: Clear CONFIG_INITRAMFS_SOURCE if BR2_TARGET_ROOTFS_INITRAMFS is not set

Hi Peter,

Quoted 12 lines · Peter Korsgaard
Quoted 6 lines
Quoted 6 lines
Quoted 6 lines
Quoted 6 lines
Quoted 6 lines

"Evgeniy" == Evgeniy Didin <[email protected]> writes:

?> This patch makes sure CONFIG_INITRAMFS_SOURCE option gets reset
?> when BR2_TARGET_ROOTFS_INITRAMFS is not set. Some kernel defconfigs,?
?> for example for ARC processors, set CONFIG_INITRAMFS_SOURCE value, which cause such error:
?> "./scripts/gen_initramfs_list.sh: Cannot open '../../arc_initramfs_hs/'"

Quoted 6 lines

I'm not sure. I really would like to keep our "magic" .config fixups to a minimum as they are kind of hidden and force specific use cases without any options of disabling it (E.G. perhaps somebody has a prebuilt initramfs they would like to include even though buildroot builds the real rootfs (so BR2_TARGET_ROOTFS_INITRAMFS is not set). With this change, this is no longer possible.

Well a couple of things I was thinking about:
1. This would be [in my view] just a complimentary option to setting BR's rootfs.
2. Usage of prebuilt initramf with BR might be quite a tricky thing because ? ?different toolchain could be used with different ABI, libc etc so chances ? ?are quite high that user-space stuff built with BR will be incompatible with ? ?contents of prebuilt rootfs. But I guess we cannot stop people from doing that.

Quoted 2 lines

Couldn't you fix these arc specific defconfig issues with a small kconfig fragment instead?

So maybe this is indeed a bit better solution even though we know nobody who'd do such a trick with pre-built initramfs.

-Alexey

#3 lore raw

PATCH 1/1 Linux: Clear CONFIG_INITRAMFS_SOURCE if BR2_TARGET_ROOTFS_INITRAMFS is not set

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Alexey" == Alexey Brodkin <[email protected]> writes:

Hi,

Quoted 6 lines

Well a couple of things I was thinking about:
1. This would be [in my view] just a complimentary option to setting BR's rootfs.
2. Usage of prebuilt initramf with BR might be quite a tricky thing because ? ?different toolchain could be used with different ABI, libc etc so chances ? ?are quite high that user-space stuff built with BR will be incompatible with ? ?contents of prebuilt rootfs. But I guess we cannot stop people from doing that.

Correct, but that is in reality not so difficult to do as the kernel ABI is stable, and most architectures have stable ABIs. Libc doesn't enter the question as the initramfs typically will not use files from the rootfs or the other way around.

Quoted 5 lines
Quoted 2 lines

Couldn't you fix these arc specific defconfig issues with a small kconfig fragment instead?

So maybe this is indeed a bit better solution even though we know nobody who'd do such a trick with pre-built initramfs.

I do ;) I am using an external initramfs instead of built into the kernel though, but that is just a minor detail.

Signature · 1 line
Bye, Peter Korsgaard