[systemd-devel] Partition discovery broken, invalid UUID in efi variable

Thomas Weißschuh thomas at t-8ch.de
Fri Mar 21 12:11:33 PDT 2014


On Fri, Mar 21, 2014 at 07:14:00PM +0100, Kay Sievers wrote:
> On Fri, Mar 21, 2014 at 6:24 PM, Thomas Weißschuh <thomas at t-8ch.de> wrote:
>> On Fri, Mar 21, 2014 at 06:04:24PM +0100, Kay Sievers wrote:
>>>On Fri, Mar 21, 2014 at 5:55 PM, Thomas Weißschuh <thomas at t-8ch.de> wrote:
>>>> On Fri, Mar 21, 2014 at 05:43:48PM +0100, Kay Sievers wrote:
>>>>> On Fri, Mar 21, 2014 at 8:28 AM, Thomas Weißschuh <thomas at t-8ch.de> wrote:
>>>>> > While trying to use the discovereable partitions stuff I ran into the following:
>>>>> >
>>>>> > Running systemd-efi-boot-generator on my machine results in:
>>>>> > "Failed to read ESP partition UUID: Input/output error"
>>>>> > The cause for this is that, the efi variable LoaderDevicePartUUID which is
>>>>> > supposed to hold an UUID only contains the literal string "ESP", which can't be
>>>>> > parsed by systemd.
>>>>>
>>>>> What does this say on your box?
>>>>>   $ cat /sys/firmware/efi/efivars/LoaderDeviceIdentifier-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f
>>>>>    Acpi(PNP0A03,0)/Pci(1F|2)/?/HD(Part1,Sig000012AF-0666-0000-EA27-0000D6190000)
>>>>
>>>> $ cat /sys/firmware/efi/efivars/LoaderDeviceIdentifier-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f
>>>> Acpi(PNP0A03,0)/Pci(1F/2)/?/HD(Part1,SigESP)
>>>
>>> Your setup uses the *type* UUID for the EFI system partition as the
>>> *object* UUID of the partition?
>>>
>>> If that's the case, this cannot really work, object UUIDs need to be
>>> unique, created from randomness, not pre-defined.
>>
>> This did also seem wrong to me. So it is definitevely a broken system and no
>> configuration error on my part?
> 
> Whatever tool created the EFI system partition in the GPT table did it wrong.
> 
> That the well-known UUIDs are translated to a string is a gnuefi lib
> stupidity. You would need to change the GPT entry to have a random
> object UUID, then all should work on gummiboot + systemd side.

Turned out the misbehaving tool was I myself. When reading the
DiscoverablePartition spec I mixed up the different types of GUIDs.
(Nearly) everything is working now.

Thanks a lot!

> But be careful, if you have Windows installed, it might (I don't know)
> have trouble when the UUID is changed.

No problem here.

Regards,
Thomas


More information about the systemd-devel mailing list