Subject: bug#18082: 'guix system reconfigure' fails to install grub from standalone guix

From: Mark H Weaver <[email-masked]>
Date: Tue, 22 Jul 2014 15:08:08 -0400

[email-masked] (Ludovic Courtès) writes:
> In guix/scripts/system.scm, could you remove ‘false-if-exception’ around
> ‘install-grub’, and report the backtrace?

Here it is:

--8<---------------cut here---------------start------------->8---
root@jojen# ~mhw/guix/pre-inst-env guix system reconfigure ~mhw/os-install.scm 
The following derivation will be built:
   /gnu/store/ynkp0ijahvg4x1q6bfdw34d28hhqmgb4-grub.cfg.drv
killing process 1117
/gnu/store/ay6f47hv2gy4hny4ycnbyn0jnyd60n4v-system
/gnu/store/2yrylvn5c9apgfpppc5kfb24fi7mrnpl-grub-2.00
/gnu/store/6qwr8shknwlb1f1l0a7j6n3h8sg36bv7-grub.cfg
activating system...
populating /etc from /gnu/store/p4gvgs07g7gmsygjb3767r5k32v3l1y5-etc...
setting up setuid programs in '/run/setuid-programs'...
making '/gnu/store/ay6f47hv2gy4hny4ycnbyn0jnyd60n4v-system' the current system...
Backtrace:
In ice-9/boot-9.scm:
 157: 15 [catch #t #<catch-closure 9037cb0> ...]
In unknown file:
   ?: 14 [apply-smob/1 #<catch-closure 9037cb0>]
In ice-9/boot-9.scm:
  63: 13 [call-with-prompt prompt0 ...]
In ice-9/eval.scm:
 432: 12 [eval # #]
In ice-9/boot-9.scm:
2401: 11 [save-module-excursion #<procedure 9047ca0 at ice-9/boot-9.scm:4045:3 ()>]
4050: 10 [#<procedure 9047ca0 at ice-9/boot-9.scm:4045:3 ()>]
1724: 9 [%start-stack load-stack ...]
1729: 8 [#<procedure 904c708 ()>]
In unknown file:
   ?: 7 [primitive-load "/home/mhw/guix/scripts/guix"]
In guix/ui.scm:
 656: 6 [run-guix-command system "reconfigure" "/home/mhw/os-install.scm"]
In ice-9/boot-9.scm:
 157: 5 [catch srfi-34 #<procedure 96c5ae0 at guix/ui.scm:205:2 ()> ...]
 157: 4 [catch system-error ...]
In guix/monads.scm:
 430: 3 [run-with-store # ...]
In guix/scripts/system.scm:
 301: 2 [#<procedure a95b120 at guix/scripts/system.scm:299:13 (store)> #]
In guix/build/install.scm:
  47: 1 [install-grub # "/dev/sda" "/"]
In unknown file:
   ?: 0 [copy-file # "//boot/grub/grub.cfg.new"]

ERROR: In procedure copy-file:
ERROR: Wrong type (expecting string): #<derivation /gnu/store/ynkp0ijahvg4x1q6bfdw34d28hhqmgb4-grub.cfg.drv => /gnu/store/6qwr8shknwlb1f1l0a7j6n3h8sg36bv7-grub.cfg b7ecf78>
root@jojen# 
--8<---------------cut here---------------end--------------->8---

and here's my os-install.scm:

--8<---------------cut here---------------start------------->8---
(use-modules (gnu)
	     (gnu packages emacs)
	     (gnu packages admin)
	     (gnu packages linux)
	     (gnu services base)
	     (gnu services networking)
	     (guix monads)
	     (srfi srfi-26))

(operating-system
  (host-name "jojen")
  (timezone "US/Eastern")
  (bootloader (grub-configuration
		(device "/dev/sda")))
  (file-systems (list (file-system
			(device "librintel-guix")
			(mount-point "/")
			(type "ext4"))))
  (users (list (user-account
		(name "mhw")
		(group "mhw")
		(password "")
		(uid 1000)
		(home-directory "/home/mhw"))))
  (groups (cons (user-group
		 (name "mhw")
		 (id 1000))
		%base-groups))
  (packages (cons* emacs
		   wpa-supplicant
		   wireless-tools
		   module-init-tools
		   isc-dhcp
		   %base-packages))
  (services
   (let ((motd (text-file "motd" "
This is the GNU operating system, welcome!\n\n")))
     (list (console-font-service "tty1")
	   (console-font-service "tty2")
	   (console-font-service "tty3")
	   (console-font-service "tty4")
	   (console-font-service "tty5")
	   (console-font-service "tty6")

	   (mingetty-service "tty1" #:motd motd)
	   (mingetty-service "tty2" #:motd motd)
	   (mingetty-service "tty3" #:motd motd)
	   (mingetty-service "tty4" #:motd motd)
	   (mingetty-service "tty5" #:motd motd)
	   (mingetty-service "tty6" #:motd motd)
	   (static-networking-service "lo" "127.0.0.1"
				      #:provision '(loopback))
	   (syslog-service)
	   (guix-service #:authorize-hydra-key? #t)
	   (nscd-service)
	   (udev-service)))))
--8<---------------cut here---------------end--------------->8---

   Thanks!
     Mark