diff options
author | Ludovic Courtès <ludo@gnu.org> | 2014-11-27 23:59:26 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2014-11-28 00:10:28 +0100 |
commit | 0e704a2d4ea9b65cde79240f4433296645c5a220 (patch) | |
tree | ed8e9489fdd5a8c547db6e59c924b75141424dae /gnu/system | |
parent | 600c285b6345d8b0cc04f9e92e47ad5bcd437948 (diff) | |
download | gnu-guix-0e704a2d4ea9b65cde79240f4433296645c5a220.tar gnu-guix-0e704a2d4ea9b65cde79240f4433296645c5a220.tar.gz |
linux-boot: Load modules and their dependencies, à la 'modprobe'.
* gnu/build/linux-boot.scm: Use (gnu build linux-modules).
(load-linux-module*): Remove.
(boot-system): Add #:linux-module-directory parameter.
[lookup-module]: New procedure.
Call 'current-module-debugging-port'. Pass #:lookup-module to
'load-linux-module*'. Map LOOKUP-MODULE on LINUX-MODULES.
* gnu/system/linux-initrd.scm (base-initrd): Adjust 'boot-system' call
accordingly. Adjust #:modules argument as well.
* gnu/system.scm (operating-system-activation-script)[%modules]: Likewise.
* gnu/system/vm.scm (expression->derivation-in-linux-vm): Likewise.
Diffstat (limited to 'gnu/system')
-rw-r--r-- | gnu/system/linux-initrd.scm | 9 | ||||
-rw-r--r-- | gnu/system/vm.scm | 2 |
2 files changed, 7 insertions, 4 deletions
diff --git a/gnu/system/linux-initrd.scm b/gnu/system/linux-initrd.scm index 71aba1e233..8129f9017b 100644 --- a/gnu/system/linux-initrd.scm +++ b/gnu/system/linux-initrd.scm @@ -236,14 +236,15 @@ loaded at boot time in the order in which they appear." (boot-system #:mounts '#$(map file-system->spec file-systems) #:pre-mount (lambda () (and #$@device-mapping-commands)) - #:linux-modules (map (lambda (file) - (string-append #$kodir "/" file)) - '#$linux-modules) + #:linux-modules '#$linux-modules + #:linux-module-directory '#$kodir #:qemu-guest-networking? #$qemu-networking? #:volatile-root? '#$volatile-root?)) #:name "base-initrd" #:modules '((guix build utils) (gnu build linux-boot) - (gnu build file-systems))))) + (gnu build linux-modules) + (gnu build file-systems) + (guix elf))))) ;;; linux-initrd.scm ends here diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm index 07b13deeca..33ca396eb9 100644 --- a/gnu/system/vm.scm +++ b/gnu/system/vm.scm @@ -104,7 +104,9 @@ '((gnu build vm) (gnu build install) (gnu build linux-boot) + (gnu build linux-modules) (gnu build file-systems) + (guix elf) (guix build utils) (guix build store-copy))) (guile-for-build |