summaryrefslogtreecommitdiff
path: root/guix/build
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2013-08-31 14:52:12 +0200
committerLudovic Courtès <ludo@gnu.org>2013-08-31 23:02:18 +0200
commit89bf140b10ae24755bf9d2b789b945d29ff11937 (patch)
tree71add57c0430c3669e9d29f78df2a62701e93ad8 /guix/build
parent1aebc0cb2c8bb195457e321153f6d0868bbd7633 (diff)
gnu: linux-initrd: Make Guile modules accessible in the chroot.
* gnu/packages/linux-initrd.scm (qemu-initrd): Add (guix build utils) to #:modules, and use it. Copy .scm and .go files to /root. * guix/build/linux-initrd.scm (bind-mount): New procedure.
Diffstat (limited to 'guix/build')
-rw-r--r--guix/build/linux-initrd.scm7
1 files changed, 7 insertions, 0 deletions
diff --git a/guix/build/linux-initrd.scm b/guix/build/linux-initrd.scm
index 274eef7ff3..81f9e46cfb 100644
--- a/guix/build/linux-initrd.scm
+++ b/guix/build/linux-initrd.scm
@@ -23,6 +23,7 @@
linux-command-line
configure-qemu-networking
mount-qemu-smb-share
+ bind-mount
load-linux-module*
device-number))
@@ -92,6 +93,12 @@ Vanilla QEMU's `-smb' option just exports a /qemu share, whereas our
(mount (string-append "//" server share) mount-point "cifs" 0
(string->pointer "guest,sec=none"))))
+(define (bind-mount source target)
+ "Bind-mount SOURCE at TARGET."
+ (define MS_BIND 4096) ; from libc's <sys/mount.h>
+
+ (mount source target "" MS_BIND))
+
(define (load-linux-module* file)
"Load Linux module from FILE, the name of a `.ko' file."
(define (slurp module)