summary refs log tree commit diff
path: root/gnu/system.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2014-06-04 16:22:48 +0200
committerLudovic Courtès <ludo@gnu.org>2014-06-04 18:15:50 +0200
commitd3bbe992ec33860aedccb26734a7a83d263e7ec3 (patch)
treea65e759094a771dc49b26ea59aac33bf6273c6c2 /gnu/system.scm
parent4654439be74353825fccf483b3a7827197179be6 (diff)
downloadguix-d3bbe992ec33860aedccb26734a7a83d263e7ec3.tar.gz
system: Tell module-init-tools where to look for modules.
* gnu/packages/linux.scm (module-init-tools)[source](patches): New
  field.
* gnu/packages/patches/module-init-tools-moduledir.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/system.scm (etc-directory): Add #:kernel parameter.  Set
  'LINUX_MODULE_DIRECTORY' in bashrc.
  (operating-system-etc-directory): Pass #:kernel to 'etc-directory'.
Diffstat (limited to 'gnu/system.scm')
-rw-r--r--gnu/system.scm9
1 files changed, 8 insertions, 1 deletions
diff --git a/gnu/system.scm b/gnu/system.scm
index a224916c0d..4dc6ebd5a7 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -229,6 +229,7 @@ explicitly appear in OS."
 This is the GNU system.  Welcome.\n")
 
 (define* (etc-directory #:key
+                        kernel
                         (locale "C") (timezone "Europe/Paris")
                         (issue "Hello!\n")
                         (skeletons '())
@@ -255,6 +256,11 @@ export LC_ALL=\"" locale "\"
 export TZ=\"" timezone "\"
 export TZDIR=\"" tzdata "/share/zoneinfo\"
 
+# Tell 'modprobe' & co. where to look for modules.
+# XXX: The downside of doing it here is that when switching to a new config
+# without rebooting, this variable possibly becomes invalid.
+export LINUX_MODULE_DIRECTORY=" kernel "/lib/modules
+
 export PATH=$HOME/.guix-profile/bin:/run/current-system/profile/bin
 export PATH=/run/setuid-programs:/run/current-system/profile/sbin:$PATH
 export CPATH=$HOME/.guix-profile/include:" profile "/include
@@ -317,7 +323,8 @@ alias ll='ls -l'
                               (append-map service-pam-services services))))
        (profile-drv (operating-system-profile os))
        (skeletons   (operating-system-skeletons os)))
-   (etc-directory #:pam-services pam-services
+   (etc-directory #:kernel (operating-system-kernel os)
+                  #:pam-services pam-services
                   #:skeletons skeletons
                   #:issue (operating-system-issue os)
                   #:locale (operating-system-locale os)