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


Groups > linux.debian.kernel > #73526 > unrolled thread

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

Started byZameer Manji <zmanji@gmail.com>
First post2021-10-26 23:00 +0200
Last post2021-11-29 20:10 +0100
Articles 13 — 6 participants

Back to article view | Back to linux.debian.kernel


Contents

  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

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

FromZameer Manji <zmanji@gmail.com>
Date2021-10-26 23:00 +0200
SubjectBug#997907: linux-image-arm64: CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER unset in 5.14 kernel
Message-ID<DcBI6-fF-5@gated-at.bofh.it>
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.

[toc] | [next] | [standalone]


#73527 — Processed: Re: Bug#997907: linux-image-arm64: CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER unset in 5.14 kernel

From"Debian Bug Tracking System" <owner@bugs.debian.org>
Date2021-10-26 23:10 +0200
SubjectProcessed: Re: Bug#997907: linux-image-arm64: CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER unset in 5.14 kernel
Message-ID<DcBRL-yk-1@gated-at.bofh.it>
In reply to#73526
Processing control commands:

> reassign -1 src:linux
Bug #997907 [src:linux] linux-image-arm64: CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER unset in 5.14 kernel
Ignoring request to reassign bug #997907 to the same package

-- 
997907: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=997907
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems

[toc] | [prev] | [next] | [standalone]


#73528

FromVincent Blut <vincent.debian@free.fr>
Date2021-10-26 23:10 +0200
Message-ID<DcBRL-yk-3@gated-at.bofh.it>
In reply to#73526

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

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 

[toc] | [prev] | [next] | [standalone]


#73530

FromZameer Manji <zmanji@gmail.com>
Date2021-10-26 23:40 +0200
Message-ID<DcCkO-HC-5@gated-at.bofh.it>
In reply to#73528

[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

[toc] | [prev] | [next] | [standalone]


#73734

FromVincent Blut <vincent.debian@free.fr>
Date2021-11-19 22:10 +0100
Message-ID<DljiV-5Wr-1@gated-at.bofh.it>
In reply to#73530

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

Hi,

Le 2021-10-26 17:33, Zameer Manji a écrit :
> 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
> >
>
> 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
 
Salvatore, I tend to agree with Zameer. I think we should explicitly enable 
EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER until the support for loading initrd
from a device path is widespread among bootloaders.

Cheers,
Vincent

[toc] | [prev] | [next] | [standalone]


#73770

FromSalvatore Bonaccorso <carnil@debian.org>
Date2021-11-23 06:20 +0100
Message-ID<DmwnL-6B-1@gated-at.bofh.it>
In reply to#73734
Hi Vincent,

On Fri, Nov 19, 2021 at 10:04:57PM +0100, Vincent Blut wrote:
> Hi,
> 
> Le 2021-10-26 17:33, Zameer Manji a écrit :
> > 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
> > >
> >
> > 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
>  
> Salvatore, I tend to agree with Zameer. I think we should explicitly enable 
> EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER until the support for loading initrd
> from a device path is widespread among bootloaders.

Yeah I guess it makes sense and understand. Before doing the switch
and re-enabling it explicitly, let's ask Ard if there are known plans for
!X86 and say so for example arm64 as well to revert the default
upstream. The more we can follow those upstream the better for us :)

Ard, this is about https://bugs.debian.org/997907 on non X86,
specifically for arm64.

Regards,
Salvatore

[toc] | [prev] | [next] | [standalone]


#73772

FromArd Biesheuvel <ardb@kernel.org>
Date2021-11-23 08:10 +0100
Message-ID<Dmy6e-1fd-7@gated-at.bofh.it>
In reply to#73770
On Tue, 23 Nov 2021 at 06:12, Salvatore Bonaccorso <carnil@debian.org> wrote:
>
> Hi Vincent,
>
> On Fri, Nov 19, 2021 at 10:04:57PM +0100, Vincent Blut wrote:
> > Hi,
> >
> > Le 2021-10-26 17:33, Zameer Manji a écrit :
> > > 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
> > > >
> > >
> > > 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
> >
> > Salvatore, I tend to agree with Zameer. I think we should explicitly enable
> > EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER until the support for loading initrd
> > from a device path is widespread among bootloaders.
>
> Yeah I guess it makes sense and understand. Before doing the switch
> and re-enabling it explicitly, let's ask Ard if there are known plans for
> !X86 and say so for example arm64 as well to revert the default
> upstream. The more we can follow those upstream the better for us :)
>
> Ard, this is about https://bugs.debian.org/997907 on non X86,
> specifically for arm64.
>

