[PATCH] arm64: properly install vmlinuz.efi

Simon Glass sjg at chromium.org
Fri Dec 15 09:49:00 PST 2023


Hi Josef,

On Fri, 15 Dec 2023 at 07:25, Josef Bacik <josef at toxicpanda.com> wrote:
>
> On Thu, Dec 14, 2023 at 01:12:13PM -0700, Simon Glass wrote:
> > Hi Josef,
> >
> > On Thu, 14 Dec 2023 at 09:19, Josef Bacik <josef at toxicpanda.com> wrote:
> > >
> > > If you select CONFIG_EFI_ZBOOT, we will generate vmlinuz.efi, and then
> > > when we go to install the kernel we'll install the vmlinux instead
> > > because install.sh only recognizes Image.gz as wanting the compressed
> > > install image.  With CONFIG_EFI_ZBOOT we don't get the proper kernel
> > > installed, which means it doesn't boot, which makes for a very confused
> > > and subsequently angry kernel developer.
> > >
> > > Fix this by properly installing our compressed kernel if we've enabled
> > > CONFIG_EFI_ZBOOT.
> > >
> > > Signed-off-by: Josef Bacik <josef at toxicpanda.com>
> > > ---
> > >  arch/arm64/boot/install.sh | 3 ++-
> > >  1 file changed, 2 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/arch/arm64/boot/install.sh b/arch/arm64/boot/install.sh
> > > index 7399d706967a..9b7a09808a3d 100755
> > > --- a/arch/arm64/boot/install.sh
> > > +++ b/arch/arm64/boot/install.sh
> > > @@ -17,7 +17,8 @@
> > >  #   $3 - kernel map file
> > >  #   $4 - default install path (blank if root directory)
> > >
> > > -if [ "$(basename $2)" = "Image.gz" ]; then
> > > +if [ "$(basename $2)" = "Image.gz" ] || [ "$(basename $2)" = "vmlinuz.efi" ]
> > > +then
> > >  # Compressed install
> > >    echo "Installing compressed kernel"
> > >    base=vmlinuz
> >
> > This is a little messy.
> >
> > There is a KBUILD_IMAGE var which should be usable, although I see
> > that it is set to $(boot)/Image when 'make install' is invoked.
>
> Yeah, which is another pain point for me, because really what normal people want
> to use is 'make zinstall', and that's not obvious anywhere and is a pretty
> drastic departure from literally any other arch.
>
> >
> > Could we perhaps make sure that this var is set to the file to be installed?
> >
> > I also wonder how useful it is to indicate whether the image is
> > compressed or not, so perhaps we could just say 'Installing kernel' ?
> >
>
> I have no strong opinions here, I'm reticent to be messing with an install
> script for an arch I don't maintain.  I need this change to be able to do
> aarch64 testing in a VM, and honestly I'm sort of surprised I'm the first person
> to run into this since the default stuff straight up doesn't work at all when it
> does for other archs.  Thanks,

OK, well I don't plan to dig into either, and it fixes what seems to be a bug.

Reviewed-by: Simon Glass <sjg at chromium.org>

Regards,
Simon



More information about the linux-arm-kernel mailing list