Message ID | 20240721133633.47721-17-lasse.collin@tukaani.org (mailing list archive) |
---|---|
State | Handled Elsewhere, archived |
Headers | show |
Series | None | expand |
Lasse Collin wrote: > The Image.* targets existed for other compressors already. Bootloader > support is needed for decompression. > > This is for CONFIG_EFI_ZBOOT=n. With CONFIG_EFI_ZBOOT=y, XZ was already > available. > > Comparision with Linux 6.10 RV64GC tinyconfig (in KiB): > > 1027 Image > 594 Image.gz > 541 Image.zst > 510 Image.lzma > 474 Image.xz > > Cc: Paul Walmsley <paul.walmsley@sifive.com> > Cc: Palmer Dabbelt <palmer@dabbelt.com> > Cc: Albert Ou <aou@eecs.berkeley.edu> > Cc: Jules Maselbas <jmaselbas@zdiv.net> > Cc: linux-riscv@lists.infradead.org > Signed-off-by: Lasse Collin <lasse.collin@tukaani.org> Looks good to me, thanks. Reviewed-by: Emil Renner Berthing <emil.renner.berthing@canonical.com> > --- > arch/riscv/Kconfig | 1 + > arch/riscv/Makefile | 6 ++++-- > arch/riscv/boot/Makefile | 3 +++ > 3 files changed, 8 insertions(+), 2 deletions(-) > > diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig > index 736457a5898a..ef6a603b80c5 100644 > --- a/arch/riscv/Kconfig > +++ b/arch/riscv/Kconfig > @@ -153,6 +153,7 @@ config RISCV > select HAVE_KERNEL_LZO if !XIP_KERNEL && !EFI_ZBOOT > select HAVE_KERNEL_UNCOMPRESSED if !XIP_KERNEL && !EFI_ZBOOT > select HAVE_KERNEL_ZSTD if !XIP_KERNEL && !EFI_ZBOOT > + select HAVE_KERNEL_XZ if !XIP_KERNEL && !EFI_ZBOOT > select HAVE_KPROBES if !XIP_KERNEL > select HAVE_KPROBES_ON_FTRACE if !XIP_KERNEL > select HAVE_KRETPROBES if !XIP_KERNEL > diff --git a/arch/riscv/Makefile b/arch/riscv/Makefile > index 6fe682139d2e..d469db9f46f4 100644 > --- a/arch/riscv/Makefile > +++ b/arch/riscv/Makefile > @@ -159,6 +159,7 @@ boot-image-$(CONFIG_KERNEL_LZ4) := Image.lz4 > boot-image-$(CONFIG_KERNEL_LZMA) := Image.lzma > boot-image-$(CONFIG_KERNEL_LZO) := Image.lzo > boot-image-$(CONFIG_KERNEL_ZSTD) := Image.zst > +boot-image-$(CONFIG_KERNEL_XZ) := Image.xz > ifdef CONFIG_RISCV_M_MODE > boot-image-$(CONFIG_ARCH_CANAAN) := loader.bin > endif > @@ -183,12 +184,12 @@ endif > vdso-install-y += arch/riscv/kernel/vdso/vdso.so.dbg > vdso-install-$(CONFIG_COMPAT) += arch/riscv/kernel/compat_vdso/compat_vdso.so.dbg > > -BOOT_TARGETS := Image Image.gz Image.bz2 Image.lz4 Image.lzma Image.lzo Image.zst loader loader.bin xipImage vmlinuz.efi > +BOOT_TARGETS := Image Image.gz Image.bz2 Image.lz4 Image.lzma Image.lzo Image.zst Image.xz loader loader.bin xipImage vmlinuz.efi > > all: $(notdir $(KBUILD_IMAGE)) > > loader.bin: loader > -Image.gz Image.bz2 Image.lz4 Image.lzma Image.lzo Image.zst loader xipImage vmlinuz.efi: Image > +Image.gz Image.bz2 Image.lz4 Image.lzma Image.lzo Image.zst Image.xz loader xipImage vmlinuz.efi: Image > > $(BOOT_TARGETS): vmlinux > $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@ > @@ -225,6 +226,7 @@ define archhelp > echo ' Image.lzma - Compressed kernel image (arch/riscv/boot/Image.lzma)' > echo ' Image.lzo - Compressed kernel image (arch/riscv/boot/Image.lzo)' > echo ' Image.zst - Compressed kernel image (arch/riscv/boot/Image.zst)' > + echo ' Image.xz - Compressed kernel image (arch/riscv/boot/Image.xz)' > echo ' vmlinuz.efi - Compressed EFI kernel image (arch/riscv/boot/vmlinuz.efi)' > echo ' Default when CONFIG_EFI_ZBOOT=y' > echo ' xipImage - Execute-in-place kernel image (arch/riscv/boot/xipImage)' > diff --git a/arch/riscv/boot/Makefile b/arch/riscv/boot/Makefile > index 869c0345b908..710a5f6caf96 100644 > --- a/arch/riscv/boot/Makefile > +++ b/arch/riscv/boot/Makefile > @@ -65,6 +65,9 @@ $(obj)/Image.lzo: $(obj)/Image FORCE > $(obj)/Image.zst: $(obj)/Image FORCE > $(call if_changed,zstd) > > +$(obj)/Image.xz: $(obj)/Image FORCE > + $(call if_changed,xzkern) > + > $(obj)/loader.bin: $(obj)/loader FORCE > $(call if_changed,objcopy) > > -- > 2.45.2 > > > _______________________________________________ > linux-riscv mailing list > linux-riscv@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-riscv
diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig index 736457a5898a..ef6a603b80c5 100644 --- a/arch/riscv/Kconfig +++ b/arch/riscv/Kconfig @@ -153,6 +153,7 @@ config RISCV select HAVE_KERNEL_LZO if !XIP_KERNEL && !EFI_ZBOOT select HAVE_KERNEL_UNCOMPRESSED if !XIP_KERNEL && !EFI_ZBOOT select HAVE_KERNEL_ZSTD if !XIP_KERNEL && !EFI_ZBOOT + select HAVE_KERNEL_XZ if !XIP_KERNEL && !EFI_ZBOOT select HAVE_KPROBES if !XIP_KERNEL select HAVE_KPROBES_ON_FTRACE if !XIP_KERNEL select HAVE_KRETPROBES if !XIP_KERNEL diff --git a/arch/riscv/Makefile b/arch/riscv/Makefile index 6fe682139d2e..d469db9f46f4 100644 --- a/arch/riscv/Makefile +++ b/arch/riscv/Makefile @@ -159,6 +159,7 @@ boot-image-$(CONFIG_KERNEL_LZ4) := Image.lz4 boot-image-$(CONFIG_KERNEL_LZMA) := Image.lzma boot-image-$(CONFIG_KERNEL_LZO) := Image.lzo boot-image-$(CONFIG_KERNEL_ZSTD) := Image.zst +boot-image-$(CONFIG_KERNEL_XZ) := Image.xz ifdef CONFIG_RISCV_M_MODE boot-image-$(CONFIG_ARCH_CANAAN) := loader.bin endif @@ -183,12 +184,12 @@ endif vdso-install-y += arch/riscv/kernel/vdso/vdso.so.dbg vdso-install-$(CONFIG_COMPAT) += arch/riscv/kernel/compat_vdso/compat_vdso.so.dbg -BOOT_TARGETS := Image Image.gz Image.bz2 Image.lz4 Image.lzma Image.lzo Image.zst loader loader.bin xipImage vmlinuz.efi +BOOT_TARGETS := Image Image.gz Image.bz2 Image.lz4 Image.lzma Image.lzo Image.zst Image.xz loader loader.bin xipImage vmlinuz.efi all: $(notdir $(KBUILD_IMAGE)) loader.bin: loader -Image.gz Image.bz2 Image.lz4 Image.lzma Image.lzo Image.zst loader xipImage vmlinuz.efi: Image +Image.gz Image.bz2 Image.lz4 Image.lzma Image.lzo Image.zst Image.xz loader xipImage vmlinuz.efi: Image $(BOOT_TARGETS): vmlinux $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@ @@ -225,6 +226,7 @@ define archhelp echo ' Image.lzma - Compressed kernel image (arch/riscv/boot/Image.lzma)' echo ' Image.lzo - Compressed kernel image (arch/riscv/boot/Image.lzo)' echo ' Image.zst - Compressed kernel image (arch/riscv/boot/Image.zst)' + echo ' Image.xz - Compressed kernel image (arch/riscv/boot/Image.xz)' echo ' vmlinuz.efi - Compressed EFI kernel image (arch/riscv/boot/vmlinuz.efi)' echo ' Default when CONFIG_EFI_ZBOOT=y' echo ' xipImage - Execute-in-place kernel image (arch/riscv/boot/xipImage)' diff --git a/arch/riscv/boot/Makefile b/arch/riscv/boot/Makefile index 869c0345b908..710a5f6caf96 100644 --- a/arch/riscv/boot/Makefile +++ b/arch/riscv/boot/Makefile @@ -65,6 +65,9 @@ $(obj)/Image.lzo: $(obj)/Image FORCE $(obj)/Image.zst: $(obj)/Image FORCE $(call if_changed,zstd) +$(obj)/Image.xz: $(obj)/Image FORCE + $(call if_changed,xzkern) + $(obj)/loader.bin: $(obj)/loader FORCE $(call if_changed,objcopy)
The Image.* targets existed for other compressors already. Bootloader support is needed for decompression. This is for CONFIG_EFI_ZBOOT=n. With CONFIG_EFI_ZBOOT=y, XZ was already available. Comparision with Linux 6.10 RV64GC tinyconfig (in KiB): 1027 Image 594 Image.gz 541 Image.zst 510 Image.lzma 474 Image.xz Cc: Paul Walmsley <paul.walmsley@sifive.com> Cc: Palmer Dabbelt <palmer@dabbelt.com> Cc: Albert Ou <aou@eecs.berkeley.edu> Cc: Jules Maselbas <jmaselbas@zdiv.net> Cc: linux-riscv@lists.infradead.org Signed-off-by: Lasse Collin <lasse.collin@tukaani.org> --- arch/riscv/Kconfig | 1 + arch/riscv/Makefile | 6 ++++-- arch/riscv/boot/Makefile | 3 +++ 3 files changed, 8 insertions(+), 2 deletions(-)