> Pascal Bourguignon writes:
> > In the rc.devfs script, the presence of a /dev/.devfsd node is tested
> > before lauching devfsd. It seems to expect it to be a character
> > device.
>
> Note that the rc.devfs script is mostly deprecated. Devfsd provides
> permissions management as well.
>
> > Well, after intensive search in the documentation, HOWTO, mail-list
> > archives, and linux kernel sources, I've found no hint as to how to
> > create it.
>
> Of course not. You're not supposed to create it. It's created by the
> kernel. If /dev/.devfsd doesn't exist, it means you haven't mounted
> devfs on /dev.
>
> Regards,
>
> Richard....
Thanks,
Clearly, there's something that I've not understood. Well, from what
you're writting, I get it that devfsd and the stuff done by rc.devfs
and in rc.sysinit:
# If we're using devfs, start devfsd now - we need the old device names
[ -e /dev/.devfsd -a -x /sbin/devfsd ] && /sbin/devfsd /dev
are actually the devfs_d_aemon stuff and devfs (which is integrated
into the kernel) does not need anything to run, but being mounted. The
question is : how do you mount a devfs "pseudo-volume" on /dev?
I've got the problem with the root_fs distributed with
user-mode-linux. For example with the root_fs_redhat_6.2_big, I got:
bash# grep devfs /etc/rc.d/rc.sysinit
# If we're using devfs, start devfsd now - we need the old device names
[ -e /dev/.devfsd -a -x /sbin/devfsd ] && /sbin/devfsd /dev
action "Mount USB filesystem" mount -t usbdevfs usbdevfs /proc/bus/usb
[ -f /proc/bus/usb/devices ] && mount -f -t usbdevfs usbdevfs /proc/bus/usb
bash# ls -l /dev/.dev*
ls: /dev/.dev*: No such file or directory
bash# cat /proc/devices
Character devices:
1 mem
2 pty
3 ttyp
4 ttys/%d <--- aren't they devfs devices ?
5 serial/%d <--- aren't they devfs devices ?
10 misc
128 ptm
136 pts
162 raw
Block devices:
1 ramdisk
7 loop
43 nbd
98 ubd
bash# ls -l /dev/ttys /dev/serial
ls: /dev/ttys: No such file or directory
ls: /dev/serial: No such file or directory
bash# cat /proc/filesystems
nodev proc
nodev sockfs
nodev tmpfs
nodev pipefs
ext2
nodev devpts
Why is there no 'nodev devfs' line here? Perhaps it's the problem, but
how to solve it?
There are all these references to devfs in /etc:
bash# find /etc -type f -exec grep -n devfs {} /dev/null \;
/etc/rc.d/rc.sysinit:13:# If we're using devfs, start devfsd now - we need the
old device names
/etc/rc.d/rc.sysinit:14:[ -e /dev/.devfsd -a -x /sbin/devfsd ] && /sbin/devfsd
/dev
/etc/rc.d/rc.sysinit:176: action "Mount USB filesystem" mount -t usbdevfs
usbdevfs /proc/bus/usb
/etc/rc.d/rc.sysinit:279:[ -f /proc/bus/usb/devices ] && mount -f -t usbdevfs
usbdevfs /proc/bus/usb
/etc/devfsd.conf:1:# Sample /etc/devfsd.conf configuration file.
/etc/devfsd.conf:11:# configured your system to use the original "new" devfs
names or the really
/etc/modules.devfs:1:# /etc/modules.devfs
/etc/modules.devfs:7:# This file comes with devfsd-v1.3.10 which is available
from:
/etc/modules.devfs:10:#
ftp://ftp.atnf.csiro.au/pub/people/rgooch/linux/daemons/devfsd-v1.3.10.tar.gz
But nowhere anything related to mounting devfs.
Puzzled...
--
__Pascal_Bourguignon__ (o_ Software patents are endangering
() ASCII ribbon against html email //\ the computer industry all around
/\ and Microsoft attachments. V_/ the world http://lpf.ai.mit.edu/
1962:DO20I=1.100 2001:my($f)=`fortune`; http://petition.eurolinux.org/
-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GCS/IT d? s++:++(+++)>++ a C+++ UB+++L++++$S+X++++>$ P- L+++ E++ W++
N++ o-- K- w------ O- M++$ V PS+E++ Y++ PGP++ t+ 5? X+ R !tv b++(+)
DI+++ D++ G++ e+++ h+(++) r? y---? UF++++
------END GEEK CODE BLOCK------
|