[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#27735: Unbootable images with GuixSD on... "GuixSD"
From: |
Tobias Geerinckx-Rice |
Subject: |
bug#27735: 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
- bug#27735: Unbootable images with GuixSD on... "GuixSD",
Tobias Geerinckx-Rice <=
- bug#27735: [PATCH 1/2] build, vm: Use a slightly less generic label., Tobias Geerinckx-Rice, 2017/07/17
- bug#27735: [PATCH 1/2] build, vm: Use a slightly less generic label., Danny Milosavljevic, 2017/07/17
- bug#27735: [PATCH 1/2] build, vm: Use a slightly less generic label., Tobias Geerinckx-Rice, 2017/07/17
- bug#27735: [PATCH 1/2] build, vm: Use a slightly less generic label., Ludovic Courtès, 2017/07/18
- bug#27735: [PATCH 1/2] build, vm: Use a slightly less generic label., Tobias Geerinckx-Rice, 2017/07/18
- bug#27735: [PATCH 1/2] build, vm: Use a slightly less generic label., Danny Milosavljevic, 2017/07/18
bug#27735: Unbootable images with GuixSD on... "GuixSD", Danny Milosavljevic, 2017/07/17