SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Just had a diskcrash and did a clean install of -current (Saturday) on a laptop.
For some reason, the /dev directory looks just like pre-udev days, with hda1,hda2,hda3 etc, hdb*, hdc*, hdd* and so on.
Why does udev fully populate my /dev directory?
And also, when I boot the system complains that root file system is of wrong format etc, but still mounts it well. Also complains about tmpfs and swap, even though top reports that swap is present (though never used)
As this is a clean install there are obviously no .new files in /etc/rc.d/ and furthermore, the custom rules I have created are no longer working, as the /dev/cdrom appears to be static, and the memory sticks don't get their correct device aliases either...
This previously worked with -current as of 10 days ago.
If you examine the /etc/udev/rules.d/udev.rules file you will see that udev will re-create most of the typical devices seen in the /dev directory.
Is there any benefit to this, or is this added purely for compatibility only? In my previous endevour with udev071 this was not the case and was not a problem. Do you know any links to where this might be documented?
Quote:
Originally Posted by regis_n_bits
As for your custom rules not working, the syntax for udev rules may have become more strict in the latest version (see the end of this thread):
Can't believe I missed the new rules - thanks much - changed to == and += and now it works like a charm.
However, there's one last problem: When udev starts, it prints out this error message:
Code:
mount: wrong fs type, bad option, bad superblock on tmpfs,
missing codepage or other error
In some cases useful info is found in syslog - try
dmesg | tail or so
mkdir: cannot create directory `/dev/pts': File exists
mount: usbfs already mounted or /proc/bus/usb busy
mount: according to mtab, usbfs is already mounted on /proc/bus/usb
Starting udevd: /sbin/udevd --daemon
See my fstab entry in initial post in this thread.
dmesg gives no hint, but syslog has:
Code:
Aug 13 10:08:17 asterix pcmcia-socket-startup: error in file 'config.opts' line 56: syntax error, unexpected STRING, expecting $end or INCLUDE or EXCLUDE
Good to see that your first two problems were easy to fix.
Quote:
Is there any benefit to this, or is this added purely for compatibility only? In my previous endevour with udev071 this was not the case and was not a problem. Do you know any links to where this might be documented?
Yeah I think it is only for compatibility. If you were really adventurous you could modify the files to reduce the number of devices created, but you really wouldn't gain anything (or worse you could corrupt something). Here is a link to a good document about udev rules: http://www.reactivated.net/writing_udev_rules.html
For your mounting problem, the following lines are from the udev.rules file:
Code:
# Mount tmpfs on /dev:
if ! grep -E -q "^[^[:space:]]+ /dev tmpfs" /proc/mounts; then
# umount shm if needed
if grep -E -q "^[^[:space:]]+ /dev/shm tmpfs" /proc/mounts; then
umount -l /dev/shm
fi
# Umount pts if needed, we will remount it later:
if grep -E -q "^[^[:space:]]+ /dev/pts devpts" /proc/mounts; then
umount -l /dev/pts
fi
# Mount tmpfs on /dev:
# the -n is because we don't want /dev umounted when
# someone (rc.[06]) calls umount -a
mount -n -o mode=0755 -t tmpfs tmpfs /dev
# Remount pts:
mkdir /dev/pts
mount -n -o mode=0620,gid=5 -t devpts devpts /dev/pts
# Mount usbfs:
if [ -d /proc/bus/usb ]; then
mount usbfs -t usbfs /proc/bus/usb -o devgid=10,devmode=0666
fi
fi
This is where the first error message originates. I'm not really sure why you are getting these errors. I'll have to find out what the /dev directory is supposed to look like before udev starts.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.