I followed the wiki on setting up udev and ran into an odd problem:
even with the devfs=nomount in my kernel line of menu.lst the first thing I saw after the Arch Linux banner was something about starting DevFS and it failing. With DevFS failing, I couldn't mount any of my extended partitions (hda5-9)
I've fixed it my editing my rc.sysint to remove the check for DevFS, but I'm guessing that's not the best way to handle the issue.
pacman -Sy udev
To err is human... to really foul up requires the root password.
He did say he followed the wiki already, which actually tells you pacman -Sy udev - so it's not a really helpful answer
I'm still a noob, but I'm trying really hard to track down most of the answers myself as best I can.
This is the block of code that seems to be failing for me:
if [ -e /dev/.devfsd -a -x /sbin/devfsd ]; then # Looks like devfs is running, use it status "Starting DevFS Daemon" /sbin/devfsd /dev elif [ -x /etc/start_udev -a -d /sys/block ]; then # We have a start_udev script and /sys appears to be mounted, use UDev status "Starting UDev Daemon" /etc/start_udev else # Static /dev, our last resort status "Using static /dev filesystem" /bin/true fi
My sh skills are pitiful, so I don't completely understand that first "if" statement, but I changed the code to this:
if [ -x /etc/start_udev -a -d /sys/block ]; then # We have a start_udev script and /sys appears to be mounted, use UDev status "Starting UDev Daemon" /etc/start_udev else # Static /dev, our last resort status "Using static /dev filesystem" /bin/true fi
and everything's hunky-dory
The first 'if' checks for the devfsd binary and if it's there it starts devfs. You just needed to remove the devfsd package but you're solution works too.
-e = exists
-a = and
-x = exists and executable
Check 'man test' for more...
sweet, I kept looking in 'man sh' and not finding it :-)
Should we update the wiki to reflect the requirement to remove devfs?
no, don't update the wiki, this is a special case.
I've never seen this before - could you possibly try this:
* put the old devfs stuff back into the boot process
* rm the /dev/.devfsd file
* make sure that your boot partition is mounted, in the case you set it up by hand and have the "noauto" option
* verify the devfs=nomount line in menu.lst
see if this still happens - if it does, try "dmesg | grep -i dev" and look for devfs information... if the kernel is not picking up the parameter, then there is another problem
Okay, I've put rc.sysinit back to the way it was.
I looked for /dev/.devfsd and didn't find it before the reboot. After the reboot it's there.
crw------- 1 root root 253, 0 1969-12-31 19:00 /dev/.devfsd
I've checked my fstab for the /boot partition, here it is:
/dev/discs/disc0/part1 /boot ext2 defaults 0 1
here's my kernel line from menu.lst:
title Arch Linux [/boot/vmlinuz26] root (hd0,2) kernel (hd0,0)/vmlinuz26 root=/dev/discs/disc0/part3 devfs=nomount ro vga=773
and here's the start of the output of the dmesg | grep -i dev command:
[root@sf-game ~]# dmesg | grep -i dev Kernel command line: root=/dev/discs/disc0/part3 devfs=nomount ro vga=773 Console: colour dummy device 80x25 devfs: 2004-01-31 Richard Gooch (email@example.com) devfs: boot_options: 0x0 Console: switching to colour frame buffer device 128x48 fb0: VESA VGA frame buffer device
There are no further references to devfs, just a bunch of hits various devices.
I'm going to try deleting that /dev/.devfsd file now and see what happens.
deleting /dev/.devfsd solved it, though I still don't really understand why I could see when DevFS failed to load but not when I forced udev to load.
Thanks for the help!