--- Begin Message ---
Subject: |
Unbootable images with GuixSD on... "GuixSD" |
Date: |
Mon, 17 Jul 2017 16:40:56 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 |
Guix,
[I lost most hours of sleep to this. I might ramble more than usual.]
The default label for images was recently changed[1] to "GuixSD".
While I think it's a fine label, that's also a problem: I've been using
it for years for my root partitions. And when one broke last night, I
couldn't use the GuixSD installer to rescue it.
The installer's now expects exactly one "GuixSD" partition when booting
— at least on UEFI. If the GRUB finds two, the GRUB will randomly
choose. In my case, the GRUB chose a frozen system.
(With a black screen that made debugging hell, but that's probably an
unrelated effect of the roughness of our UEFI support.)
The real problem here is that we're using a label as a UUID.
From gnu/build/vm.scm:
;; Create a tiny configuration file telling the embedded grub
;; where to load the real thing.
(call-with-output-file grub-config
(lambda (port)
(format port
"insmod part_msdos~@
search --set=root --label GuixSD~@
configfile /boot/grub/grub.cfg~%")))
I'm not the first to think so, as noted in gnu/system/vm.scm:
(define root-label
;; Volume name of the root file system. Since we don't know which
device
;; will hold it, we use the volume name to find it (using the UUID would
;; be even better, but somewhat less convenient.)
(normalize-label "GuixSD"))
I like that understatement. I'm not sure how to go about creating a
reproducible almost-UUID based on the store hash and passing it to all
the right places in a reasonably non-horrible manner either, random
hacker. And it would mean even more work and testing after all the
heroic effort on the new installer image + UEFI support by Danny,
Marius, and others.
Until it does happen, I suggest we change the name to "GuixSD-image"[2].
Still fragile, but not the PR fail that ‘don't call your GuixSD file
system GuixSD or it will break GuixSD’ would be.
Zzz,
T G-R
[1]:
https://git.savannah.gnu.org/cgit/guix.git/commit/?id=651de2bdb5fd451c50933dcf8d647d470d826261
[2]: Or whatever. I remember someone (Danny?) calling "-image" an
implementation detail. I think it's a description of the end result.
signature.asc
Description: OpenPGP digital signature
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#27735: Unbootable images with GuixSD on... "GuixSD" |
Date: |
Mon, 17 Jul 2017 20:37:37 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 |
Done with commit 0862b95433cacf91e44248097caa09119fc532a6.
Kind regards,
T G-R
signature.asc
Description: OpenPGP digital signature
--- End Message ---