summary refs log tree commit diff
path: root/gnu/build/activation.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2014-11-02 23:06:17 +0100
committerLudovic Courtès <ludo@gnu.org>2014-11-02 23:06:17 +0100
commitd460204f2efa8d6f169707d0245dff8735fc0eba (patch)
treeb3452eba4ce518b2492230d567dcfdb8e016af88 /gnu/build/activation.scm
parentac67e205824cec15e24f1f4a6895fd5739afd9f6 (diff)
downloadguix-d460204f2efa8d6f169707d0245dff8735fc0eba.tar.gz
system: Allow Linux-libre to find our 'modprobe' command.
Fixes <http://bugs.gnu.org/18525>.
Reported by Mark H Weaver <mhw@netris.org>.

* gnu/build/activation.scm (activate-modprobe): New procedure.
* gnu/system.scm (modprobe-wrapper): New procedure.
  (operating-system-activation-script): Use both.
Diffstat (limited to 'gnu/build/activation.scm')
-rw-r--r--gnu/build/activation.scm7
1 files changed, 7 insertions, 0 deletions
diff --git a/gnu/build/activation.scm b/gnu/build/activation.scm
index f46ff62d13..142ed8f693 100644
--- a/gnu/build/activation.scm
+++ b/gnu/build/activation.scm
@@ -27,6 +27,7 @@
             activate-etc
             activate-setuid-programs
             activate-/bin/sh
+            activate-modprobe
             activate-current-system))
 
 ;;; Commentary:
@@ -252,6 +253,12 @@ copy SOURCE to TARGET."
   (symlink shell "/bin/sh.new")
   (rename-file "/bin/sh.new" "/bin/sh"))
 
+(define (activate-modprobe modprobe)
+  "Tell the kernel to use MODPROBE to load modules."
+  (call-with-output-file "/proc/sys/kernel/modprobe"
+    (lambda (port)
+      (display modprobe port))))
+
 (define %current-system
   ;; The system that is current (a symlink.)  This is not necessarily the same
   ;; as the system we booted (aka. /run/booted-system) because we can re-build