[Bug 2011536] Re: [SRU] Add FK_FORCE_EFI environment variable to skip EFI check
Loïc Minier
2011536 at bugs.launchpad.net
Tue Mar 14 11:54:11 UTC 2023
I'm a bit challenged with time in reviewing less obvious flash-kernel
features as I need to wrap my head around the feature and a possible
path to Debian (I can more easily review + sponsor hardware additions to
the db)
For this particular feature: my memory is that f-k is mainly supposed to
run on hardware as it might flash a mtd device, or write to a raw offset
of a block device. It has environment variables to disable itself fully
while e.g. generating pre-installed rootfs/images; an installer would
then chroot into the newly installed / preinstalled rootfs and then run
flash-kernel on the target hardware
While f-k mostly generate files, I don't think flash-kernel is
particularly good in the mode of "please ignore the current environment
and generate artifacts for the following hardware target without
flashing them to non-OS managed locations", perhaps it grew such support
recently though. I would expect this to be done with something like
FK_FORCE_TARGET_MACHINE or something, and then EFI/chroot/device-tree
checks should be ignored and the machine db would be used, except for
flashing to real hardware
I'd recommend hashing this out in the devel/tip version of f-k in Ubuntu
first, with some thoughts on how it would look in Debian, and then SRU-
ing this
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to flash-kernel in Ubuntu.
https://bugs.launchpad.net/bugs/2011536
Title:
[SRU] Add FK_FORCE_EFI environment variable to skip EFI check
Status in flash-kernel package in Ubuntu:
New
Bug description:
[ Impact ]
Flash-kernel currently checks to see if the machine is running in an
EFI environment by checking the existence of /sys/firmware/efi, and
exits if this is the case. This is undesirable in some cases, such as
in virtual, container, or chroot environments where the host is
running in an EFI environment, but the target device that the system
will actually run on is not and needs flash-kernel to be run.
This debdiff adds the ability to skip this check by setting the
FK_FORCE_EFI environment variable to "yes" (which follows the usage of
the FK_FORCE environment variable). This way, flash-kernel can be run
even though the host system is running in an EFI environment.
[ Test Plan ]
As this change should not impact the current usage of the tool, a test
should be carried out that the normal default usage (i.e. on target
platforms) is not affected and retains the current behaviour.
We should also test that the current behaviour of exiting when the
/sys/firmware/efi directory is detected is retained when FK_FORCE_EFI
is not set to "yes".
Finally, the new ability to skip the EFI detection check when
FK_FORCE_EFI is set to "yes" must be tested.
[ Where problems could occur ]
Some users may be relying on the current behaviour of flash-kernel to
exit when the EFI environment is detected. The current default
behaviour is being retained so as to avoid this issue, meaning a user
should only see the effect of this change when setting FK_FORCE_EFI to
"yes".
[ Other Info ]
N/A
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/flash-kernel/+bug/2011536/+subscriptions
More information about the foundations-bugs
mailing list