Hello list,
sorry to continue here, but I lost an email with the original thread :-(
The thread was about devfs and /dev/hd* devices
Thanks Andrej for response.
What I found (I call /dev/hdc my first CDROM, /dev/hdd my second CDROM)
1) My /dev/hdd (my second CDROM) exists and can be mounted, however,
/etc/fstab generated when Mandrake was installed points to /dev/cdrom2
(symlink to cdroms/cdrom2)
2) All /dev/cdroms/cdrom* point to the same physical drive (dev/hdc -
first one). This is plain wrong. I guess the following should be correct:
a) Since I have two CDROMs, only /dev/cdroms/cdrom[12] or
/dev/cdroms/cdrom[01] should exist, pointing to /dev/hdc and /dev/hdd in
my case (NOT to the same first drive)
b) Garbage like /dev/cdroms/cdrom6, /dev/cdroms/cdrom23 should not
exist at all (currently all this garbage tries to access the first drive
= /dev/cdroms/cdrom1
3) /dev/hdc does not exists. As Andrej pointed out, this is probably due
to SCSI emulation - however, without devfs, both /dev/hdc and /dev/sg*
nodes exist and work together
4) I absolutely agree about those persistent symlinks - I really liked
my /dev/dvd, but am not sure where to put it in /etc/devfsd.conf! (I'll
try to find out)
Michal Bukovjan
Borsenkow Andrej wrote:
>>>open("/dev/sg0", O_RDWR) = -1 ENOENT (No such file or
>>>directory)
>>>
>>>Please, immediately after reboot:
>>>
>>>ls -l /dev/sg*
>>>
>>[root@oden /]# ls -l /dev/sg*
>>lr-xr-xr-x 1 root root 36 Dec 14 2001 /dev/sg0 ->
>>scsi/host0/bus0/target0/lun0/generic
>>lr-xr-xr-x 1 root root 36 Dec 14 2001 /dev/sg1 ->
>>scsi/host0/bus0/target1/lun0/generic
>>
>
>Sigh ... what is supposed to happen is
>
>- program tries to open /dev/sg0
>- if it is missing (because sg is not yet loaded) devfs generates LOOKUP
>event and sends it to devfsd
>- devfsd then loads sg module
>- sg driver registers /dev/sg0 and devfs returns handle to it to a
>program
>
>What happens is
>
>- /dev/sg0 and /dev/sg1 do exist so no LOOOKUP event is ever generated
>- LOOKUP is first generated on access to /dev/sg2
>- but sg driver registers sg0 and sg1! *Not* sg2 So lookup for /dev/sg2
>(and all others) still fails.
>- the second time you access it it works.
>
>
>
>>These lines?
>>
>> if [ -d /lib/dev-state ]; then
>> cp -af /lib/dev-state/* /dev > /dev/null 2>&1
>> fi
>>
>
>Yes, these. THESE LINES ARE EVIL I will continue to repeat it over and
>over. Since I removed them I never have any problem. You will need to
>configure devfsd to create any "persistent" nodes (I have a single
>/dev/modem link) - or please bug Juan and Thierry to release news
>devfs/devfsd with much better persistent nodes management.
>
>To Fabrice: Fabrice, we are on cooker not in mandrake NG. We need to fix
>problems not provide workaround. If everybody will preload all modules
>(or will turn devfs off) it will never be debugged and fixed.
>
>-andrej
>