Re: Re: [PATCH v5 8/8] loongarch: efi: enable generic EFI compressed boot

From: Ard Biesheuvel
Date: Mon Sep 12 2022 - 06:18:26 EST


On Sun, 11 Sept 2022 at 16:03, 陈华才 <chenhuacai@xxxxxxxxxxx> wrote:
>
>
>
>
> > -----原始邮件-----
> > 发件人: "Ard Biesheuvel" <ardb@xxxxxxxxxx>
> > 发送时间:2022-09-10 22:28:04 (星期六)
> > 收件人: "陈华才" <chenhuacai@xxxxxxxxxxx>
> > 抄送: linux-efi@xxxxxxxxxxxxxxx, linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, "James E.J. Bottomley" <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx>, "Matthew Garrett" <mjg59@xxxxxxxxxxxxx>, "Peter Jones" <pjones@xxxxxxxxxx>, "Ilias Apalodimas" <ilias.apalodimas@xxxxxxxxxx>, "Heinrich Schuchardt" <heinrich.schuchardt@xxxxxxxxxxxxx>, "AKASHI Takahiro" <takahiro.akashi@xxxxxxxxxx>, "Palmer Dabbelt" <palmer@xxxxxxxxxxx>, "Atish Patra" <atishp@xxxxxxxxxxxxxx>, "Arnd Bergmann" <arnd@xxxxxxxx>, "Xi Ruoyao" <xry111@xxxxxxxxxxx>, "Lennart Poettering" <lennart@xxxxxxxxxxxxxx>, "Jeremy Linton" <jeremy.linton@xxxxxxx>, "Will Deacon" <will@xxxxxxxxxx>, "Catalin Marinas" <catalin.marinas@xxxxxxx>
> > 主题: Re: [PATCH v5 8/8] loongarch: efi: enable generic EFI compressed boot
> >
> > On Sat, 10 Sept 2022 at 15:22, 陈华才 <chenhuacai@xxxxxxxxxxx> wrote:
> > >
> > > Hi, Ard,
> > >
> > > I prefer to give a chance to disable ZBOOT, so I don't want to select EFI_ZBOOT unconditionally in Kconfig, and then the Makefile can be like this:
> > > diff --git a/arch/loongarch/Makefile b/arch/loongarch/Makefile
> > > index c3f579bdf9e5..bc6fe65125f5 100644
> > > --- a/arch/loongarch/Makefile
> > > +++ b/arch/loongarch/Makefile
> > > @@ -14,6 +14,10 @@ else
> > > KBUILD_IMAGE := $(boot)/vmlinux.efi
> > > endif
> > >
> > > +ifdef CONFIG_EFI_ZBOOT
> > > +KBUILD_IMAGE := $(boot)/vmlinuz.efi
> > > +endif
> > > +
> > > archscripts: scripts_basic
> > > $(Q)$(MAKE) $(build)=arch/loongarch/boot/tools relocs
> > >
> >
> > OK, I will fold this in. This actually aligns it with the other
> > architectures, so I prefer this approach as well.
>
> Thank you, and if "make install" can also handle the zboot case, that's even better. :)
>
> diff --git a/arch/loongarch/Makefile b/arch/loongarch/Makefile
> index c3f579bdf9e5..5480fe2de7cd 100644
> --- a/arch/loongarch/Makefile
> +++ b/arch/loongarch/Makefile
> @@ -137,7 +137,11 @@ vmlinux.elf vmlinux.efi vmlinuz.efi: vmlinux
> core-y += arch/loongarch/boot/dts/
>
> install:
> +ifndef CONFIG_EFI_ZBOOT
> $(Q)install -D -m 755 $(KBUILD_IMAGE) $(INSTALL_PATH)/vmlinux-$(KERNELRELEASE)
> +else
> + $(Q)install -D -m 755 $(KBUILD_IMAGE) $(INSTALL_PATH)/vmlinuz-$(KERNELRELEASE)
> +endif
> $(Q)install -D -m 644 .config $(INSTALL_PATH)/config-$(KERNELRELEASE)
> $(Q)install -D -m 644 System.map $(INSTALL_PATH)/System.map-$(KERNELRELEASE)
>

Is there any reason in particular this is open coded like this? Other
architectures just do something like

install:
$(call cmd,install)

and be done with it.