Subject: bug#28445: Cannot boot GuixSD after system reconfigure

From: Roel Janssen <[email-masked]>
Date: Fri, 22 Sep 2017 02:24:36 +0200

Ludovic Courtès writes:

> Hi Roel,
>
> Roel Janssen <[email-masked]> skribis:
>
>> Roel Janssen writes:
>>
>>> Dear Guix,
>>>
>>> I 'guix pull'ed commit 228a398 and ran:
>>>   guix system reconfigure /etc/config.scm
>>>
>>> It looks like GRUB cannot find my root partition (/dev/sda3).  So, I
>>> suspect that something has changed regarding specifying the partitions (UUIDs?).
>
> [...]
>
>> So, I was able to fix GRUB by manually modifying /boot/grub/grub.cfg:
>>
>> -search --label --set /dev/sda3
>> +search --no-floppy --fs-uuid --set <blkid uuid output>
>
> I believe this is fixed with db4e8fd5d4a07d3be8ce68fb96722ef7077c0eee.
>
> Could you please let me know if everything’s OK?

I changed the following pieces of my config:

  (bootloader (bootloader-configuration
               (bootloader grub-efi-bootloader)
               (target "/boot/efi")))

  (file-systems (cons*
                 (file-system
                  (title 'uuid)
                  (device (uuid "<uuid>"))
                  (mount-point "/boot")
                  (needed-for-boot? #t)
                  (type "ext4"))
		 (file-system
                  (title 'device)
                  (device "/dev/sda1")
                  (mount-point "/boot/efi")
                  (needed-for-boot? #t)
                  (type "vfat"))
                 (file-system
                  (mount-point "/")
                  (options "ssd")
                  (title 'uuid)
                  (device (uuid "<uuid>"))
                  (options "ssd")
                  (type "btrfs"))
                 (file-system
                  (title 'device)
                  (device "tmpfs")
                  (mount-point "/var/guix/temproots")
                  (type "tmpfs"))
                 (file-system
                  (title 'device)
                  (device "tmpfs")
                  (mount-point "/tmp")
                  (type "tmpfs"))
                 %base-file-systems))

And with these changes, I can boot GuixSD again.

The vfat partitions have a shorter UUID, which are not accepted by
Guix.  Is this on purpose?  As you can see in the snippet above, I use
'device for the vfat partition and 'uuid for the other disk-based
partitions.  It would be nice to use UUIDs for every partition.

Thanks for your time.

Kind regards,
Roel Janssen