system: Blacklist usbmouse kernel module in default kernel-arguments.

This avoids a race with the bcm5974 kernel module.
Fixes <https://bugs.gnu.org/35574>.

* gnu/system.scm (%default-modprobe-blacklist): New variable.
(<operating-system>)[kernel-arguments]: Default to ...
(%default-kernel-arguments): ... this new variable.
* doc/guix.texi (operating-system Reference): Document the change.
This commit is contained in:
Florian Pelz 2020-04-29 17:17:55 +02:00
parent 73ddcab607
commit e06664da02
No known key found for this signature in database
GPG key ID: 300888CB39C63817
2 changed files with 15 additions and 3 deletions

View file

@ -11274,7 +11274,7 @@ possible to use the GNU@tie{}Hurd.}.
A list of objects (usually packages) to collect loadable kernel modules A list of objects (usually packages) to collect loadable kernel modules
from--e.g. @code{(list ddcci-driver-linux)}. from--e.g. @code{(list ddcci-driver-linux)}.
@item @code{kernel-arguments} (default: @code{'("quiet")}) @item @code{kernel-arguments} (default: @code{%default-kernel-arguments})
List of strings or gexps representing additional arguments to pass on List of strings or gexps representing additional arguments to pass on
the command-line of the kernel---e.g., @code{("console=ttyS0")}. the command-line of the kernel---e.g., @code{("console=ttyS0")}.

View file

@ -7,6 +7,7 @@
;;; Copyright © 2019 Meiyo Peng <meiyo.peng@gmail.com> ;;; Copyright © 2019 Meiyo Peng <meiyo.peng@gmail.com>
;;; Copyright © 2020 Danny Milosavljevic <dannym@scratchpost.org> ;;; Copyright © 2020 Danny Milosavljevic <dannym@scratchpost.org>
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re> ;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2020 Florian Pelz <pelzflorian@pelzflorian.de>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -148,7 +149,8 @@ (define-module (gnu system)
%base-packages-linux %base-packages-linux
%base-packages-networking %base-packages-networking
%base-packages-utils %base-packages-utils
%base-firmware)) %base-firmware
%default-kernel-arguments))
;;; Commentary: ;;; Commentary:
;;; ;;;
@ -179,7 +181,7 @@ (define-record-type* <operating-system> operating-system
(kernel-loadable-modules operating-system-kernel-loadable-modules (kernel-loadable-modules operating-system-kernel-loadable-modules
(default '())) ; list of packages (default '())) ; list of packages
(kernel-arguments operating-system-user-kernel-arguments (kernel-arguments operating-system-user-kernel-arguments
(default '("quiet"))) ; list of gexps/strings (default %default-kernel-arguments)) ; list of gexps/strings
(bootloader operating-system-bootloader) ; <bootloader-configuration> (bootloader operating-system-bootloader) ; <bootloader-configuration>
(label operating-system-label ; string (label operating-system-label ; string
(thunked) (thunked)
@ -488,6 +490,16 @@ (define (package-for-kernel target-kernel module-package)
((#:linux kernel #f) ((#:linux kernel #f)
target-kernel))))) target-kernel)))))
(define %default-modprobe-blacklist
;; List of kernel modules to blacklist by default.
'("usbmouse")) ;see <https://bugs.gnu.org/35574>
(define %default-kernel-arguments
;; Default arguments passed to the kernel.
(list (string-append "modprobe.blacklist="
(string-join %default-modprobe-blacklist ","))
"quiet"))
(define* (operating-system-directory-base-entries os) (define* (operating-system-directory-base-entries os)
"Return the basic entries of the 'system' directory of OS for use as the "Return the basic entries of the 'system' directory of OS for use as the
value of the SYSTEM-SERVICE-TYPE service." value of the SYSTEM-SERVICE-TYPE service."