Grub cause problems while loading xen.efi on many machines, mostly
because xen.efi support loading dom0 kernel and initramfs only via EFI
services and xen.efi needs to be loaded through them too. But grub in
some cases uses own filesystem handling code instead, leaving xen.efi
without dom0 kernel.
This should improve when xen.efi will get multiboot2 support (Xen 4.10?)
- then grub could load dom0 kernel and initramfs too and pass them to
xen.efi.
For now, bypass grub and launch xen.efi directly. This have unfortunate
effect of not having boot menu, so choose the most universal option:
verbose, with all known workarounds for UEFI applied.
FixesQubesOS/qubes-issues#3505
Skip system-wide dracut config, specifically
/etc/dracut.conf.d/plymouth-missing-fonts.conf, which loads 'label'
plymouth plugin, which in turn pulls a lot of libraries (including
libX11).
QubesOS/qubes-issues#2412
Updated dracut don't like not having /proc/modules - modules
installation routines fails then, producing initramfs without kernel
modules at all. Empty /proc/modules is enough to avoid this.
QubesOS/qubes-issues#2574
When installation image is written on Windows, it automatically (by the
OS) gets mounted and Windows create "System Volume Information" there.
This obviously means the installation media is modified and then fails
verification.
This is really wrong from the Windows side to automatically modify some
files behind users back. But since we can prevent this with really low
cost by just creating those files ourself and reduce a lot of user
confusion, just do it.
Thanks @pbatard for the help.
FixesQubesOS/qubes-issues#2051
Apparently all but first parameters are passed to xen.efi, so it is possible to
select which config section should be used. This makes xen.efi copy
unnecessary.