l...@gnu.org (Ludovic Courtès) writes: > Mark H Weaver <m...@netris.org> skribis: > >> 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> > > Oops, should be much better with this: > > diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm > index 57f4221..5737807 100644 > --- a/guix/scripts/system.scm > +++ b/guix/scripts/system.scm > @@ -299,7 +299,8 @@ actions." > (mlet %store-monad ((% (switch-to-system os))) > (when grub? > (unless (false-if-exception > - (install-grub grub.cfg device "/")) > + (install-grub (derivation->output-path grub.cfg) > + device "/")) > (leave (_ "failed to install GRUB on device '~a'~%") > device))) > (return #t))) > > Can you confirm?
That helped, and now it successfully updates the grub.cfg file, but now there's another problem. When it tries to execvp 'grub-install', it can't find it because PATH is set to: "/gnu/store/l5815c2iars8scdy82grfjjmxv9ahgv2-shadow-4.1.5.1/sbin" Here's a transcript of the attempt, with (pk 'path (getenv "PATH")) inserted just before the (system* "grub-install" ...) call in guix/build/install.scm: --8<---------------cut here---------------start------------->8--- root@jojen# echo $PATH /run/setuid-programs:/run/current-system/profile/sbin:/root/.guix-profile/bin:/run/current-system/profile/bin root@jojen# ~mhw/guix/pre-inst-env guix system reconfigure ~mhw/os-install.scm The following derivation will be built: /gnu/store/1rj11nb1sv3jx2aalnqa7xl09nw6vfnr-grub.cfg.drv killing process 1587 /gnu/store/qfacd34rj6v8b9mi21qx9mj3lkq3c2pg-system /gnu/store/2yrylvn5c9apgfpppc5kfb24fi7mrnpl-grub-2.00 /gnu/store/ymxq6025wb6h3vp0glryykarz8r7hqhs-grub.cfg activating system... populating /etc from /gnu/store/89dn636ibbc2dy8wqaz30ck3dcli44jk-etc... setting up setuid programs in '/run/setuid-programs'... making '/gnu/store/qfacd34rj6v8b9mi21qx9mj3lkq3c2pg-system' the current system... ;;; (path "/gnu/store/l5815c2iars8scdy82grfjjmxv9ahgv2-shadow-4.1.5.1/sbin") In execvp of grub-install: No such file or directory Backtrace: In ice-9/boot-9.scm: 157: 14 [catch #t #<catch-closure 94cfcb0> ...] In unknown file: ?: 13 [apply-smob/1 #<catch-closure 94cfcb0>] In ice-9/boot-9.scm: 63: 12 [call-with-prompt prompt0 ...] In ice-9/eval.scm: 432: 11 [eval # #] In ice-9/boot-9.scm: 2401: 10 [save-module-excursion #<procedure 94dfca0 at ice-9/boot-9.scm:4045:3 ()>] 4050: 9 [#<procedure 94dfca0 at ice-9/boot-9.scm:4045:3 ()>] 1724: 8 [%start-stack load-stack ...] 1729: 7 [#<procedure 94e4708 ()>] In unknown file: ?: 6 [primitive-load "/home/mhw/guix/scripts/guix"] In guix/ui.scm: 656: 5 [run-guix-command system "reconfigure" "/home/mhw/os-install.scm"] In ice-9/boot-9.scm: 157: 4 [catch srfi-34 #<procedure 98f6110 at guix/ui.scm:205:2 ()> ...] 157: 3 [catch system-error ...] In guix/monads.scm: 430: 2 [run-with-store # ...] In guix/scripts/system.scm: 301: 1 [#<procedure afe7c40 at guix/scripts/system.scm:299:13 (store)> #] In unknown file: ?: 0 [scm-error misc-error #f "~A" ("failed to install GRUB") #f] ERROR: In procedure scm-error: ERROR: failed to install GRUB root@jojen# --8<---------------cut here---------------end--------------->8--- Thanks, Mark