From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mark H Weaver Subject: bug#28445: match-error in 'device-sexp->device' while building system Date: Mon, 18 Sep 2017 13:29:14 -0400 Message-ID: <877ewvj4ph.fsf@netris.org> References: <87y3pid5jw.fsf@netris.org> <871snafw35.fsf@fastmail.com> <87ingmcmwm.fsf@netris.org> <874ls1gl3d.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:43392) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dtzry-0006xM-RU for bug-guix@gnu.org; Mon, 18 Sep 2017 13:30:11 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dtzrv-0005IR-Mz for bug-guix@gnu.org; Mon, 18 Sep 2017 13:30:06 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:38072) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dtzrv-0005IL-IX for bug-guix@gnu.org; Mon, 18 Sep 2017 13:30:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1dtzru-0002bj-Hg for bug-guix@gnu.org; Mon, 18 Sep 2017 13:30:03 -0400 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: <874ls1gl3d.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Sun, 17 Sep 2017 21:51:18 +0200") 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: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: 28445@debbugs.gnu.org Hi Ludovic, ludo@gnu.org (Ludovic Court=C3=A8s) writes: > Mark H Weaver skribis: > >> At least for some transition period, it would be good to find a way to >> cope with (store (device #f)) in some older system generations. >> >> What do you think? > > I think the patch below, which is Marius=E2=80=99 patch + adjusts > =E2=80=98read-boot-parameters=E2=80=99 to cope with #f store-device, shou= ld solve the > issue. > > Could you check if it works for you? I applied this, and my system boots, but there are errors that occur within GRUB that didn't happen before this batch of recent commits (the ones I mentioned reverting earlier). At two points during boot, GRUB prints an error (paraphrasing): no such device: /dev/mapper/jojen-root. * It happens once after entering my disk encryption password for GRUB, but before the menu is displayed. * It happens again after selecting the desired menu item, but before loading the kernel. The origin of these problems can be seen in the diff between my old grub.cfg and the new one: --8<---------------cut here---------------start------------->8--- --- /gnu/store/5vw8y4kyl0606wg0sgh8xsm2czshdprl-grub.cfg 1969-12-31 19:00:0= 1.000000000 -0500 +++ /boot/grub/grub.cfg 2017-09-18 05:19:39.240461714 -0400 @@ -21,7 +21,7 @@ } =20 # Set 'root' to the partition that contains /gnu/store. -search --file --set /gnu/store/21ngnlx9k0x9x2jj1px7mdlb4j6mzz6x-grub-2.02/= share/grub/unicode.pf2 +search --label --set /dev/mapper/jojen-root =20 if loadfont /gnu/store/21ngnlx9k0x9x2jj1px7mdlb4j6mzz6x-grub-2.02/share/gr= ub/unicode.pf2; then setup_gfxterm --8<---------------cut here---------------end--------------->8--- Above, it changed from a working method to a non-working method to find the encrypted partition within GRUB. --8<---------------cut here---------------start------------->8--- @@ -42,15 +42,20 @@ set default=3D0 set timeout=3D5 menuentry "GNU with Linux-Libre 4.13.2 (beta)" { - search --file --set /gnu/store/r64778rd9s1hy1yjbvlr17yq16vhwblq-linux-li= bre-4.13.2/bzImage - linux /gnu/store/r64778rd9s1hy1yjbvlr17yq16vhwblq-linux-libre-4.13.2/bzI= mage --root=3D/dev/mapper/jojen-root --system=3D/gnu/store/3lprqk4zdwhz4lvr= yhalymf2xks8f6yr-system --load=3D/gnu/store/3lprqk4zdwhz4lvryhalymf2xks8f6y= r-system/boot - initrd /gnu/store/rqn1zs2pjbk54b1mpsy98qwsbkxj94q5-raw-initrd/initrd + search --label --set /dev/mapper/jojen-root + linux /gnu/store/r64778rd9s1hy1yjbvlr17yq16vhwblq-linux-libre-4.13.2/bzI= mage --root=3D/dev/mapper/jojen-root --system=3D/gnu/store/7i0f249xi92fjf4r= 6990s2rmlhjhiq9w-system --load=3D/gnu/store/7i0f249xi92fjf4r6990s2rmlhjhiq9= w-system/boot + initrd /gnu/store/0cpz988g0yvq4wimiqw2zd7cc18ak4p4-raw-initrd/initrd } --8<---------------cut here---------------end--------------->8--- and here, the same issue with GRUB's "search" command previously searching for a file, and now searching for a label that doesn't exist. Here's what ends up in the 'parameters' file of my new system: (store (device "/dev/mapper/jojen-root") (mount-point "/")) It manages to boot anyway, but it pauses and prompts me to press a key (to make sure I saw this error) twice during early boot. It would be good to handle this root filesystem configuration more gracefully. Or is my OS configuration to blame? Thanks! Mark