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.