All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/1] linux: Use the choosen rootfs compression type when rootfs is builtin
@ 2023-11-06 12:37 Corentin Labbe
  2023-11-27 11:42 ` Corentin LABBE
  2026-10-11 13:11 ` Arnout Vandecappelle via buildroot
  0 siblings, 2 replies; 3+ messages in thread
From: Corentin Labbe @ 2023-11-06 12:37 UTC (permalink / raw)
  To: buildroot; +Cc: Corentin Labbe

I have built a buildroot with:
BR2_TARGET_ROOTFS_CPIO_XZ=y
BR2_TARGET_ROOTFS_INITRAMFS=y
With this buildroot produces an images/rootfs.cpio.xz but the kernel still use gzip (CONFIG_INITRAMFS_COMPRESSION_GZIP)
as compression for a plain rootfs.cpio

Setting CONFIG_INITRAMFS_COMPRESSION_XZ in a linux.fragment does not
work as it seems the fragment is setup before buildroot set
CONFIG_INITRAMFS_SOURCE which reset the CONFIG_INITRAMFS_COMPRESSION
choice.

So buildroot have to change CONFIG_INITRAMFS_COMPRESSION after setup
CONFIG_INITRAMFS_SOURCE.

Signed-off-by: Corentin Labbe <clabbe@baylibre.com>
---
 linux/linux.mk | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/linux/linux.mk b/linux/linux.mk
index 1db5c6046d..d64ebb5119 100644
--- a/linux/linux.mk
+++ b/linux/linux.mk
@@ -116,6 +116,14 @@ LINUX_COMPRESSION_OPT_$(BR2_LINUX_KERNEL_XZ) += CONFIG_KERNEL_XZ
 LINUX_COMPRESSION_OPT_$(BR2_LINUX_KERNEL_ZSTD) += CONFIG_KERNEL_ZSTD
 LINUX_COMPRESSION_OPT_$(BR2_LINUX_KERNEL_UNCOMPRESSED) += CONFIG_KERNEL_UNCOMPRESSED
 
+LINUX_ROOTFS_COMPRESSION_OPT_$(BR2_TARGET_ROOTFS_CPIO_GZIP) += CONFIG_INITRAMFS_COMPRESSION_GZIP
+LINUX_ROOTFS_COMPRESSION_OPT_$(BR2_TARGET_ROOTFS_CPIO_LZ4) += CONFIG_INITRAMFS_COMPRESSION_LZ4
+LINUX_ROOTFS_COMPRESSION_OPT_$(BR2_TARGET_ROOTFS_CPIO_LZMA) += CONFIG_INITRAMFS_COMPRESSION_LZMA
+LINUX_ROOTFS_COMPRESSION_OPT_$(BR2_TARGET_ROOTFS_CPIO_LZO) += CONFIG_INITRAMFS_COMPRESSION_LZO
+LINUX_ROOTFS_COMPRESSION_OPT_$(BR2_TARGET_ROOTFS_CPIO_XZ) += CONFIG_INITRAMFS_COMPRESSION_XZ
+LINUX_ROOTFS_COMPRESSION_OPT_$(BR2_TARGET_ROOTFS_CPIO_ZSTD) += CONFIG_INITRAMFS_COMPRESSION_ZSTD
+LINUX_ROOTFS_COMPRESSION_OPT_$(BR2_TARGET_ROOTFS_CPIO_NONE) += CONFIG_INITRAMFS_COMPRESSION_NONE
+
 ifeq ($(BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL),y)
 LINUX_DEPENDENCIES += host-openssl
 endif
@@ -378,6 +386,10 @@ define LINUX_KCONFIG_FIXUP_CMDS_ROOTFS_CPIO
 	$(call KCONFIG_SET_OPT,CONFIG_INITRAMFS_SOURCE,"$${BR_BINARIES_DIR}/rootfs.cpio")
 	$(call KCONFIG_SET_OPT,CONFIG_INITRAMFS_ROOT_UID,0)
 	$(call KCONFIG_SET_OPT,CONFIG_INITRAMFS_ROOT_GID,0)
