From mboxrd@z Thu Jan 1 00:00:00 1970 From: "pelzflorian (Florian Pelz)" Subject: bug#27231: regression?: grub-configuration for grub-efi does not return a bootloader-configuration Date: Sun, 4 Jun 2017 12:47:02 +0200 Message-ID: <20170604104701.GA4279@floriannotebook> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="wac7ysb48OaltWcw" Content-Transfer-Encoding: 7bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:59218) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dHT3q-0006G5-Qk for bug-guix@gnu.org; Sun, 04 Jun 2017 06:47:08 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dHT3m-0001hz-SF for bug-guix@gnu.org; Sun, 04 Jun 2017 06:47:06 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:51960) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dHT3m-0001hZ-PO for bug-guix@gnu.org; Sun, 04 Jun 2017 06:47:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1dHT3m-0007Er-C0 for bug-guix@gnu.org; Sun, 04 Jun 2017 06:47:02 -0400 Sender: "Debbugs-submit" Resent-Message-ID: Received: from eggs.gnu.org ([2001:4830:134:3::10]:59070) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dHT2u-0006E5-JA for bug-guix@gnu.org; Sun, 04 Jun 2017 06:46:10 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dHT2q-0000sc-C4 for bug-guix@gnu.org; Sun, 04 Jun 2017 06:46:08 -0400 Received: from pelzflorian.de ([5.45.111.108]:32870 helo=mail.pelzflorian.de) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dHT2p-0000qW-ST for bug-guix@gnu.org; Sun, 04 Jun 2017 06:46:04 -0400 Received: from floriannotebook (ip5f58bf63.dynamic.kabel-deutschland.de [95.88.191.99]) by mail.pelzflorian.de (Postfix) with ESMTPSA id C096636000F for ; Sun, 4 Jun 2017 12:46:00 +0200 (CEST) Content-Disposition: inline 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: 27231@debbugs.gnu.org --wac7ysb48OaltWcw Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Hello, My GuixSD configuration (see attachment) for UEFI got broken some three weeks ago but I=E2=80=99ve only now caught up with my e-mail and =E2= =80=9Cfixed=E2=80=9D it. root@floriannotebook ~# guix system reconfigure /home/florian/keep/guixsd= -asus.scm Backtrace: 9 (apply-smob/1 #) In ice-9/boot-9.scm: 713:2 8 (call-with-prompt _ _ #) In ice-9/eval.scm: 619:8 7 (_ #(#(#))) In ice-9/boot-9.scm: 2316:4 6 (save-module-excursion _) 3823:12 5 (_) In guix/ui.scm: 1311:8 4 (run-guix-command _ . _) In ice-9/boot-9.scm: 837:9 3 (catch _ _ # =E2=80=A6) 837:9 2 (catch _ _ # =E2=80=A6) In guix/scripts/system.scm: 1006:8 1 (_) 885:27 0 (process-action _ _ _) guix/scripts/system.scm:885:27: In procedure process-action: guix/scripts/system.scm:885:27: In procedure bootloader-configuration-dev= ice: Wrong type argument: #< grub: # device: "/dev/sda" menu-e= ntries: () default-entry: 0 timeout: 5 theme: #< images: (#<<= grub-image> aspect-ratio: 4/3 file: #< base: # url: "git://git.savannah.gnu.org/guix/guix-artwork.git" commi= t: "6998d30" recursive?: #f> gjomvsacge5nz76kqiyzbpiin32l7nn672voskuo7ahz= 3za56jga () 3a4d300> suffix: ("/grub/GuixSD-fully-black-4-3.svg")>>) colo= r-normal: ((fg . light-gray) (bg . black)) color-highlight: ((fg . yellow= ) (bg . black))>> I =E2=80=98guix pull=E2=80=99ed before reconfiguring. I used this: (bootloader (grub-configuration (device "/dev/sda") (grub grub-efi))) Then =E2=80=98guix system reconfigure /home/florian/keep/guixsd-asus.scm=E2= =80=99 kept failing. Debugging by (load)ing .guix-real in the Guile REPL and using breakpoints showed me that this was not a valid (bootloader-configuration?). Replacing the above by (bootloader (bootloader-configuration (bootloader grub-efi-bootloader) (device "/dev/sda"))) fixed it today and I can =E2=80=98guix system reconfigure=E2=80=99 again. I don=E2=80=99t know why this broke and if it breaks for others too (apparently noone has filed a bug yet), which is why I=E2=80=99m filing a= bug here. Using a syntax rule for grub-configuration seems complicated to me anyway, but I=E2=80=99m still a Guile newbie. Regards, Florian --wac7ysb48OaltWcw Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="broken-guixsd-asus.scm" ;; Custom config adapted from GNOME/Xfce example in Guix manual. ;; Meant to use GNU Hurd once it is ready. (use-modules (gnu) (gnu packages admin) (gnu packages shells) (gnu system grub) (gnu system locale) (gnu system nss) (guix gexp)) (use-service-modules avahi base dbus desktop networking xorg) (use-package-modules bootloaders certs cryptsetup emacs fonts freedesktop gnome guile libusb linux ; for lvm2, util-linux rsync ssh suckless version-control wget) (operating-system (host-name "floriannotebook") (timezone "Europe/Berlin") (locale "en_US.UTF-8") (locale-definitions (cons (locale-definition (name "de_DE.utf8") (source "de_DE")) %default-locale-definitions)) ;; Assuming /dev/sda is the target hard disk, and "GuixSD" ;; is the label of the target root file system. (bootloader (grub-configuration (device "/dev/sda") (grub grub-efi))) ;; (bootloader (bootloader-configuration (bootloader grub-efi-bootloader) ;; (device "/dev/sda"))) ;; (menu-entries ;; (list ;; (menu-entry ;; (label "Parabola GNU/Linux-libre") ;; ;; see Arch Wiki / GRUB / Encrypted GNU/Linux menuentry to see what is missing here ;; (linux "/boot/vmlinuz-linux-libre") ;; (linux-arguments '("cryptdevice=UUID=e269b169-073a-49f4-a03f-1a34d88384f8:Main" "root=/dev/mapper/Main-rootvol resume=/dev/mapper/Main-swapvol" "rw" "add_efi_memmap" "initrd=/initramfs-linux-libre.img" "init=/lib/systemd/systemd")) ;; (initrd "/boot/initramfs-linux-libre.img")) ;; (menu-entry ;; (label "Parabola GNU/Linux-libre LTS") ;; (linux "/boot/vmlinuz-linux-libre-lts") ;; (linux-arguments '("cryptdevice=UUID=e269b169-073a-49f4-a03f-1a34d88384f8:Main" "root=/dev/mapper/Main-rootvol" "resume=/dev/mapper/Main-swapvol" "rw" "add_efi_memmap" "initrd=/initramfs-linux-libre-lts.img" "init=/lib/systemd/systemd")) ;; (initrd "/boot/initramfs-linux-libre-lts.img")))))) ;; Specify a mapped device for the encrypted root partition. ;; The UUID is that returned by 'cryptsetup luksUUID'. (mapped-devices (list (mapped-device (source (uuid "de52112d-aa7c-4e03-a52b-80deb59d9353")) (target "GuixSD") (type luks-device-mapping)))) (file-systems (cons*(file-system (device "my-root") (title 'label) (mount-point "/") (type "ext4") (dependencies mapped-devices)) (file-system (device "/dev/sda1") (mount-point "/boot/efi") (type "msdos")) %base-file-systems ;; %fuse-control-file-system )) (users (cons* (user-account (name "florian") (comment "Florian Pelz") (group "users") (supplementary-groups '("wheel" "netdev" "audio" "video")) (home-directory "/home/florian") (shell #~(string-append #$zsh "/bin/zsh"))) (user-account (name "guest") (comment "Guest user") (group "users") (home-directory "/home/guest") (shell #~(string-append #$zsh "/bin/zsh"))) %base-user-accounts)) ;; This is where we specify system-wide packages. (packages (cons* cryptsetup emacs font-dejavu font-google-noto geiser git gnome-calculator gnome-screenshot gnome-system-monitor gnome-tweak-tool guile-2.2 gvfs ;for user mounts ;; lsh ;probably insecure because no release activity lvm2 nss-certs ;for HTTPS access openssh paredit rsync util-linux wget xdg-utils zsh %base-packages)) ;; Add GNOME and/or Xfce---we can choose at the log-in ;; screen with F1. Use the "desktop" services, which ;; include the X11 log-in service, networking with Wicd, ;; and more. (services (cons* (gnome-desktop-service) (avahi-service) (colord-service) (dbus-service) (elogind-service) (geoclue-service) (service network-manager-service-type (network-manager-configuration (dns "dnsmasq"))) (polkit-service) (screen-locker-service slock) (slim-service) (udisks-service) (upower-service) (simple-service 'mtp udev-service-type (list libmtp)) (service wpa-supplicant-service-type wpa-supplicant) (modify-services %base-services (guix-service-type config => (guix-configuration (inherit config) (tmpdir "/tmpdir")))))) ;; Allow resolution of '.local' host names with mDNS. (name-service-switch %mdns-host-lookup-nss)) --wac7ysb48OaltWcw--