[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
- boot guixsd, Rene, 2018/03/03
- Re: boot guixsd,
Ricardo Wurmus <=