grub-multi-install: Reset partition type between partitions
Reconfiguring shim-signed in a lxd VM offered /dev/sda as
an ESP, which is obviously wrong.
What happened is that it did not have any ID_PART_ENTRY_TYPE
or ID_PART_ENTRY_SCHEME properties set in udev, so the eval
did not set anything, and the values from the previous partition
were reused.
Subject: [PATCH 1/1] efi: EFI Device Tree Fixup Protocol
Device-trees are used to convey information about hardware to the operating
system. Some of the properties are only known at boot time. (One example of
such a property is the number of the boot hart on RISC-V systems.) Therefore
the firmware applies fix-ups to the original device-tree. Some nodes and
properties are added or altered.
When using GRUB's device-tree command the same fix-ups have to be applied.
The EFI Device Tree Fixup Protocol allows to pass the loaded device tree
to the firmware for this purpose.
The protocol can
* add nodes and update properties
* reserve memory according to the /reserved-memory node and the memory
reservation block
* install the device-tree as configuration table
With the patch GRUB checks if the protocol is installed and invokes it if
available. (LP: #1965796)
Signed-off-by: Heinrich Schuchardt <email address hidden>
Some UEFI implementations (notably U-Boot) don't implement the
SetVariable() runtime service. On these systems the GRUB installation
must be completed manually. Write a warning in this case but avoid
throwing an error. (LP: #1965288)
Signed-off-by: Heinrich Schuchardt <email address hidden>