bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: boot guixsd


From: Ricardo Wurmus
Subject: Re: boot guixsd
Date: Sat, 03 Mar 2018 10:31:43 +0100
User-agent: mu4e 1.0; emacs 25.3.1

Hi Rene,

> I'm reviewing how GNU GuixSD/Linux boot,
>
> $ cat /proc/cmdline
> BOOT_IMAGE=/gnu/store/jnww66749r8ck6l2rwgvpzzbnazs0392-linux-libre-4.15.5/bzImage
>  --root=root --system=/gnu/store/qcia33hqzi6md3q18frs16piis6xxy9i-system 
> --load=/gnu/store/qcia33hqzi6md3q18frs16piis6xxy9i-system/boot
>
> To perform the activation is done as a parameter through the scheme file 
> '/var/guix/profiles/system/boot'.
>
> In GNU Hurd as a workaround I add the lines to the '/libexec/rc' file:
> --
> echo running GuixSD boot ..
> guile -s /var/guix/profiles/system/boot
> --
>
> After loading GNU Mach and GNU Hurd it shows:
> --
> In unknown file:
>              ?: 9 [apply-smob/1 #<catch-closure 1a3920>]
>           In ice-9/boot-9.scm:
>             66: 8 [call-with-prompt prompt0 ...]
>           In ice-9/eval.scm:
>            432: 7 [eval # #]
>           In ice-9/boot-9.scm:
>           2412: 6 [save-module-excursion #<procedure 1b4ce0 at 
> ice-9/boot-9.scm:4084:3 ()>
>           ]
>           4089: 5 [#<procedure 1b4ce0 at ice-9/boot-9.scm:4084:3 ()>]
>           In /var/guix/profiles/system/boot:
>              1: 4 [#<procedure 223900 ()>]
>           In unknown file:
>              ?: 3 [primitive-load 
> "/gnu/store/rjp22rca3gv8lrrbb9j4sry9i3n1bvlp-activate"]
>           In ice-9/eval.scm:
>            432: 2 [eval # ()]
>           In 
> /gnu/store/6dvydkcda77dxkpbn5jsj4vsmr19gb7v-module-import/gnu/build/activatio
>           n.scm:
>            449: 1 [activate-current-system #f]
>           In unknown file:
>              ?: 0 [symlink #f "/run/current-system.new"]
>
>           ERROR: In procedure symlink:
>           ERROR: Wrong type (expecting string): #f

This shows that “activate-current-system” from the (gnu build
activation) module is given #f, when actually it should be given a
string containing the location of the system in the store.

For reconfiguration the new system can be specified with the
GUIX_NEW_SYSTEM environment variable.  You may need to set this
environment variable before booting.

The problem here is that the default system is either whatever
GUIX_NEW_SYSTEM holds or the result of evaluating “(boot-time-system)”,
which is Linux-specific:

--8<---------------cut here---------------start------------->8---
(define (boot-time-system)
  "Return the '--system' argument passed on the kernel command line."
  (find-long-option "--system" (linux-command-line)))
--8<---------------cut here---------------end--------------->8---

We should adjust this procedure to do the right thing when we didn’t
boot Linux.

Hope this helps!

--
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
https://elephly.net





reply via email to

[Prev in Thread] Current Thread [Next in Thread]