diff options
Diffstat (limited to 'source/a/udev/config')
-rw-r--r-- | source/a/udev/config/modprobe.d/blacklist.conf.new | 270 | ||||
-rw-r--r-- | source/a/udev/config/modprobe.d/isapnp.conf.new | 15 | ||||
-rw-r--r-- | source/a/udev/config/modprobe.d/psmouse.conf.new | 6 | ||||
-rw-r--r-- | source/a/udev/config/modprobe.d/usb-controller.conf.new | 4 | ||||
-rw-r--r-- | source/a/udev/config/rc.d/rc.udev.new | 133 | ||||
-rw-r--r-- | source/a/udev/config/rules.d/40-slackware.rules | 16 | ||||
-rw-r--r-- | source/a/udev/config/rules.d/65-permissions.rules | 52 | ||||
-rw-r--r-- | source/a/udev/config/rules.d/90-network.rules | 5 | ||||
-rwxr-xr-x | source/a/udev/config/scripts/nethelper.sh | 62 | ||||
-rw-r--r-- | source/a/udev/config/udev.conf | 14 |
10 files changed, 577 insertions, 0 deletions
diff --git a/source/a/udev/config/modprobe.d/blacklist.conf.new b/source/a/udev/config/modprobe.d/blacklist.conf.new new file mode 100644 index 000000000..25811703d --- /dev/null +++ b/source/a/udev/config/modprobe.d/blacklist.conf.new @@ -0,0 +1,270 @@ +# +# Listing a module here prevents the hotplug scripts from loading it. +# Usually that'd be so that some other driver will bind it instead, +# no matter which driver happens to get probed first. Sometimes user +# mode tools can also control driver binding. + +# PC Speaker support: +# This one is loaded by /etc/rc.d/rc.modules. If you don't like +# the beeps and buzz from speaker, edit /etc/rc.d/rc.modules. +blacklist pcspkr + +# tulip ... de4x5, xircom_tulip_cb, dmfe (...) handle same devices +blacklist de4x5 + +# At least 2.4.3 and later xircom_tulip doesn't have that conflict +# xircom_tulip_cb +blacklist dmfe + +#evbug is a debug tool and should be loaded explicitly +blacklist evbug + +# Alternate Intel EtherExpress Pro/100 support driver. List it +# here so it won't conflict with an already-loaded e100 module. +blacklist eepro100 + +# Alternate 8139 driver. Some 8139 cards need this specific driver, +# though... +blacklist 8139cp + +# Deprecated BCM4318 driver. +blacklist bcm43xx + +# Modules used to run a wireless adaptor as an access point. These +# conflict with the normal driver for the device, and so should be +# loaded manually. +blacklist hostap_cs +blacklist hostap_pci +blacklist hostap_plx +blacklist hostap + +# Ethernet over IEEE1394 module. In too many cases this will load +# when there's no eth1394 device present (just an IEEE1394 port) +blacklist eth1394 + +# This module has also been known to cause crashes with some hardware. +blacklist hw_random + +# The kernel lists this as "experimental", but for now it's "broken" +blacklist via-ircc + +# ALSA modules to support sound modems. These should be loaded manually +# if needed. For most people they just break sound support... +blacklist snd-atiixp-modem +blacklist snd-intel8x0m +blacklist snd-via82xx-modem + +# OSS (Open Sound System) modules. This is the old and deprecated Linux +# sound system. If you want to use OSS, remove the alsa-driver package +# and cut out (or comment out) this list. With these modules +# blacklisted ALSA will load by default. +blacklist ac97 +blacklist ac97_codec +blacklist aci +blacklist ad1816 +blacklist ad1848 +blacklist ad1889 +blacklist adlib_card +blacklist aedsp16 +blacklist ali5455 +blacklist awe_wave +blacklist btaudio +blacklist cmpci +blacklist cs4232 +blacklist cs4281 +blacklist cs46xx +blacklist emu10k1 +blacklist es1370 +blacklist es1371 +blacklist esssolo1 +blacklist forte +blacklist gus +blacklist i810_audio +blacklist kahlua +blacklist mad16 +blacklist maestro +blacklist maestro3 +blacklist maui +blacklist mpu401 +blacklist msnd +blacklist msnd_classic +blacklist msnd_pinnacle +blacklist nm256_audio +blacklist opl3 +blacklist opl3sa +blacklist opl3sa2 +blacklist pas2 +blacklist pss +blacklist rme96xx +blacklist sb +blacklist sb_lib +blacklist sgalaxy +blacklist sonicvibes +blacklist sound +blacklist sscape +blacklist trident +blacklist trix +blacklist uart401 +blacklist uart6850 +blacklist v_midi +blacklist via82cxxx_audio +blacklist wavefront +blacklist ymfpci + +# Hardware specific video framebuffer modules. If the user wants +# these, they can load them manually or de-blacklist them. Having +# them load automatically may lead to funny side effects with +# certain revisions of video hardware. +blacklist arcfb +blacklist aty128fb +blacklist atyfb +blacklist cirrusfb +blacklist clgenfb +blacklist cyber2000fb +blacklist fbcon-cfb2 +blacklist fbcon-cfb4 +blacklist fbcon-hga +blacklist fbcon-mfb +blacklist fbcon-vga-planes +blacklist fbgen +blacklist hgafb +blacklist i2c-matroxfb +blacklist i810fb +blacklist intelfb +blacklist kyrofb +blacklist matroxfb_DAC1064 +blacklist matroxfb_Ti3026 +blacklist matroxfb_accel +blacklist matroxfb_base +blacklist matroxfb_crtc2 +blacklist matroxfb_g450 +blacklist matroxfb_maven +blacklist matroxfb_misc +blacklist neofb +blacklist nvidiafb +blacklist pm2fb +blacklist pm3fb +blacklist radeonfb +blacklist rivafb +blacklist savagefb +blacklist sisfb +blacklist sstfb +blacklist tdfxfb +blacklist tridentfb +blacklist vga16fb + +# SCSI and SATA controller modules. Typically these are either +# built into the kernel or loaded with an initrd already. +blacklist 3w-xxxx +blacklist 53c7,8xx +blacklist AM53C974 +blacklist BusLogic +blacklist NCR53c406a +blacklist a100u2w +blacklist advansys +blacklist aha152x +blacklist aha1542 +blacklist aha1740 +blacklist aic79xx +blacklist aic7xxx +blacklist aic7xxx_old +blacklist aic94xx +blacklist ata_piix +blacklist atp870u +blacklist cpqfc +blacklist dc395x +blacklist dmx3191d +blacklist dpt_i2o +blacklist dtc +blacklist eata +blacklist eata_dma +blacklist eata_pio +blacklist fdomain +blacklist g_NCR5380 +blacklist g_NCR5380_mmio +blacklist gdth +blacklist ide-scsi +blacklist imm +blacklist in2000 +blacklist initio +blacklist ipr +blacklist ips +blacklist libata +blacklist megaraid +blacklist ncr53c8xx +blacklist nsp32 +blacklist osst +blacklist pas16 +blacklist pci2000 +blacklist pci2220i +blacklist ppa +blacklist psi240i +blacklist qla1280 +blacklist qla2100 +blacklist qla2200 +blacklist qla2300 +blacklist qla2322 +blacklist qla2xxx +blacklist qla6312 +blacklist qla6322 +blacklist qlogicfas +blacklist qlogicfas408 +blacklist qlogicfc +blacklist qlogicisp +blacklist seagate +blacklist sim710 +blacklist sata_promise +blacklist sata_sil +blacklist sata_sis +blacklist sata_svw +blacklist sata_sx4 +blacklist sata_via +blacklist sata_vsc +blacklist scsi_debug +blacklist scsi_transport_fc +blacklist scsi_transport_spi +blacklist sym53c416 +blacklist sym53c8xx +blacklist sym53c8xx +blacklist t128 +blacklist tmscsim +blacklist u14-34f + +# Blacklist all watchdog modules. Many motherboards hangs with them and, +# if you really need an watchdog you probably know how to load the module +blacklist acquirewdt +blacklist advantechwdt +blacklist alim1535_wdt +blacklist alim7101_wdt +blacklist cpu5wdt +blacklist eurotechwdt +blacklist hpwdt +blacklist i6300esb +blacklist iTCO_vendor_support +blacklist iTCO_wdt +blacklist ib700wdt +blacklist ibmasr +blacklist it8712f_wdt +blacklist machzwd +blacklist mixcomwd +blacklist pc87413_wdt +blacklist pcwd +blacklist pcwd_pci +blacklist pcwd_usb +blacklist sbc60xxwdt +blacklist sbc7240_wdt +blacklist sbc8360 +blacklist sbc_epx_c3 +blacklist sc1200wdt +blacklist sc520_wdt +blacklist scx200_wdt +blacklist smsc37b787_wdt +blacklist softdog +blacklist w83627hf_wdt +blacklist w83697hf_wdt +blacklist w83877f_wdt +blacklist w83977f_wdt +blacklist wafer5823wdt +blacklist wdt +blacklist wdt_pci + diff --git a/source/a/udev/config/modprobe.d/isapnp.conf.new b/source/a/udev/config/modprobe.d/isapnp.conf.new new file mode 100644 index 000000000..2ed9305ee --- /dev/null +++ b/source/a/udev/config/modprobe.d/isapnp.conf.new @@ -0,0 +1,15 @@ +# These aliases are here because many PnP modules do not +# provide aliases for them. +alias pnp:dPNP0400 parport_pc +alias pnp:dPNP0401 parport_pc +alias pnp:dPNP0510 irtty-sir +alias pnp:dPNP0511 irtty-sir +alias pnp:dPNP0700 floppy +alias pnp:dPNP0B00 rtc +alias acpi:PNP0B00: rtc-cmos +alias acpi:PNP0B01: rtc-cmos +alias acpi:PNP0B02: rtc-cmos +alias pnp:dPNPB02F analog +alias pnp:dPNP0F13 psmouse +alias pnp:dPNP0800 pcspkr +alias pnp:dPNP0303 atkbd diff --git a/source/a/udev/config/modprobe.d/psmouse.conf.new b/source/a/udev/config/modprobe.d/psmouse.conf.new new file mode 100644 index 000000000..70c0d8195 --- /dev/null +++ b/source/a/udev/config/modprobe.d/psmouse.conf.new @@ -0,0 +1,6 @@ +# PS/2 mouse support: +# The default options when the psmouse module can cause problems with KVM +# switches. If you experience this, you may want to uncomment the line +# below to use a more basic mouse protocol with the psmouse module: +#options psmouse proto=imps + diff --git a/source/a/udev/config/modprobe.d/usb-controller.conf.new b/source/a/udev/config/modprobe.d/usb-controller.conf.new new file mode 100644 index 000000000..4b77fd825 --- /dev/null +++ b/source/a/udev/config/modprobe.d/usb-controller.conf.new @@ -0,0 +1,4 @@ +# Make sure that ehci-hcd is always loaded before uhci-hci +# # or ohci-hcd to prevent a kernel warning: +install uhci-hcd /sbin/modprobe ehci-hcd ; /sbin/modprobe -i uhci-hcd +install ohci-hcd /sbin/modprobe ehci-hcd ; /sbin/modprobe -i ohci-hcd diff --git a/source/a/udev/config/rc.d/rc.udev.new b/source/a/udev/config/rc.d/rc.udev.new new file mode 100644 index 000000000..8c238b0dd --- /dev/null +++ b/source/a/udev/config/rc.d/rc.udev.new @@ -0,0 +1,133 @@ +#!/bin/sh +# This is a script to initialize udev, which populates the /dev +# directory with device nodes, scans for devices, loads the +# appropriate kernel modules, and configures the devices. + +PATH="/sbin:/bin" +OPT="" + +. /etc/udev/udev.conf + +# remove trailing slash from udev_root +UDEV_ROOT=$(echo "${udev_root}" |sed 's/\/*$//') + +case "$1" in + start) + # Sanity check #1, udev requires that the kernel support tmpfs: + if ! grep -wq tmpfs /proc/filesystems ; then + echo "Sorry, but you need tmpfs support in the kernel to use udev." + echo + echo "FATAL: Refusing to run /etc/rc.d/rc.udev." + exit 1 + fi + + # Sanity check #2, make sure that a 2.6.x kernel is new enough: + if [ "$(uname -r | cut -f 1,2 -d .)" = "2.6" ]; then + if [ "$(uname -r | cut -f 3 -d . | sed 's/[^[:digit:]].*//')" -lt "15" ]; then + echo "Sorry, but you need a 2.6.15+ kernel to use udev." + echo "Your kernel version is only $(uname -r)." + echo + echo "FATAL: Refusing to run /etc/rc.d/rc.udev." + exit 1 + fi + fi + + # Sanity check #3, make sure the udev package was not removed. If udevd + # is not there, this will also shut off this script to prevent further + # problems: + if [ ! -x /sbin/udevd ]; then + chmod 644 /etc/rc.d/rc.udev + echo "No udevd daemon found." + echo "Turning off udev: chmod 644 /etc/rc.d/rc.udev" + echo "FATAL: Refusing to run /etc/rc.d/rc.udev." + exit 1 + fi + + # Disable hotplug helper since udevd listens to netlink: + if [ -e /proc/sys/kernel/hotplug ]; then + echo "" > /proc/sys/kernel/hotplug + fi + + # if udevd is already running, rc.udev start will try to re-run + # failed events. Else, it will start udevd. + if ps axc | grep -q udevd ; then + OPT="--type=failed $OPT" + ( cd ${UDEV_ROOT}/.udev + for TMPFILE in tmp-rules-*.rules ; do + mv $TMPFILE /etc/udev/rules.d/${TMPFILE/tmp-rules--/} 2>/dev/null + done + ) + else + # Mount tmpfs on $UDEV_ROOT: + if ! grep -E -q "^[^[:space:]]+ $UDEV_ROOT tmpfs" /proc/mounts; then + # umount shm if needed + if grep -E -q "^[^[:space:]]+ $UDEV_ROOT/shm tmpfs" /proc/mounts; then + umount -l $UDEV_ROOT/shm + fi + + # Umount pts if needed, we will remount it later: + if grep -E -q "^[^[:space:]]+ $UDEV_ROOT/pts devpts" /proc/mounts; then + umount -l $UDEV_ROOT/pts + fi + + # Mount tmpfs on $UDEV_ROOT: + # the -n is because we don't want $UDEV_ROOT umounted when + # someone (rc.[06]) calls umount -a + mount -n -o mode=0755 -t tmpfs tmpfs $UDEV_ROOT + + # Remount pts: + mkdir $UDEV_ROOT/pts 2> /dev/null + mount -n -o mode=0620,gid=5 -t devpts devpts $UDEV_ROOT/pts + fi + + # Add the static nodes to $UDEV_ROOT: + cp --preserve=all --recursive --remove-destination /lib/udev/devices/* $UDEV_ROOT + + # Start udevd: + echo "Starting udevd: /sbin/udevd --daemon" + /sbin/udevd --daemon + + # Create rootdev rules + DEVICENUMBER=$( /bin/stat -c %d / ) + MAJORNUMBER=$(($DEVICENUMBER / 256)) + MINORNUMBER=$(($DEVICENUMBER % 256)) + + echo 'ACTION=="add|change", SUBSYSTEM=="block", ENV{MAJOR}=="'$MAJORNUMBER'", ENV{MINOR}=="'$MINORNUMBER'", SYMLINK+="root"' > /dev/.udev/rules.d/61-dev-root-link.rules + + fi + + echo "Triggering udev events: /sbin/udevadm trigger $OPT" + # Call udevtrigger and udevsettle to do the device configuration: + /sbin/udevadm trigger $OPT && /sbin/udevadm settle --timeout=120 + + ;; + stop) + echo "Stopping udevd" + if [ -e /proc/sys/kernel/hotplug ]; then + echo /sbin/hotplug > /proc/sys/kernel/hotplug + fi + killall udevd + ;; + restart) + echo "Restarting udevd" + killall udevd + sleep 5 + udevd --daemon + ;; + reload) + echo "Reloading udev rules" + udevadm control --reload-rules + cp --preserve=all --recursive --update /lib/udev/devices/* $UDEV_ROOT + ;; + force-reload) + echo "Updating all available device nodes in $UDEV_ROOT" + udevadm control --reload-rules + rm -rf $UDEV_ROOT/.udev $UDEV_ROOT/disk + cp --preserve=all --recursive --update /lib/udev/devices/* $UDEV_ROOT + ;; + + *) + echo "Usage: $0 {start|stop|restart|reload|force-reload}" + exit 1 + ;; +esac diff --git a/source/a/udev/config/rules.d/40-slackware.rules b/source/a/udev/config/rules.d/40-slackware.rules new file mode 100644 index 000000000..29b6071e0 --- /dev/null +++ b/source/a/udev/config/rules.d/40-slackware.rules @@ -0,0 +1,16 @@ +# /lib/udev/rules.d/40-slackware.rules +# +# Slackware custom udev rules +# Also see the following Slackware-provided custom rules files: +# 65-permissions.rules and 90-network.rules +# +# Any change in this file will be overwritten in upgrades. Put your +# custom rules somewhere else (90-local.rules is a good idea). +# +# See the udev man page to know the parameters you can use in udev +# rules. +# + +# input devices +KERNEL=="mice", SYMLINK+="mouse" + diff --git a/source/a/udev/config/rules.d/65-permissions.rules b/source/a/udev/config/rules.d/65-permissions.rules new file mode 100644 index 000000000..b0cfb2590 --- /dev/null +++ b/source/a/udev/config/rules.d/65-permissions.rules @@ -0,0 +1,52 @@ +# Slackware permission rules +# +# These rules are here instead of 40-slackware.rules because +# many of them need to run after the block section in +# 50-udev.default.rules +# +# Remember, in any upgrade, this file will be overwritten. +# Put your custom rules somewhere else (90-local.rules is +# a good idea). +# + +# all disks with group disk +KERNEL!="fd*", SUBSYSTEM=="block", GROUP="disk" + +# permissions for IDE floppy devices +KERNEL=="hd*[!0-9]", SUBSYSTEMS=="ide", ATTRS{media}=="floppy", \ + SYMLINK+="floppy floppy-%k", OPTIONS+="ignore_remove" +KERNEL=="hd*[0-9]", ATTRS{media}=="floppy", ATTRS{removable}=="1", \ + SYMLINK+="floppy-%k", OPTIONS+="ignore_remove" + +# put all removable devices in group "plugdev" +KERNEL=="hd*[!0-9]", ATTR{removable}=="1", GROUP="plugdev" +KERNEL=="hd*[0-9]", ATTRS{removable}=="1", GROUP="plugdev" +KERNEL=="sd*[!0-9]", ATTR{removable}=="1", GROUP="plugdev" +KERNEL=="sd*[0-9]", ATTRS{removable}=="1", GROUP="plugdev" + +# Many hot-pluggable devices (ZIP, Jazz, LS-120, etc...) +# need to be in plugdev, too. +KERNEL=="diskonkey*", GROUP="plugdev" +KERNEL=="jaz*", GROUP="plugdev" +KERNEL=="pocketzip*", GROUP="plugdev" +KERNEL=="zip*", GROUP="plugdev" +KERNEL=="ls120", GROUP="plugdev" +KERNEL=="microdrive*", GROUP="plugdev" + +# CD group and permissions +ENV{ID_CDROM}=="?*", GROUP="cdrom", MODE="0660" +KERNEL=="pktcdvd", GROUP="cdrom", MODE="0660" +KERNEL=="pktcdvd[0-9]*", GROUP="cdrom", MODE="0660" +# permissions for SCSI sg devices +SUBSYSTEMS=="scsi", KERNEL=="s[gt][0-9]*", ATTRS{type}=="5", \ + GROUP="cdrom", MODE="0660" + +# Make DRI video devices usable by anyone in group "video": +KERNEL=="card[0-9]*",GROUP:="video" + +# alsa devices +SUBSYSTEM=="sound", GROUP="audio" + +# Make the real time clock readable by all, and writable by root: +KERNEL=="rtc|rtc0", MODE="0644" + diff --git a/source/a/udev/config/rules.d/90-network.rules b/source/a/udev/config/rules.d/90-network.rules new file mode 100644 index 000000000..03f2ddc76 --- /dev/null +++ b/source/a/udev/config/rules.d/90-network.rules @@ -0,0 +1,5 @@ +# This file will be overwritten in next upgrade. Please put your +# custom rules somewhere else (90-local.rules is a good idea) + +SUBSYSTEM=="net", NAME=="?*", ACTION=="add", RUN+="nethelper.sh $env{INTERFACE} start" +SUBSYSTEM=="net", NAME=="?*", ACTION=="remove", RUN+="nethelper.sh $env{INTERFACE} stop" diff --git a/source/a/udev/config/scripts/nethelper.sh b/source/a/udev/config/scripts/nethelper.sh new file mode 100755 index 000000000..9e1720271 --- /dev/null +++ b/source/a/udev/config/scripts/nethelper.sh @@ -0,0 +1,62 @@ +#!/bin/sh +DEVNAME="$1" +COMMAND="$2" + +testwrite() { + if touch /var/run/checkrw 2>/dev/null ; then + rm -rf /var/run/checkrw + RW=1 + fi +} + +case $DEVNAME in + eth*|ath*|wlan*|ra*|sta*|ctc*|lcs*|hsi*) + case $COMMAND in + 'start') + testwrite + + if [ $RW ]; then + if [ -x /etc/rc.d/rc.inet1 ]; then + if ! /sbin/ifconfig | /bin/grep -q "^${DEVNAME} "; then + /etc/rc.d/rc.inet1 ${DEVNAME}_start + fi + fi + exit 0 + else + exit 1 + fi + ;; + 'stop') + if [ -x /etc/rc.d/rc.inet1 ]; then + if /sbin/ifconfig | /bin/grep -q "^${DEVNAME} "; then + /etc/rc.d/rc.inet1 ${DEVNAME}_stop + fi + fi + # Does dhcpcd appear to still be running on the + # interface? If so, try to stop it. + if [ -r /etc/dhcpc/dhcpcd-$DEVNAME.pid -o -r /var/run/dhcpcd-$DEVNAME.pid ]; then + /sbin/dhcpcd -k -d $DEVNAME + # Force garbage removal, if needed: + if [ -r /etc/dhcpc/dhcpcd-$DEVNAME.pid ]; then + /bin/rm -f /etc/dhcpc/dhcpcd-$DEVNAME.pid + elif [ -r /var/run/dhcpcd-$DEVNAME.pid ]; then + /bin/rm -f /var/run/dhcpcd-$DEVNAME.pid + fi + fi + # If the interface is now down, exit with a status of 0: + if /sbin/ifconfig | /bin/grep -q "^${DEVNAME} " ; then + exit 0 + fi + ;; + *) + echo "usage $0 interface start|stop" + exit 1 + ;; + esac + ;; + *) + echo "Interface $DEVNAME not supported." + exit 1 + ;; +esac +exit 0 diff --git a/source/a/udev/config/udev.conf b/source/a/udev/config/udev.conf new file mode 100644 index 000000000..b0421a08b --- /dev/null +++ b/source/a/udev/config/udev.conf @@ -0,0 +1,14 @@ +# udev.conf +# The main config file for udev +# +# This file can be used to override some of udev's default values for where it +# looks for files, and where it places device nodes. + +# udev_root - where in the filesystem to place the device nodes +udev_root="/dev/" + +# udev_log - The initial syslog(3) priority: "err", "info", "debug" or +# its numerical equivalent. For runtime debugging, the daemons +# internal state can be changed with: udevcontrol log_priority=<value> +udev_log="err" + |