unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
* bug#27735: Unbootable images with GuixSD on... "GuixSD"
@ 2017-07-17 14:40 Tobias Geerinckx-Rice
  2017-07-17 14:51 ` bug#27735: [PATCH 1/2] build, vm: Use a slightly less generic label Tobias Geerinckx-Rice
  2017-07-17 17:17 ` bug#27735: Unbootable images with GuixSD on... "GuixSD" Danny Milosavljevic
  0 siblings, 2 replies; 20+ messages in thread
From: Tobias Geerinckx-Rice @ 2017-07-17 14:40 UTC (permalink / raw)
  To: 27735


[-- Attachment #1.1: Type: text/plain, Size: 2287 bytes --]

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.


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 504 bytes --]

^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2017-08-05 17:51 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-07-17 14:40 bug#27735: Unbootable images with GuixSD on... "GuixSD" Tobias Geerinckx-Rice
2017-07-17 14:51 ` bug#27735: [PATCH 1/2] build, vm: Use a slightly less generic label Tobias Geerinckx-Rice
2017-07-17 17:20   ` Danny Milosavljevic
2017-07-17 17:58     ` Tobias Geerinckx-Rice
2017-07-18 10:09     ` Ludovic Courtès
2017-07-18 12:30       ` Tobias Geerinckx-Rice
2017-07-18 13:48         ` Danny Milosavljevic
2017-07-17 17:17 ` bug#27735: Unbootable images with GuixSD on... "GuixSD" Danny Milosavljevic
2017-07-17 18:12   ` Tobias Geerinckx-Rice
2017-07-17 18:37     ` Tobias Geerinckx-Rice
2017-07-18 11:49   ` Ludovic Courtès
2017-07-18 15:09     ` Tobias Geerinckx-Rice
2017-07-18 18:59       ` Ludovic Courtès
2017-07-18 20:42         ` Tobias Geerinckx-Rice
2017-07-19 19:11     ` Danny Milosavljevic
2017-07-19 22:32       ` bug#27735: Lookup by UUID Ludovic Courtès
2017-07-20 17:38         ` Danny Milosavljevic
2017-07-20 20:32           ` Ludovic Courtès
2017-07-20 21:51             ` Danny Milosavljevic
2017-08-05 17:50             ` Danny Milosavljevic

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).