Hello all,

I don't see a reason to revert the default upstream. The feature
remains deprecated (and in the longer term, the EFI handover protocol
may be deprecated and removed as well), so the earlier the bootloaders
adapt, the better it is.

In the meantime, keeping it enabled in the distros for arm64 makes
sense because there is an established installed base. But that doesn't
mean this should be the upstream default.

-- 
Ard.

[toc] | [prev] | [next] | [standalone]


#73773

FromSalvatore Bonaccorso <carnil@debian.org>
Date2021-11-23 08:30 +0100
Message-ID<Dmypz-1lb-1@gated-at.bofh.it>
In reply to#73772
Hi Ard,

On Tue, Nov 23, 2021 at 07:58:32AM +0100, Ard Biesheuvel wrote:
> On Tue, 23 Nov 2021 at 06:12, Salvatore Bonaccorso <carnil@debian.org> wrote:
> >
> > Hi Vincent,
> >
> > On Fri, Nov 19, 2021 at 10:04:57PM +0100, Vincent Blut wrote:
> > > Hi,
> > >
> > > Le 2021-10-26 17:33, Zameer Manji a écrit :
> > > > 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
> > > > >
> > > >
> > > > 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
> > >
> > > Salvatore, I tend to agree with Zameer. I think we should explicitly enable
> > > EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER until the support for loading initrd
> > > from a device path is widespread among bootloaders.
> >
> > Yeah I guess it makes sense and understand. Before doing the switch
> > and re-enabling it explicitly, let's ask Ard if there are known plans for
> > !X86 and say so for example arm64 as well to revert the default
> > upstream. The more we can follow those upstream the better for us :)
> >
> > Ard, this is about https://bugs.debian.org/997907 on non X86,
> > specifically for arm64.
> >
> 
> Hello all,
> 
> I don't see a reason to revert the default upstream. The feature
> remains deprecated (and in the longer term, the EFI handover protocol
> may be deprecated and removed as well), so the earlier the bootloaders
> adapt, the better it is.
> 
> In the meantime, keeping it enabled in the distros for arm64 makes
> sense because there is an established installed base. But that doesn't
> mean this should be the upstream default.

Perfect thanks for commenting quickly. We will enable it donstream in
Debian then explicitly for the time beeing.

Regards,
Salvatore

[toc] | [prev] | [next] | [standalone]


#73836

FromSalvatore Bonaccorso <carnil@debian.org>
Date2021-11-28 14:10 +0100
Message-ID<Dos6m-4r8-9@gated-at.bofh.it>
In reply to#73773
Control: tags -1 + pending

On Tue, Nov 23, 2021 at 08:22:03AM +0100, Salvatore Bonaccorso wrote:
> Hi Ard,
> 
> On Tue, Nov 23, 2021 at 07:58:32AM +0100, Ard Biesheuvel wrote:
> > On Tue, 23 Nov 2021 at 06:12, Salvatore Bonaccorso <carnil@debian.org> wrote:
> > >
> > > Hi Vincent,
> > >
> > > On Fri, Nov 19, 2021 at 10:04:57PM +0100, Vincent Blut wrote:
> > > > Hi,
> > > >
> > > > Le 2021-10-26 17:33, Zameer Manji a écrit :
> > > > > 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
> > > > > >
> > > > >
> > > > > 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
> > > >
> > > > Salvatore, I tend to agree with Zameer. I think we should explicitly enable
> > > > EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER until the support for loading initrd
> > > > from a device path is widespread among bootloaders.
> > >
> > > Yeah I guess it makes sense and understand. Before doing the switch
> > > and re-enabling it explicitly, let's ask Ard if there are known plans for
> > > !X86 and say so for example arm64 as well to revert the default
> > > upstream. The more we can follow those upstream the better for us :)
> > >
> > > Ard, this is about https://bugs.debian.org/997907 on non X86,
> > > specifically for arm64.
> > >
> > 
> > Hello all,
> > 
> > I don't see a reason to revert the default upstream. The feature
> > remains deprecated (and in the longer term, the EFI handover protocol
> > may be deprecated and removed as well), so the earlier the bootloaders
> > adapt, the better it is.
> > 
> > In the meantime, keeping it enabled in the distros for arm64 makes
> > sense because there is an established installed base. But that doesn't
> > mean this should be the upstream default.
> 
> Perfect thanks for commenting quickly. We will enable it donstream in
> Debian then explicitly for the time beeing.

