mirror of
https://github.com/systemd/systemd-stable.git
synced 2024-10-30 14:55:26 +03:00
80 lines
2.6 KiB
Plaintext
80 lines
2.6 KiB
Plaintext
HOWTO use udev to manage /dev
|
|
|
|
This document describes one way to get udev working on a Fedora-development
|
|
machine to manage /dev. This procedure may be used to get udev to manage
|
|
/dev on other distros, if you modify some of the steps.
|
|
|
|
This will only work if you use a 2.6 based kernel, preferably the most
|
|
recent one. This does not prevent your machine from using a 2.4
|
|
kernel, if you boot into one, udev will not run and your old /dev will
|
|
be present with no changes needed.
|
|
|
|
|
|
NOTE NOTE NOTE NOTE NOTE NOTE NOTE
|
|
This is completely unsupported. Attempting to do this may cause your
|
|
machine to be unable to boot properly. USE AT YOUR OWN RISK. Always
|
|
have a rescue disk or CD handy to allow you to fix up any errors that
|
|
may occur.
|
|
NOTE NOTE NOTE NOTE NOTE NOTE NOTE
|
|
|
|
|
|
- Build and install udev as specified in the README that comes with
|
|
udev. I recommend using the following build options to get the
|
|
smallest possible binaries:
|
|
make USE_KLIBC=true USE_LOG=false DEBUG=false
|
|
|
|
- disable udev from the boot process by running:
|
|
chkconfig udev off
|
|
or
|
|
chkconfig --del udev
|
|
as root.
|
|
|
|
- place the start_udev script somewhere that is accessible by your
|
|
initscripts. I placed it into /etc/rc.d with the following command:
|
|
copy extras/start_udev /etc/rc.d/
|
|
|
|
- modify the rc.sysinit script to call the start_udev script as one of
|
|
the first things that it does, but after /proc and /sys are mounted.
|
|
I did this with the latest Fedora startup scripts with the patch at
|
|
the end of this file.
|
|
|
|
- make sure the /etc/udev/udev.conf file lists the udev_root as "/dev/"
|
|
and the udev_db as "/dev/.udev.tdb". It should contain the
|
|
following lines in order to work properly.
|
|
udev_root="/dev/"
|
|
udev_db="/dev/.udev.tdb"
|
|
|
|
- reboot into a 2.6 kernel and watch udev create all of the initial
|
|
device nodes in /dev
|
|
|
|
|
|
If anyone has any problems with this, please let me, and the
|
|
linux-hotplug-devel@lists.sourceforge.net mailing list know.
|
|
|
|
A big thanks go out to the Gentoo developers for showing me that this is
|
|
possible to do.
|
|
|
|
Greg Kroah-Hartman
|
|
<greg@kroah.com>
|
|
|
|
|
|
----------------------------------
|
|
Patch to modify rc.sysinit to call udev at the beginning of the boot
|
|
process:
|
|
|
|
|
|
--- /etc/rc.sysinit.orig 2004-02-17 11:45:17.000000000 -0800
|
|
+++ /etc/rc.sysinit 2004-02-17 13:28:33.000000000 -0800
|
|
@@ -32,6 +32,9 @@
|
|
|
|
. /etc/init.d/functions
|
|
|
|
+# start udev to populate /dev
|
|
+/etc/rc.d/start_udev
|
|
+
|
|
if [ "$HOSTTYPE" != "s390" -a "$HOSTTYPE" != "s390x" ]; then
|
|
last=0
|
|
for i in `LC_ALL=C grep '^[0-9].*respawn:/sbin/mingetty' /etc/inittab | sed 's/^.* tty\([0-9][0-9]*\).*/\1/g'`; do
|
|
|
|
|