I tested this locally by creating a MAAS preseed that adds my PPA. And
it works.... sort of. The kernel no longer causes flash-kernel to be
installed, but unfortunately flash-kernel is *pre-baked* in the arm*
cloud images, so we'd have to remove it from them too.
RE: EFI-STUB - GRUB is the default way to boot Ubuntu on EFI systems.
Users can choose to boot using EFI-STUB, but they can also remove any
Recommended packages. Adding grub-efi-arm64 to Recommends will also get
arm64 on-par with amd64, which also recommends GRUB.
** Also affects: cloud-images
Importance: Undecided
Status: New
** Also affects: linux (Ubuntu)
Importance: Undecided
Status: New
--
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1918427
Title:
curtin: install flash-kernel in arm64 UEFI unexpected
Status in cloud-images:
New
Status in curtin package in Ubuntu:
New
Status in linux package in Ubuntu:
New
Bug description:
I used APM Mustang which flash-kernel supported in u-boot mode.
But I used it with UEFI environment.
It will cause fatal error when I used ARM64 ubuntu live server ISO to install
system.
In code[1], this will not install `flash-kernel` for APM Mustang because of
UEFI.
So that means code[2] will not disable `flash-kernel` in target system, only
disable `update-initramfs`.
When curtin execute to `install_kernel` stage, code[3,4] will not install
`flash-kernel` either.
But in code[5], it will install `linux-generic`.
`linux-generic` has a long dependency tree and it will get `flash-kernel` in
Recommended field.
Apt by default will install Recommended package before kernel is installed.[6]
So it will still execute `zz-flash-kernel` and `flash-kernel` when installing
kernel.
But system didn't create any `initrd.img` ever because curtin disable
`update-initramfs` in code[2].
This will cause that `flash-kernel` cannot find `initrd.img.<kvers>` and fail
when installing it.
This issue didn't effect all ARM64 UEFI platform because `flash-kernel`
didn't support them and skip.[7]
I'm not sure which is best solution for this.
But I think we should apply PR-27 in `flash-kernel`[8] for enhancement and
fix curtin process with this patch both.
If we only apply PR-27, it should work fine as well because it will be
skipped when detecting UEFI
and install `flash-kernel` before `disable_update_initranfs` in ARM platform
without UEFI.[9]
[Patch-1,2,3] might have side effect.
Picking one patch for curtin should be enough.
But I need your advice for this to determine which one is better for curtin.
There are two categories
1. avoid installing flash-kernel if no need, [Patch1,2]
2. always install flash-kernel in arm/arm64 and make sure it be installed
before code[2] [Patch3]
(I will attach patch in reply.)
Thanks a lot
Regards,
Date
[1]
https://github.com/canonical/curtin/blob/master/curtin/deps/__init__.py#L57-L58
[2]
https://github.com/canonical/curtin/blob/master/curtin/commands/curthooks.py#L1693-L1699
[3]
https://github.com/canonical/curtin/blob/master/curtin/commands/curthooks.py#L365-L370
[4]
https://github.com/canonical/curtin/blob/master/curtin/commands/curthooks.py#L311-L327
[5]
https://github.com/canonical/curtin/blob/master/curtin/commands/curthooks.py#L372-L374
[6] https://github.com/Debian/apt/blob/master/apt-pkg/init.cc#L132
[7]
https://salsa.debian.org/installer-team/flash-kernel/-/blob/master/functions#L787
[8] https://salsa.debian.org/installer-team/flash-kernel/-/merge_requests/27
[9] curtin will insert `flash-kernel` into `REQUIRED_EXECUTABLES` when system
is arm/arm64 without UEFI.
To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-images/+bug/1918427/+subscriptions
--
Mailing list: https://launchpad.net/~kernel-packages
Post to : [email protected]
Unsubscribe : https://launchpad.net/~kernel-packages
More help : https://help.launchpad.net/ListHelp