# udev 100
# ========
# Slackware 10.0's 'udev' package includes version 026, 10.1's includes 050,
# and 10.2's includes 064
#
# -=> !! READ THIS !! <=-
# You may want to stick with the package that comes with Slackware because
# of all of the dependencies and inter-operation between other things.
# If you break /dev, you break Linux's ability to talk to devices - like
# your hard drive and such. Keep a boot-floppy/CD handy.
#
# If you choose to go with the Slackware package instead, here it is:
# current
# 10.2
# 10.1
# You should check 'patches' (10.1, 10.2) to make sure there isn't an updated version
# there.
# Before installing a new version of udev, you may want to remove the old
# version by running 'make uninstall' as root from the source directory.
# This will ensure that old files are not left behind that are not used by
# the current version. Make sure you back up your files first though, at
# least /etc/udev.
# Prerequisites:
# Linux kernel >= 2.6.15 with sysfs (CONFIG_SYSFS) and unix domain socket
# Linux kernel >= 2.6.15 with sysfs (CONFIG_SYSFS), unix domain socket
# (CONFIG_UNIX), and networking (CONFIG_NET) enabled
# proc filesystem mounted on /proc
# sysfs filesystem mounted on /sys
cd
test -f installed/udev-100.tar.bz2 && mv installed/udev-100.tar.bz2 .
test ! -f udev-100.tar.bz2 &&
wget http://www.us.kernel.org/pub/linux/utils/kernel/hotplug/\
udev-100.tar.bz2
# Verify tarball w/ md5sum:
# (this came from my gpg-verified tarball)
echo "f1f7e7d8f9a438b7a63d0d6443961d1c udev-100.tar.bz2" | md5sum -c
# Verify tarball w/ sha1sum:
# (this also came from my gpg-verified tarball)
echo "9c7cdca01db5e842761b2578fc59ab86b8609bb0 udev-100.tar.bz2" | \
sha1sum -c
# The best mailing list to read for info about udev is the
# linux-hotplug-devel list:
# https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel
# Back up udev files (not including binaries, man pages, etc.), if there are
# any:
test -d /etc/udev &&
( mkdir -p -m 0700 ~/backup
tar cjvf ~/backup/udev-`date +%Y%m%d`.tar.bz2 /etc/rc.d/rc.udev \
/etc/udev )
# Remove the Slackware package
test -x /sbin/removepkg && /sbin/removepkg udev
# If you already have a /etc/udev/udev.conf, 'make install' will not
# overwrite it. You may want to check it out (less etc/udev/udev.conf)
# or even install it in place of your old one. If you want to test udev
# with a different root (instead of /dev) specify udev_root in udev.conf
test -f /etc/udev/udev.conf &&
mv -f /etc/udev/udev.conf /etc/udev/udev.conf.old
/usr/bin/install -c -m 644 etc/udev/udev.conf /etc/udev/
# If you already have a /etc/udev/rules.d/50-udev.rules, 'make install'
# will not overwrite it either. You may want to check out the sample ones
# under etc/udev/ like etc/udev/slackware/udev.rules If you want to install
# it over your old one, run this.
#
# Open it up in a text editor and change DRIVER to DRIVERS on line 48 to
# shut up the error that you may get in syslog.
test -f /etc/udev/rules.d/50-udev.rules &&
mv -f /etc/udev/rules.d/50-udev.rules /etc/udev/rules.d/50-udev.rules.old
/usr/bin/install -c -m 644 etc/udev/slackware/udev.rules \
/etc/udev/rules.d/50-udev.rules
# Grab a /lib/udev helper scripts from "slackware-current". These are
# called out of 50-udev.rules via RUN, IMPORT{program}, PROGRAM, etc.:
for script in cdrom-symlinks.sh floppy-extra-devs.sh input-device.sh \
modalias_ieee1394 nethelper.sh; do
wget -N ftp://ftp.slackware.com/pub/slackware/slackware-current/source/\
a/udev/config/scripts/${script} -O /lib/udev/${script}
test -s /lib/udev/${script} && chmod 755 /lib/udev/${script}
done
# The /lib/udev/devices directory is where you should put nodes and
# symlinks that must be in /dev when udev is initialized
( cd /lib/udev/devices
test ! -c ./null && mknod -m 666 ./null c 1 3
test ! -c ./zero && mknod -m 666 ./zero c 1 5 )
# WARNING: this will not only install it, but kill a running udevd
# and (re-)start it
make install \
EXTRAS="extras/ata_id extras/cdrom_id extras/dasd_id extras/edd_id \
extras/firmware extras/floppy extras/path_id extras/scsi_id \
extras/usb_id extras/volume_id"
# udev looks for /lib/udev/firmware_helper, not firmware.sh
ln -s /lib/udev/firmware.sh /lib/udev/firmware_helper
# If you have a /etc/udev/permissions.d left over from an old version of
# udev, you can remove that. You can specify owner and group in udev's
# rules file(s).
test -d /etc/udev/permissions.d && rm -r /etc/udev/permissions.d
# This binary and symlink are no longer necessary as of 047:
rm -f /sbin/wait_for_sysfs
test -L /etc/hotplug.d/default/05-wait_for_sysfs.hotplug &&
rm /etc/hotplug.d/default/05-wait_for_sysfs.hotplug
# Use of /etc/dev.d is no longer recommended
test -d /etc/dev.d && rm -r /etc/dev.d
# This part is for installing an init script to start udev on boot-up.
#
# In Slackware 10.0, the script that starts-up /etc/rc.d/rc.udev on boot-up
# is /etc/rc.d/rc.S I opened up mine and moved the part that starts udev to
# just after the "Check root filesystem" part. If you don't do that, you'll
# see complaints on boot-up about rc.udev trying to create symlinks to
# a few things in /proc, but since the root filesystem is mounted read-only
# at that point, it'll fail. If you move it below the part that re-mounts
# it read-write, then that won't be a problem any more.
#
( cd /etc/rc.d
test -f rc.udev &&
( mv -f rc.udev rc.udev.old
chmod 600 rc.udev.old )
wget http://englanders.cc/pub/linux/misc/rc.udev
chmod 700 ./rc.udev )
# Make sure everything in the source directory is owned by your
# non-root user can remove the source directory later
chown -R $USER .