+	$(call KCONFIG_ENABLE_OPT,$(strip $(LINUX_ROOTFS_COMPRESSION_OPT_y)))
+	$(foreach opt, $(LINUX_ROOTFS_COMPRESSION_OPT_),
+		$(call KCONFIG_DISABLE_OPT,$(opt))
+	)
 endef
 endif
 
-- 
2.25.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [Buildroot] [PATCH 1/1] linux: Use the choosen rootfs compression type when rootfs is builtin
  2023-11-06 12:37 [Buildroot] [PATCH 1/1] linux: Use the choosen rootfs compression type when rootfs is builtin Corentin Labbe
@ 2023-11-27 11:42 ` Corentin LABBE
  2026-10-11 13:11 ` Arnout Vandecappelle via buildroot
  1 sibling, 0 replies; 3+ messages in thread
From: Corentin LABBE @ 2023-11-27 11:42 UTC (permalink / raw)
  To: buildroot

Le Mon, Nov 06, 2023 at 12:37:05PM +0000, Corentin Labbe a écrit :
> I have built a buildroot with:
> BR2_TARGET_ROOTFS_CPIO_XZ=y
> BR2_TARGET_ROOTFS_INITRAMFS=y
> With this buildroot produces an images/rootfs.cpio.xz but the kernel still use gzip (CONFIG_INITRAMFS_COMPRESSION_GZIP)
> as compression for a plain rootfs.cpio
> 
> Setting CONFIG_INITRAMFS_COMPRESSION_XZ in a linux.fragment does not
> work as it seems the fragment is setup before buildroot set
> CONFIG_INITRAMFS_SOURCE which reset the CONFIG_INITRAMFS_COMPRESSION
> choice.
> 
> So buildroot have to change CONFIG_INITRAMFS_COMPRESSION after setup
> CONFIG_INITRAMFS_SOURCE.
> 
> Signed-off-by: Corentin Labbe <clabbe@baylibre.com>
> ---

Hello

Ping

Regards
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Buildroot] [PATCH 1/1] linux: Use the choosen rootfs compression type when rootfs is builtin
  2023-11-06 12:37 [Buildroot] [PATCH 1/1] linux: Use the choosen rootfs compression type when rootfs is builtin Corentin Labbe
  2023-11-27 11:42 ` Corentin LABBE
@ 2026-10-11 13:11 ` Arnout Vandecappelle via buildroot
  1 sibling, 0 replies; 3+ messages in thread
From: Arnout Vandecappelle via buildroot @ 2026-10-11 13:11 UTC (permalink / raw)
  To: Corentin Labbe, buildroot

  Hi Corentin,

  Sorry to come back to this only three years later... You probably don't 
remember anything about this, but I'm replying anyway in case anybody comes back 
on this.

