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
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
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 © 2020 Danny Milosavljevic <dannym@scratchpost.org>
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2020 Florian Pelz <pelzflorian@pelzflorian.de>
;;;
;;; This file is part of GNU Guix.
;;;
@ -148,7 +149,8 @@ (define-module (gnu system)
%base-packages-linux
%base-packages-networking
%base-packages-utils
%base-firmware))
%base-firmware
%default-kernel-arguments))
;;; Commentary:
;;;
@ -179,7 +181,7 @@ (define-record-type* <operating-system> operating-system
(kernel-loadable-modules operating-system-kernel-loadable-modules
(default '())) ; list of packages
(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>
(label operating-system-label ; string
(thunked)
@ -488,6 +490,16 @@ (define (package-for-kernel target-kernel module-package)
((#:linux kernel #f)
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)
"Return the basic entries of the 'system' directory of OS for use as the
value of the SYSTEM-SERVICE-TYPE service."