mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-12-16 02:33:25 +00:00
* Removing hardware-scan.nix also removed the loading of the
kernel modules listed in config.boot.kernelModules. So do that in the udev job for lack of a better place. svn path=/nixos/trunk/; revision=12249
This commit is contained in:
parent
5f60393ffe
commit
6ed65c2d95
@ -88,7 +88,7 @@ let
|
|||||||
# The udev daemon creates devices nodes and runs programs when
|
# The udev daemon creates devices nodes and runs programs when
|
||||||
# hardware events occur.
|
# hardware events occur.
|
||||||
(import ../upstart-jobs/udev.nix {
|
(import ../upstart-jobs/udev.nix {
|
||||||
inherit modprobe;
|
inherit modprobe config;
|
||||||
inherit (pkgs) stdenv writeText substituteAll udev procps;
|
inherit (pkgs) stdenv writeText substituteAll udev procps;
|
||||||
inherit (pkgs.lib) cleanSource;
|
inherit (pkgs.lib) cleanSource;
|
||||||
firmwareDirs =
|
firmwareDirs =
|
||||||
@ -101,7 +101,6 @@ let
|
|||||||
extraUdevPkgs =
|
extraUdevPkgs =
|
||||||
pkgs.lib.optional config.services.hal.enable pkgs.hal
|
pkgs.lib.optional config.services.hal.enable pkgs.hal
|
||||||
++ pkgs.lib.optional config.hardware.enableGo7007 kernelPackages.wis_go7007;
|
++ pkgs.lib.optional config.hardware.enableGo7007 kernelPackages.wis_go7007;
|
||||||
sndMode = config.services.udev.sndMode;
|
|
||||||
})
|
})
|
||||||
|
|
||||||
# Makes LVM logical volumes available.
|
# Makes LVM logical volumes available.
|
||||||
|
@ -1,10 +1,12 @@
|
|||||||
{ stdenv, writeText, substituteAll, cleanSource, udev, procps, firmwareDirs, modprobe
|
{ stdenv, writeText, substituteAll, cleanSource, udev, procps, firmwareDirs, modprobe
|
||||||
, extraUdevPkgs ? []
|
, extraUdevPkgs ? []
|
||||||
, sndMode ? "0600"
|
, config
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
|
|
||||||
|
cfg = config.services.udev;
|
||||||
|
|
||||||
firmwareLoader = substituteAll {
|
firmwareLoader = substituteAll {
|
||||||
src = ./udev-firmware-loader.sh;
|
src = ./udev-firmware-loader.sh;
|
||||||
path = "${stdenv.coreutils}/bin";
|
path = "${stdenv.coreutils}/bin";
|
||||||
@ -24,12 +26,12 @@ let
|
|||||||
#KERNEL=="sr[0-9]", BUS=="scsi", SYMLINK+="cdrom cdrom-%k"
|
#KERNEL=="sr[0-9]", BUS=="scsi", SYMLINK+="cdrom cdrom-%k"
|
||||||
|
|
||||||
# ALSA sound devices.
|
# ALSA sound devices.
|
||||||
KERNEL=="controlC[0-9]*", NAME="snd/%k", MODE="${sndMode}"
|
KERNEL=="controlC[0-9]*", NAME="snd/%k", MODE="${cfg.sndMode}"
|
||||||
KERNEL=="hwC[D0-9]*", NAME="snd/%k", MODE="${sndMode}"
|
KERNEL=="hwC[D0-9]*", NAME="snd/%k", MODE="${cfg.sndMode}"
|
||||||
KERNEL=="pcmC[D0-9cp]*", NAME="snd/%k", MODE="${sndMode}"
|
KERNEL=="pcmC[D0-9cp]*", NAME="snd/%k", MODE="${cfg.sndMode}"
|
||||||
KERNEL=="midiC[D0-9]*", NAME="snd/%k", MODE="${sndMode}"
|
KERNEL=="midiC[D0-9]*", NAME="snd/%k", MODE="${cfg.sndMode}"
|
||||||
KERNEL=="timer", NAME="snd/%k", MODE="${sndMode}"
|
KERNEL=="timer", NAME="snd/%k", MODE="${cfg.sndMode}"
|
||||||
KERNEL=="seq", NAME="snd/%k", MODE="${sndMode}"
|
KERNEL=="seq", NAME="snd/%k", MODE="${cfg.sndMode}"
|
||||||
|
|
||||||
# Firmware loading.
|
# Firmware loading.
|
||||||
SUBSYSTEM=="firmware", ACTION=="add", RUN+="${firmwareLoader}"
|
SUBSYSTEM=="firmware", ACTION=="add", RUN+="${firmwareLoader}"
|
||||||
@ -87,6 +89,13 @@ in
|
|||||||
# Get rid of possible old udev processes.
|
# Get rid of possible old udev processes.
|
||||||
${procps}/bin/pkill -u root "^udevd$" || true
|
${procps}/bin/pkill -u root "^udevd$" || true
|
||||||
|
|
||||||
|
# Do the loading of additional stage 2 kernel modules.
|
||||||
|
# Maybe this isn't the best place...
|
||||||
|
for i in ${toString config.boot.kernelModules}; do
|
||||||
|
echo "Loading kernel module $i..."
|
||||||
|
${modprobe}/sbin/modprobe $i || true
|
||||||
|
done
|
||||||
|
|
||||||
# Start udev.
|
# Start udev.
|
||||||
${udev}/sbin/udevd --daemon
|
${udev}/sbin/udevd --daemon
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user