[Libguestfs] ovirt VM image to BM
Richard W.M. Jones
rjones at redhat.com
Thu May 19 10:50:46 UTC 2022
On Thu, May 19, 2022 at 12:25:53PM +0200, Laszlo Ersek wrote:
> On 05/18/22 15:30, Richard W.M. Jones wrote:
> > But the keyboard doesn't work. This is also surprising because I
> > *thought* that both virt and baremetal basically use emulated or real
> > USB keyboard these days.
[This bit is wrong - on x86 under virt we emulate a PS/2 keyboard]
> The keyboard does not work -- where?
>
> Once the OS is reached (gdm or console root prompt), or in grub
> (pre-boot, basically)?
It got all the way to gdm but apparently the keyboard didn't work for
login etc. The baremetal server is a Dell and Guilherme was accessing
this over iDRAC. No idea what kind of "virtual" keyboard iDRAC
presents to the hardware.
I don't know what happened in the end. Last I heard Guilherme was
trying to reach the server over ssh.
> The latter, I can explain. UEFI has a phase called "Boot Device
> Selection" (BDS) where the firmware decides exactly what devices to
> "connect" -- meaning what devices should be *bound* by UEFI drivers.
>
> There is a number of policies here; the gist is that the platform vendor
> can do whatever they want -- BDS is called "platform policy".
>
> Usually they support at least two configs, "full config" and "fast
> boot". Under "fast boot", the firmware only connects such devices to
> UEFI drivers that the firmware *knows* are needed for booting, and
> ignores everything else, including newly connected devices, potentially.
> Therefore, a USB keyboard could end up "non-driven" by UEFI because it
> is not needed for booting!
Would Linux still recognise the keyboard even in "fast boot" mode?
> The fix is to get into the firmware setup UI by some other way [*], and
> either disable "fast boot", or -- if the firmware is flexible enough --
> explicitly enable the binding of USB devices.
>
> [*] From "/etc/grub.d/30_uefi-firmware", the command
>
> grub2-mkconfig -o /etc/grub2-efi.cfg
>
> should create a grub2 menu entry, usually at the end of the boot menu,
> that invokes the "fwsetup" grub2 command. The trick is to make this
> entry the default entry, once the OS has fully booted (I guess via
> GRUB_DEFAULT in "/etc/default/grub"), and then reboot. When grub2
> executes "fwsetup", it modifies a particular non-volatile UEFI global
> variable ("OsIndications"), and upon seeing that, the firmware at next
> boot will drop into the setup UI.
Rich.
--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
nbdkit - Flexible, fast NBD server with plugins
https://gitlab.com/nbdkit/nbdkit
More information about the Libguestfs
mailing list