Troubleshooting udev for dev on Red Hat distro

1) Make sure you have a rescue disk/cd in case you hose your machine.  You've
   been forewarned.
2) Grab latest udev tarball or clone udev bitkeeper tree
   (bk://linuxusb.bkbits.net.udev)
3) Follow README and HOWTO-udev_for_dev documents

The following is some additional help to get udev for dev up and running on RH.

Q.  I login as my normal self from the login screen and RH just hangs on an
    empty blue screen.  What's wrong?

A.  You have some wrong permissions.  I'm guessing you can probably log in as root
    but not as your normal user.  Basically you need to edit the
    /etc/udev/udev.permissions file to set the correct permissions to the nodes
    in /dev.  I added the following:

    null:root:users:0666
    urandom:root:users:0644

    setting the correct permissions to null and urandom allowed me to login
    as myself and not at root.

    While you are there you might want to set the permissions to ptmx as well
    or you may have trouble getting a bash prompt in an xterm.  i.e.
    ptmx:root:users:0666  Also refer to the next question.

Q.  I'm having trouble getting a bash prompt from my xterm.  i.e. I bring up a
    terminal and all I have is a blank screen with a blinking cursor.

A.  First make sure you have the correct permissions set for ptmx.  See above
    Q&A for help on this.  But I'm guessing that something is wrong with your
    /dev/pts, thanks Captain Obvious, heh:)  You probably have devpts mounted
    to /dev/pts from /etc/fstab.  I'm also guessing that you have sysfs mounted
    to /sys from /etc/fstab as well.  If this is the case then the line in
    /etc/rc.sysinit

    action $"Mounting local filesystems:" mount -a -t nonfs,smbfs,ncpfs -O no_netdev

    will have mounted these for you.  As a result you placed your call to
    start_udev directly after this because the HOWTO-udev_for_dev document
    told you to insert start_udev after /proc and /sys have been mounted.
    Well start_udev actually overwrites /dev thus anything you had mounted in
    /dev prior to start_udev being called will be blown away.  So basically,
    you mounted devpts to /dev/pts because everything in /etc/fstab was mounted
    and then it was blown away by calling start_udev.  A simple fix is to remove
    the mount devpts line from /etc/fstab and mount it after calling start_udev.
    I did the following:

    action $"Mounting local filesystems:" mount -a -t nonfs,smbfs,ncpfs -O no_netdev
    /etc/rc.d/start_udev
    action $"Mounting devpts: " mount -t devpts none /dev/pts

    After doing so I rebooted and was able to get my prompt from my xterm.

Q.  I'm getting some error messages during boot.  How do I get rid of them?

A.  For me it was a matter of setting up Symlinks.  Basically, some /dev entries
    were being looked for and not being found so an error was thrown.  For example,
    /dev/cdrom was needed but udev had named it /dev/hdc by default.  Basically I
    edited my /etc/udev/udev.rules file to create a symlink from /dev/cdrom to
    /dev/hdc and my error went away.

These are some of the things I ran into.  NOTE:  I hosed my machine more than once
trying to figure this out and a rescue disk was my best friend.  If you have any
other experiences and would like to add to this Q&A list feel free to send me a
patch (ogasawara@osdl.org).  Hopefully this helped someone.  Thanks.
