Message ID | 20240910-uncompressed-distro-packages-v2-1-51538434787f@quicinc.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2] arm64: Allow packing uncompressed images into distro packages | expand |
On 11.09.2024 4:53 AM, Bjorn Andersson wrote: > From: Bjorn Andersson <quic_bjorande@quicinc.com> > > The distro packages (deb-pkg, pacman-pkg, rpm-pkg) are generated using > the compressed kernel image, which means that the kernel once installed > can not be booted with systemd-boot. > > This differs from the packages generated by the distros themselves, > which uses the uncompressed image. > > Use the newly introduced CONFIG_COMPRESSED_INSTALL option to allow > selection of which version of the kernel image should be packaged into > the distro packages. > > Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com> > --- Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Konrad
Hi Bjorn, On Wed, 11 Sep 2024 03:53:16 +0100, Bjorn Andersson <andersson@kernel.org> wrote: > > From: Bjorn Andersson <quic_bjorande@quicinc.com> > > The distro packages (deb-pkg, pacman-pkg, rpm-pkg) are generated using > the compressed kernel image, which means that the kernel once installed > can not be booted with systemd-boot. Are you sure? I just installed a guest with systemd-boot (252.30-1~deb12u, as shipped in Debian), and it is perfectly able to boot a compressed kernel. > > This differs from the packages generated by the distros themselves, > which uses the uncompressed image. > > Use the newly introduced CONFIG_COMPRESSED_INSTALL option to allow > selection of which version of the kernel image should be packaged into > the distro packages. I'm normally building kernels as Debian packages, without any of CONFIG_EFI_ZBOOT or CONFIG_COMPRESSED_INSTALL. As a result, the installed kernel image of a Debian package shoots up from ~8M to an impressive 25M, since we're not picking the compressed image anymore. Storage may be cheap, but still. I really don't think CONFIG_COMPRESSED_INSTALL should change the existing behaviours, and a new option would be better suited to enable this new setup if deemed necessary. Thanks, M.
On Wed, Oct 16, 2024 at 05:44:54PM +0100, Marc Zyngier wrote: > Hi Bjorn, > > On Wed, 11 Sep 2024 03:53:16 +0100, > Bjorn Andersson <andersson@kernel.org> wrote: > > > > From: Bjorn Andersson <quic_bjorande@quicinc.com> > > > > The distro packages (deb-pkg, pacman-pkg, rpm-pkg) are generated using > > the compressed kernel image, which means that the kernel once installed > > can not be booted with systemd-boot. > > Are you sure? I just installed a guest with systemd-boot > (252.30-1~deb12u, as shipped in Debian), and it is perfectly able to > boot a compressed kernel. > Sorry for the late response, to verify I did "make defconfig bindeb-pkg" and crafted a disk image using mkosi. It contains: # apt info systemd-boot Package: systemd-boot Version: 257~rc1-4 It fails to load my the compressed image: ../src/boot/efi/boot.c:2557@image_start: Error loading \debian\6.12.0-rc6-next-20241108-00003-ga216563e3174-dirty\vmlinuz: Unsupported Which is expected per per this discussion: https://github.com/systemd/systemd/issues/23788 > > > > This differs from the packages generated by the distros themselves, > > which uses the uncompressed image. > > > > Use the newly introduced CONFIG_COMPRESSED_INSTALL option to allow > > selection of which version of the kernel image should be packaged into > > the distro packages. > > I'm normally building kernels as Debian packages, without any of > CONFIG_EFI_ZBOOT or CONFIG_COMPRESSED_INSTALL. > My goal is to make "make defconfig bindeb-pkg" (and the other -pkg targets) boot out of the box in a "standard system". > As a result, the installed kernel image of a Debian package shoots up > from ~8M to an impressive 25M, since we're not picking the compressed > image anymore. Storage may be cheap, but still. > No argument about this. > I really don't think CONFIG_COMPRESSED_INSTALL should change the > existing behaviours, and a new option would be better suited to enable > this new setup if deemed necessary. > My main concern is that the "make *-pkg" targets create packages with the compressed image, while at least Arch Linux Arm, Debian, and Fedora are packaging uncompressed images in their official packages. Regards, Bjorn > Thanks, > > M. > > -- > Without deviation from the norm, progress is not possible.
diff --git a/arch/arm64/Makefile b/arch/arm64/Makefile index f6bc3da1ef11..3d9752e56109 100644 --- a/arch/arm64/Makefile +++ b/arch/arm64/Makefile @@ -166,9 +166,13 @@ BOOT_TARGETS := Image vmlinuz.efi image.fit PHONY += $(BOOT_TARGETS) ifeq ($(CONFIG_EFI_ZBOOT),) -KBUILD_IMAGE := $(boot)/Image.gz + ifeq ($(CONFIG_COMPRESSED_INSTALL),y) + KBUILD_IMAGE := $(boot)/Image.gz + else + KBUILD_IMAGE := $(boot)/Image + endif else -KBUILD_IMAGE := $(boot)/vmlinuz.efi + KBUILD_IMAGE := $(boot)/vmlinuz.efi endif all: $(notdir $(KBUILD_IMAGE))