Okay. Thank you for the explanations. Things are a
little clearer now. More comments inline.
On Thu, 16 Jan 2003 19:33:47 +0300
Borzenkov Andrey <Andrey.Borzenkov@xxxxxxxxxxx> wrote:
At that point I decided to build st support as a module
and autoload it.
Did that and there was /dev/st with my tape devices!
/dev/st are just compatibility names. Do you have
/dev/scsi/hostX/busY/targetZ/lunW/mt* for your device?
Not that I remember.
At this point I'm confused. My understanding of devfs
is that upon
startup (Gentoo boots with devfs running) devfs will
find the devices
and create the necessary directories under /dev/.
No. Devfs does not find any device. Devfs is just a
repository where drivers
can register devices they have found or created.
Okay - the light is starting to dawn. Something has to
trigger devfs into seeing the device. I assume that can
be a module loading (such as I did with st in the current
system) or by some other means - whatever that is?
will cause devfs to
see a device added and create the directories. But why
didn't devfs see
the devices when st support was built into the kernel??
because something went differently and driver did not
tell devfs about
existence of this tape.
That's what I thought.
Besides the process has more than one step. Drivers
usually register
canonical names that are selected to be hierarchical to
avoid possible
confusion. The names you are talking about (specifically,
/dev/st directory)
are created by devfsd program. So the reason why you did
not see /dev/st may
be also devfsd malfunction.
Do I have to manually edit /etc/devfsd.conf to tell it
to find my tape
and autochanger?
Usually not.
I thought that devfs would
find them by itself.
Devfs does not find anything. It is very dumb. It sits
there and waits until
somebody tells it "hey, I have SCSI tape, please show it
to user now".
Okay, then what is supposed to tell devfs that there is
now a scsi tape drive/changer ready to use. In the case
of st being a module and me loading it at startup time
causes devfs to see it. But what SHOULD trigger this if
the st support is built into a kernel - what is the
mechanism there for Linux?
I've read man pages, the FAQ at the devfs author's site
and asked on the
Gentoo and other Linux newsgroups but am still confused.
In fact the
deafing silence on the mailing lists and newsgroups
shows me not many
people understand devfs or so it appears.
I guess silence means Devfs works as expected :)))
As long as you don't try and do what I'm doing <G>. I
think devfs is a neat concept and from what I've read has
a lot of advantages although my knowledge of devices under
Linux has been limited to createing entries in /dev under
the old system and making that work. I don't know what
distros use it (not Caldera's old WS 3.1 or RH 7.3) so
maybe most of the people I see aren't running distros with
it.
Any help
in unconfusing me
would be appreciated.
Please show /etc/devfsd.conf, /etc/modules.devfs, explain
how and when
devfsd is loaded in Gentoo and show dmesg output for the
case /dev/st does
not appear.
I'll get them when I get back to the machine. I'll create
a kernel with st in the kernel and get that data.
Thank you.
|