Subject: bug#44717: ISO grub config points to nonexistent drive UUID.

From: Jesse Gibbons <[email-masked]>
Date: Tue, 17 Nov 2020 21:56:32 -0700

On multiple computers, when I try to copy a custom operating system iso 
to an sd card and boot, the boot operation fails. Here's the output on 
one of the computers:

GC Warning: pthread_getattr_up or pthread_getattr_getstack failed for 
main thread
GC Warning: couldn't read /proc/stat
Welcome, this is GNU's early boot Guile.
Use --repl for an initrd REPL.

loading kernel modules...
waiting for partition '31393730-3031-3031-3139-333534353239' to appear...
waiting for partition '31393730-3031-3031-3139-333534353239' to appear...
waiting for partition '31393730-3031-3031-3139-333534353239' to appear...
[    5.044226] sd 0:0:0:0: [sda] No Caching mode page found
[    5.044336] sd 0:0:0:0: [sda] Assuming drive cache: write through
No file system check procedure for /dev/sda; skipping
ice-9/boot-9.scm:1669:16: In procedure raise-exception:
In procedure mount: Permission denied

Entering a new prompt. Type `,bt' for a backtrace or `,q` to continue.
GNU Guile 3.0.2
Copyright (C) 1995-2020 Free Software foundation, Inc.

Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
This program is free software, and you are welcome to redistribute it
under certain conditions; type `,show c' for details.

Enter `,help\ for help.
scheme@(guile-user)>

When I type ,q or C-d I trigger a kernel panic.

This happens on at least three different computers:
- a lenovo ideapad s100 (intel atom, only successfully boots 32-bit 
image, output above)
- a laptop (unidentified brand) with an amd athlon-x2, only tried 64-bit iso
- an acer aspire one (cnet says intel atom), only tried 64-bit iso

I can confirm the lenovo successfully boots the i686 install iso 
(version 1.1.0) on the guix website and lets me see the info page on 
installing the system by hand, though the UI installer fails (most 
likely because the network hardware is disgustingly blobby).

I built the install image for i686-linux and flashed it to the sd card. 
It looks for the exact same partition and falls back on a boot guile repl.

$ guix describe
Generation 334    Nov 17 2020 17:52:52    (current)
   guix 129b9b1
     repository URL: https://git.savannah.gnu.org/git/guix.git
     branch: master
     commit: 129b9b16d9b588316cc997cf8f4fefe30961a417

I generated the iso with the command
`guix system disk-image -t iso9660 --root=installer.BaNl/install-x86.iso 
--system=i686-linux gnu/system/install.scm`
and flash the sd card with the command
`sudo bash -c "echo success" && time sudo dd if=install-x86.iso of=/dev/sdc`

When I inspect the GRUB menu, I see the option
--root=31393730-3031-3031-3139-333534353239
but in the gnome disk utility on my main laptop I do not see the above 
UUID in any of the partitions on the SD card I'm using, still with the 
freshly built install iso flashed onto it. Instead I see the UUIDs 
1970-01-01-19-49-46-83 for partition 1 and 3495-32E0 for partition 2.

Thanks,
-Jesse