summaryrefslogtreecommitdiff
path: root/gnu/system
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2014-11-27 23:59:26 +0100
committerLudovic Courtès <ludo@gnu.org>2014-11-28 00:10:28 +0100
commit0e704a2d4ea9b65cde79240f4433296645c5a220 (patch)
treeed8e9489fdd5a8c547db6e59c924b75141424dae /gnu/system
parent600c285b6345d8b0cc04f9e92e47ad5bcd437948 (diff)
downloadpatches-0e704a2d4ea9b65cde79240f4433296645c5a220.tar
patches-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.scm9
-rw-r--r--gnu/system/vm.scm2
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