diff options
Diffstat (limited to 'gnu/build')
-rw-r--r-- | gnu/build/linux-modules.scm | 20 | ||||
-rw-r--r-- | gnu/build/vm.scm | 19 |
2 files changed, 30 insertions, 9 deletions
diff --git a/gnu/build/linux-modules.scm b/gnu/build/linux-modules.scm index bbe1a74d85..d7feb3a080 100644 --- a/gnu/build/linux-modules.scm +++ b/gnu/build/linux-modules.scm @@ -96,10 +96,20 @@ contains module names, not actual file names." name (dot-ko name))) +(define (normalize-module-name module) + "Return the \"canonical\" name for MODULE, replacing hyphens with +underscores." + ;; See 'modname_normalize' in libkmod. + (string-map (lambda (chr) + (case chr + ((#\-) #\_) + (else chr))) + module)) + (define (file-name->module-name file) - "Return the module name corresponding to FILE, stripping the trailing '.ko', -etc." - (basename file ".ko")) + "Return the module name corresponding to FILE, stripping the trailing '.ko' +and normalizing it." + (normalize-module-name (basename file ".ko"))) (define* (recursive-module-dependencies files #:key (lookup-module dot-ko)) @@ -138,7 +148,9 @@ LOOKUP-MODULE to the module name." (define (module-black-list) "Return the black list of modules that must not be loaded. This black list is specified using 'modprobe.blacklist=MODULE1,MODULE2,...' on the kernel -command line; it is honored by libkmod." +command line; it is honored by libkmod for users that pass +'KMOD_PROBE_APPLY_BLACKLIST', which includes 'modprobe --use-blacklist' and +udev." (define parameter "modprobe.blacklist=") diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm index a095f9de8a..48e701adbe 100644 --- a/gnu/build/vm.scm +++ b/gnu/build/vm.scm @@ -1,5 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org> +;;; Copyright © 2016 Leo Famulari <leo@famulari.name> ;;; ;;; This file is part of GNU Guix. ;;; @@ -97,7 +99,7 @@ the #:references-graphs parameter of 'derivation'." (_ #f)) (unless (zero? - (apply system* qemu "-enable-kvm" "-nographic" "-no-reboot" + (apply system* qemu "-nographic" "-no-reboot" "-m" (number->string memory-size) "-net" "nic,model=virtio" "-virtfs" @@ -111,10 +113,17 @@ the #:references-graphs parameter of 'derivation'." "-initrd" initrd "-append" (string-append "console=ttyS0 --load=" builder) - (if make-disk-image? - `("-drive" ,(string-append "file=" image-file - ",if=virtio")) - '()))) + (append + (if make-disk-image? + `("-drive" ,(string-append "file=" image-file + ",if=virtio")) + '()) + ;; Only enable kvm if we see /dev/kvm exists. + ;; This allows users without hardware virtualization to still + ;; use these commands. + (if (file-exists? "/dev/kvm") + '("-enable-kvm") + '())))) (error "qemu failed" qemu)) (if make-disk-image? |