Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 60377 - After loading firewire drivers, doesn't re-scan scsi devices
Summary: After loading firewire drivers, doesn't re-scan scsi devices
Status: RESOLVED UPSTREAM
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: x86-kernel@gentoo.org (DEPRECATED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-08-14 17:41 UTC by Don Krajewski
Modified: 2004-08-14 21:52 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Don Krajewski 2004-08-14 17:41:32 UTC
After creating a kernel with Genkernel, and specifying the boot options "do firewire doscsi", it appears that the scsi bus is not rescanned once the firewire drivers are loaded (and in some cases, it appears one of the drivers doesn't get loaded either: raw1394). Workarounds that appear to work is using "rescan-scsi-bus.sh" and 'echo "scsi add-single-device 0 0 0 0' > proc/scsi/scsi" but only AFTER the system is booted, and therefore unable to boot. This should be doable with what is there.

Let me mention that the /boot partition is an /dev/hda (a bootable disk with WinXP - this system is a dual booter and I am trying to make a convert out of the individual whose laptop this is). All other partitions (/, swap, etc.) are on the firewire drive. Failure occurs at the boot just before mounting filesystems - the error is that "the device /dev/sda? is invalid" and then requests for a root partition or go into shell.

Attempted solutions have been to modify the initrd.scripts so that it executes another script (which is copied by gen_initrd.sh during the genkernel process) and executes as the last step of "modules_scan" procedure at boot time. Unfortunately, I don't have the experience with the shell that is running, as all my bash scripts fail dismally because it isn't bash. 

I am hoping someone can steer me in the right direction to come up with a workable solution. 

Reproducible: Always
Steps to Reproduce:
1. boot with liveCD 2004.2 (make sure to "dofirewire doscsi" for options)
2. copy "rescan-scsi-bus.sh" from another system to the /root directory, change to execute, and run.
3. install Gentoo with 2.6.7 kernel using genkernel; note that /boot is located on a bootable disk (/dev/hda?) and the remaining portion of the /dev/hda disk has WinXP.
4. Fails at re-boot.

Actual Results:  
Notifies the /dev/sda? device is invalid.

Expected Results:  
Should have found all the /dev/sda? devices.

The system this was attempted on was a Dell Inspiron 8200, 512MB RAM, 30GB
internal hard disk. Extermal firewire disk is a Western Digital 120 GB
firewire/USB drive.

Another solution would be to load the firewire drivers and USB drivers first,
then load the SCSI drivers, but don't know where to start on attempting this (or
where in genkernel this could be done).

Note that there are several entries in the forums about attempts from people
both on Intel/AMD and Mac platforms.
Comment 1 Greg Kroah-Hartman (RETIRED) gentoo-dev 2004-08-14 21:52:02 UTC
This is a upstream kernel.org issue.  The root partition isn't scanned/found
quick enough before the kernel wants to mount the partition and run init.

Please create a bug at bugzilla.kernel.org about this, if there isn't already
one there for this.  Nothing we can really do here, sorry.