Pending now for the next upload to experimental.

Regards,
Salvatore

[toc] | [prev] | [next] | [standalone]


#77876

FromDiederik de Haas <didi.debian@cknow.org>
Date2023-01-10 10:30 +0100
Message-ID<FMj7b-gUNW-3@gated-at.bofh.it>
In reply to#73772

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

On Tue, 23 Nov 2021 07:58:32 +0100 Ard Biesheuvel <ardb@kernel.org> wrote:
> I don't see a reason to revert the default upstream. The feature
> remains deprecated (and in the longer term, the EFI handover protocol
> may be deprecated and removed as well), so the earlier the bootloaders
> adapt, the better it is.
> 
> In the meantime, keeping it enabled in the distros for arm64 makes
> sense because there is an established installed base. But that doesn't
> mean this should be the upstream default.

FYI: In 6.2 things changed (IIUC):

In https://git.kernel.org/linus/75e1a2460d79566bf1e43e5a3a7a9039510a82e0 
the setting got un-deprecated.

In https://git.kernel.org/linus/e346bebbd36b1576a3335331fed61bb48c6d8823 
the configuration option got removed.
Full commit message:
efi: libstub: Always enable initrd command line loader and bump version
In preparation for setting a cross-architecture baseline for EFI boot
support, remove the Kconfig option that permits the command line initrd
loader to be disabled. Also, bump the minor version so that any image
built with the new version can be identified as supporting this.

[toc] | [prev] | [next] | [standalone]


#73529 — Processed: Re: Bug#997907: linux-image-arm64: CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER unset in 5.14 kernel

From"Debian Bug Tracking System" <owner@bugs.debian.org>
Date2021-10-26 23:10 +0200
SubjectProcessed: Re: Bug#997907: linux-image-arm64: CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER unset in 5.14 kernel
Message-ID<DcBRN-yk-19@gated-at.bofh.it>
In reply to#73526
Processing control commands:

> reassign -1 src:linux
Bug #997907 [linux-image-arm64] linux-image-arm64: CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER unset in 5.14 kernel
Bug reassigned from package 'linux-image-arm64' to 'src:linux'.
No longer marked as found in versions linux-signed-arm64/5.14.9+2.
Ignoring request to alter fixed versions of bug #997907 to the same values previously set

-- 
997907: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=997907
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems

[toc] | [prev] | [next] | [standalone]


#73837 — Processed: Re: Bug#997907: linux-image-arm64: CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER unset in 5.14 kernel

From"Debian Bug Tracking System" <owner@bugs.debian.org>
Date2021-11-28 14:10 +0100
SubjectProcessed: Re: Bug#997907: linux-image-arm64: CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER unset in 5.14 kernel
Message-ID<Dos6n-4r8-27@gated-at.bofh.it>
In reply to#73526
Processing control commands:

> tags -1 + pending
Bug #997907 [src:linux] linux-image-arm64: CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER unset in 5.14 kernel
Added tag(s) pending.

-- 
997907: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=997907
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems

[toc] | [prev] | [next] | [standalone]


#73850 — Bug#997907: marked as done (linux-image-arm64: CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER unset in 5.14 kernel)

From"Debian Bug Tracking System" <owner@bugs.debian.org>
Date2021-11-29 20:10 +0100
SubjectBug#997907: marked as done (linux-image-arm64: CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER unset in 5.14 kernel)
Message-ID<DoUci-4wC-7@gated-at.bofh.it>
In reply to#73526

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

Your message dated Mon, 29 Nov 2021 19:00:09 +0000
with message-id <E1mrlsn-000AID-3C@fasolo.debian.org>
and subject line Bug#997907: fixed in linux 5.16~rc3-1~exp1
has caused the Debian Bug report #997907,
regarding linux-image-arm64: CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER unset in 5.14 kernel
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
997907: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=997907
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems

[toc] | [prev] | [standalone]


Back to top | Article view | linux.debian.kernel


csiph-web