Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.debian.kernel > #73530

Bug#997907: linux-image-arm64: CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER unset in 5.14 kernel

From Zameer Manji <zmanji@gmail.com>
Newsgroups linux.debian.bugs.dist, linux.debian.kernel
Subject Bug#997907: linux-image-arm64: CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER unset in 5.14 kernel
Date 2021-10-26 23:40 +0200
Message-ID <DcCkO-HC-5@gated-at.bofh.it> (permalink)
References <DcBI6-fF-5@gated-at.bofh.it> <DcBRL-yk-3@gated-at.bofh.it> <DcBI6-fF-5@gated-at.bofh.it> <DcBRL-yk-3@gated-at.bofh.it>
Organization linux.* mail to news gateway

Cross-posted to 2 groups.

Show all headers | View raw


[Multipart message — attachments visible in raw view] - view raw

Hello Vincent,

I see and understand the rationale of upstream to deprecate this
functionality.
From the commit you linked I see another commit [0] which says:

> Loading an initrd passed via the kernel command line is deprecated: it
> is limited to files that reside in the same volume as the one the kernel
> itself was loaded from, and we have more flexible ways to achieve the
> same. So make it configurable so new architectures can decide not to
> enable it.

I assume the 'more flexible ways' to do the same is referencing this
feature [1]
which is indeed more flexible. The problem is that the firmware/bootloader
must
support this new functionality, by populating the right EFI file with the
right GUID.

As far as I can see on arm64 there are three EFI bootloaders:
* GRUB2
* systemd-boot
* refind

Both systemd-boot and refind do not yet support this new mechanism,
although I see
that systemd has some unreleased code [2] to support the new way. I have
not been
able to test GRUB2 but my understanding is that this new method is still
under active
development [3].

The problem is that upstream has deprecated this functionality by assuming
the only
active use was x86, but was completely possible to use it on arm64 (it
works fine for me
on bullseye). Since EFI bootloaders have not yet implemented the new way,
and still
rely on this deprecated method on all architectures, it results in
unbootable systems
on arm64.

I would 100% think this should remain disabled on arm64 if most EFI
bootloaders
supported the new way, but unfortunately they do not.

I hope you would consider enabling this kernel configuration for arm64
until EFI
bootloaders catch up to the recommended way.


[0]
https://gitlab.com/linux-kernel/stable/-/commit/cf6b83664895a5c7e97710df282e220bd047f0f5
[1]
https://gitlab.com/linux-kernel/stable/-/commit/ec93fc371f014a6fb483e3556061ecad4b40735c
[2]
https://github.com/systemd/systemd/commit/a6089431d52adda93eec251a3df0dffa1fe0661a#diff-76eb4030e88f340c9133388f17c65774b0f17a0a8105500978f6ce18ca1deb5a
[3] https://www.mail-archive.com/grub-devel@gnu.org/msg32272.html

On Tue, Oct 26, 2021 at 5:05 PM Vincent Blut <vincent.debian@free.fr> wrote:

> Control: reassign -1 src:linux
>
> Hi,
>
> Le 2021-10-26 20:44, Zameer Manji a écrit :
> > Package: linux-image-arm64
> > Version: 5.14.9-2
> > Severity: important
> >
> > Dear Maintainer,
> >
> > In bullseye, version 5.10.70-1 has the
> CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER
> > kernel configuration set to 'y'. In bookworm it is unset which disable
> this feature.
> >
> > This kernel configuration parameter allows for the EFI stub of the
> kernel to
> > parse and use a 'initrd=' parameter to set up an initrd when booting
> from EFI.
> > Boot loaders like 'systemd-boot' or 'refind' set this parameter if
> configured
> > to pass an initrd. If the kernel configuration parameter is unset, the
> > `initrd=` paramater is ignored, and can result in an unbootable system
> because
> > the initrd has not setup the root filesystem.
> >
> > Without the kernel configuaration set, it is not possible to use
> 'systemd-boot'
> > or 'refind' on arm64 as both of these bootloaders assume the kernel will
> > handle the 'initrd=' flag and setup the initrd.
> >
> > Please consider enabling CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER on
> > arm64 so using 'systemd-boot' or 'refind' can continue to work. Until
> these
> > bootloaders have been updated to use an alternative method of passing the
> > initrd to the EFI stub, it is not possible to have a booting system.
>
> Except on X86, EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER is no longer enabled
> by
> default. Please see [1] for some details.
>
> Cheers,
> Vincent
>
> [1]
> https://gitlab.com/linux-kernel/stable/-/commit/6edcf9dc2e1aff3aa1f5a69ee420fb30dd0e968a
>


-- 
Zameer Manji

Back to linux.debian.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Bug#997907: linux-image-arm64: CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER unset in 5.14 kernel Zameer Manji <zmanji@gmail.com> - 2021-10-26 23:00 +0200
  Processed: Re: Bug#997907: linux-image-arm64: CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER  unset in 5.14 kernel "Debian Bug Tracking System" <owner@bugs.debian.org> - 2021-10-26 23:10 +0200
  Bug#997907: linux-image-arm64: CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER unset in 5.14 kernel Vincent Blut <vincent.debian@free.fr> - 2021-10-26 23:10 +0200
    Bug#997907: linux-image-arm64: CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER unset in 5.14 kernel Zameer Manji <zmanji@gmail.com> - 2021-10-26 23:40 +0200
      Bug#997907: linux-image-arm64: CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER unset in 5.14 kernel Vincent Blut <vincent.debian@free.fr> - 2021-11-19 22:10 +0100
        Bug#997907: linux-image-arm64: CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER unset in 5.14 kernel Salvatore Bonaccorso <carnil@debian.org> - 2021-11-23 06:20 +0100
          Bug#997907: linux-image-arm64: CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER unset in 5.14 kernel Ard Biesheuvel <ardb@kernel.org> - 2021-11-23 08:10 +0100
            Bug#997907: linux-image-arm64: CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER unset in 5.14 kernel Salvatore Bonaccorso <carnil@debian.org> - 2021-11-23 08:30 +0100
              Bug#997907: linux-image-arm64: CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER unset in 5.14 kernel Salvatore Bonaccorso <carnil@debian.org> - 2021-11-28 14:10 +0100
            Bug#997907: linux-image-arm64: CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER unset in 5.14 kernel Diederik de Haas <didi.debian@cknow.org> - 2023-01-10 10:30 +0100
  Processed: Re: Bug#997907: linux-image-arm64: CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER  unset in 5.14 kernel "Debian Bug Tracking System" <owner@bugs.debian.org> - 2021-10-26 23:10 +0200
  Processed: Re: Bug#997907: linux-image-arm64: CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER  unset in 5.14 kernel "Debian Bug Tracking System" <owner@bugs.debian.org> - 2021-11-28 14:10 +0100
  Bug#997907: marked as done (linux-image-arm64: CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER  unset in 5.14 kernel) "Debian Bug Tracking System" <owner@bugs.debian.org> - 2021-11-29 20:10 +0100

csiph-web