From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tobias Geerinckx-Rice Subject: bug#27735: Unbootable images with GuixSD on... "GuixSD" Date: Mon, 17 Jul 2017 16:40:56 +0200 Message-ID: <327af9f3-fdfb-7916-f0ea-9aec0fae20f3@tobias.gr> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="HU6hhLiOEs1lAe2V7De72IAHdPun5MQjb" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:36381) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dX7Jc-0005MK-73 for bug-guix@gnu.org; Mon, 17 Jul 2017 10:48:05 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dX7Jb-0001NP-4s for bug-guix@gnu.org; Mon, 17 Jul 2017 10:48:04 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:41897) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dX7Jb-0001NG-0M for bug-guix@gnu.org; Mon, 17 Jul 2017 10:48:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1dX7Ja-00088H-Ng for bug-guix@gnu.org; Mon, 17 Jul 2017 10:48:02 -0400 Sender: "Debbugs-submit" Resent-Message-ID: Received: from eggs.gnu.org ([2001:4830:134:3::10]:36261) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dX7Iu-0004zB-FQ for bug-guix@gnu.org; Mon, 17 Jul 2017 10:47:21 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dX7It-0000sD-5S for bug-guix@gnu.org; Mon, 17 Jul 2017 10:47:20 -0400 Received: from tobias.gr ([2001:470:cc92::1]:47232) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dX7Is-0000qF-RH for bug-guix@gnu.org; Mon, 17 Jul 2017 10:47:19 -0400 Received: by tobias.gr (OpenSMTPD) with ESMTP id 9559ded2 for ; Mon, 17 Jul 2017 14:47:13 +0000 (UTC) Received: by submission.tobias.gr (OpenSMTPD) with ESMTPSA id 94ec6d94 (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128:NO) for ; Mon, 17 Jul 2017 14:40:30 +0000 (UTC) List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: "bug-Guix" To: 27735@debbugs.gnu.org This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --HU6hhLiOEs1lAe2V7De72IAHdPun5MQjb Content-Type: multipart/mixed; boundary="OtRPe9L1PHa26TiuI7RP8DG4JCsljhrbb"; protected-headers="v1" From: Tobias Geerinckx-Rice To: bug-guix@gnu.org Message-ID: <327af9f3-fdfb-7916-f0ea-9aec0fae20f3@tobias.gr> Subject: Unbootable images with GuixSD on... "GuixSD" --OtRPe9L1PHa26TiuI7RP8DG4JCsljhrbb Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable 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 =E2=80=94 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. =46rom 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=3Droot --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 wo= uld ;; 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 =E2=80=98don't call your GuixSD f= ile system GuixSD or it will break GuixSD=E2=80=99 would be. Zzz, T G-R [1]: https://git.savannah.gnu.org/cgit/guix.git/commit/?id=3D651de2bdb5fd451c5= 0933dcf8d647d470d826261 [2]: Or whatever. I remember someone (Danny?) calling "-image" an implementation detail. I think it's a description of the end result. --OtRPe9L1PHa26TiuI7RP8DG4JCsljhrbb-- --HU6hhLiOEs1lAe2V7De72IAHdPun5MQjb Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- iQFBBAEBCgArFiEEeqzfDJ8DWw5d4xcqkczbm0hUG5kFAllszHkNHG1lQHRvYmlh cy5ncgAKCRCRzNubSFQbmQuXB/45wH+KpPdTnLpLukC9KS/zOOYGgMmTu5ca8T1S g4yKF8egsNTTQI3AdT3sHqGjmzhWJf1NHsulTYH4AVjgSVg8UZaQ5EkFDwD9Mo7q xynyNhTd3VuOjiFFpKFFnvhfLuyxLmx2ULqJYiqS2Sc1wdML/TSpeIVph7kkxymi 2g7r6rjnJCnFGODyZzJTgqnJAmF4zRLH3R1GtnDDgCNNRB3aN3NyL8dqk16P6ciP 7deulUPQVgbnIJTvkB7MAESHnwZ2fv+dDLcAQ9lMwQtZtQx2e4FOESkV5VqX4lDG LR3y7eJULvrmqDLbA02Pv93zEPFzAqLgRz9cySo7tNb9n9X0 =vYha -----END PGP SIGNATURE----- --HU6hhLiOEs1lAe2V7De72IAHdPun5MQjb--