[PATCH] arm64: properly install vmlinuz.efi

Josef Bacik josef at toxicpanda.com
Fri Dec 15 06:25:20 PST 2023


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,

Josef



More information about the linux-arm-kernel mailing list