From Bugzilla Helper: User-Agent: Mozilla/4.78 [en] (Win95; U) Description of problem: Version-Release number of selected component (if applicable): How reproducible: Always Steps to Reproduce: 1.put machine together 2.turn it on 3. Actual Results: loading of ide-cdrom with kernel prevents loading of ide-scsi driver as script is wrong Additional info: line in /etc/rc.d/rc.sysinit currently reads # If they asked for ide-scsi, load it if grep -q "ide-scsi" /proc/cmdline ; then modprobe ide-cd >/dev/null 2>&1 modprobe ide-scsi >/dev/null 2>&1 fi it should read # If they asked for ide-scsi, load it if grep -q "ide-scsi" /proc/cmdline ; then modprobe -r ide-cd >/dev/null 2>&1 modprobe ide-scsi >/dev/null 2>&1 fi
Norm Green wrote: > It appears that the kernel (2.4.7-10) has the ide-cd mod loaded for hdc > by the time the /etc/rc.sysinit script is run. This has always been the case with Linux; ide-cd automatically gets precedence over ide-scsi while linux is loading, before any init scripts get a chance. The proper way around it is to identify drives for ide-scsi with kernel arguments. In LILO: append="hdb=ide-scsi" Look for the above string in the CD-Writing HOWTO. Of course, with modules, you can just unload ide-cd and let ide-scsi take over. But, that won't let somebody leave one of two IDE drives as ide-cd, which normally doesn't matter. An even better way with modules is to add this to your /etc/modules.conf: options ide-cd ignore=hdb But then the modules should get automatically loaded, and that rc.sysinit stuff RedHat did isn't needed. SO, I'm not sure what RedHat is doing there. Maybe they really do want to force all to ide-scsi, as your version does. Joe Krahn
The whole point is that the rc. sysinit is wrong, if you look at what it tries to do you will see that it looks for the string idc-scsi in the kernel arguments and the tries to load ide-cd with modprobe, it fails because it is all ready loaded, then it tries to load ide-scsi this also fails because the device is already using ide-cd. The first modeprobe should be modprobe -r to unload the module so the second statement can load ide-scsi for the device.
I think that correct kernel arguments and/or modules.conf entries will direct the right driver to the right IDE CDROM. Maybe there's a case where this isn't true. Whatever the solution is, be sure to allow for one system with two IDE CDROMs to support one via ide-scsi and one via ide-cd. (Right now, I need this for a system that has one CD-RW, but can lock up if both use ide-scsi and are under a load. There may also be non-bug reasons for having ide-cd on only one drive.) Also beware that rmmod-ing a cdrom's driver and then modprobing it back has the effect of incrementing the drive number for devfs users, and is therefore best avoided.
I think the current situation is right... the installer adds 'hd<something>=ide-scsi' to the kernel commandline arguments if a CD-R/CD-RW/etc is detected. This causes that device to be ignored by ide-cd, and then ide-scsi can take it.