On 06/11/2023 13:37, Corentin Labbe wrote:
> I have built a buildroot with:
> BR2_TARGET_ROOTFS_CPIO_XZ=y
> BR2_TARGET_ROOTFS_INITRAMFS=y
> With this buildroot produces an images/rootfs.cpio.xz but the kernel still use gzip (CONFIG_INITRAMFS_COMPRESSION_GZIP)
> as compression for a plain rootfs.cpio
> 
> Setting CONFIG_INITRAMFS_COMPRESSION_XZ in a linux.fragment does not
> work as it seems the fragment is setup before buildroot set
> CONFIG_INITRAMFS_SOURCE which reset the CONFIG_INITRAMFS_COMPRESSION
> choice.
> 
> So buildroot have to change CONFIG_INITRAMFS_COMPRESSION after setup
> CONFIG_INITRAMFS_SOURCE.
> 
> Signed-off-by: Corentin Labbe <clabbe@baylibre.com>
> ---
>   linux/linux.mk | 12 ++++++++++++
>   1 file changed, 12 insertions(+)
> 
> diff --git a/linux/linux.mk b/linux/linux.mk
> index 1db5c6046d..d64ebb5119 100644
> --- a/linux/linux.mk
> +++ b/linux/linux.mk
> @@ -116,6 +116,14 @@ LINUX_COMPRESSION_OPT_$(BR2_LINUX_KERNEL_XZ) += CONFIG_KERNEL_XZ
>   LINUX_COMPRESSION_OPT_$(BR2_LINUX_KERNEL_ZSTD) += CONFIG_KERNEL_ZSTD
>   LINUX_COMPRESSION_OPT_$(BR2_LINUX_KERNEL_UNCOMPRESSED) += CONFIG_KERNEL_UNCOMPRESSED
>   
> +LINUX_ROOTFS_COMPRESSION_OPT_$(BR2_TARGET_ROOTFS_CPIO_GZIP) += CONFIG_INITRAMFS_COMPRESSION_GZIP
> +LINUX_ROOTFS_COMPRESSION_OPT_$(BR2_TARGET_ROOTFS_CPIO_LZ4) += CONFIG_INITRAMFS_COMPRESSION_LZ4
> +LINUX_ROOTFS_COMPRESSION_OPT_$(BR2_TARGET_ROOTFS_CPIO_LZMA) += CONFIG_INITRAMFS_COMPRESSION_LZMA
> +LINUX_ROOTFS_COMPRESSION_OPT_$(BR2_TARGET_ROOTFS_CPIO_LZO) += CONFIG_INITRAMFS_COMPRESSION_LZO
> +LINUX_ROOTFS_COMPRESSION_OPT_$(BR2_TARGET_ROOTFS_CPIO_XZ) += CONFIG_INITRAMFS_COMPRESSION_XZ
> +LINUX_ROOTFS_COMPRESSION_OPT_$(BR2_TARGET_ROOTFS_CPIO_ZSTD) += CONFIG_INITRAMFS_COMPRESSION_ZSTD
> +LINUX_ROOTFS_COMPRESSION_OPT_$(BR2_TARGET_ROOTFS_CPIO_NONE) += CONFIG_INITRAMFS_COMPRESSION_NONE
> +
>   ifeq ($(BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL),y)
>   LINUX_DEPENDENCIES += host-openssl
>   endif
> @@ -378,6 +386,10 @@ define LINUX_KCONFIG_FIXUP_CMDS_ROOTFS_CPIO
>   	$(call KCONFIG_SET_OPT,CONFIG_INITRAMFS_SOURCE,"$${BR_BINARIES_DIR}/rootfs.cpio")

  We still use the uncompressed cpio, so shouldn't we simply set 
CONFIG_INITRAMFS_COMPRESSION_NONE ?

  We could use the compressed image here, but I think it's intentional to use 
the uncompressed one, because normally you still compress your kernel afterwards 
(either as a zImage or in the U-Boot wrapper). This will also compress the cpio, 
so compressing it separately just adds overhead.

>   	$(call KCONFIG_SET_OPT,CONFIG_INITRAMFS_ROOT_UID,0)
>   	$(call KCONFIG_SET_OPT,CONFIG_INITRAMFS_ROOT_GID,0)
> +	$(call KCONFIG_ENABLE_OPT,$(strip $(LINUX_ROOTFS_COMPRESSION_OPT_y)))
> +	$(foreach opt, $(LINUX_ROOTFS_COMPRESSION_OPT_),
> +		$(call KCONFIG_DISABLE_OPT,$(opt))

  AFAIK for a choice it's not needed to disable all the other options; the last 
=y option wins anyway (if it is not forbidden by other options).

  I've marked the patch as Changes Requested in patchwork.

  Regards,
  Arnout

> +	)
>   endef
>   endif
>   

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-10-11 13:11 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-11-06 12:37 [Buildroot] [PATCH 1/1] linux: Use the choosen rootfs compression type when rootfs is builtin Corentin Labbe
2023-11-27 11:42 ` Corentin LABBE
2026-10-11 13:11 ` Arnout Vandecappelle via buildroot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.