Skip to contentSkip to conversation

Unable to find root fs with libata only 2.6.18-mm3

DISCUSSION Ed Sweetman 4 participants 5 messages Oct 8, 2006 libata

lore
Share & tools
lore
#0 lore raw

I dont have scsi or ide/ata support compiled into my kernel, only the libata drivers, now that they're split out from the scsi tree. As far as I could see from the "help" dialog, this was a valid configuration. However, I can't load the root fs using any scsi device name or ide device name. eg, /dev/sda1, /dev/sdb1, /dev/sdc1, /dev/hda1 etc etc. I tried the LABEL=/ option in the boot args, which should work and that gave me nothing.

My question is, do I still need to compile in scsi disk/cdrom/generic support into my kernel to get libata devices to work or is there some other syntax i'm missing? Libata detects my drives, but as far as I could see, and it flies by too fast to read, no device nodes were assigned to them.

If you do need scsi support, why isn't that done automatically when you select your libata drivers? or at least a pointer in the "Help" dialog to tell you to enable that ?

#1 lore raw
Quoted 3 lines

My question is, do I still need to compile in scsi disk/cdrom/generic support into my kernel to get libata devices to work or is there some other syntax i'm missing?

The initrd image provides the ramdisk image which contains modules not compiled into the kernel which are necessary to access the root filesystem. Man mkinitrd should explain how to set it up.

Casey Dahlin

#2 lore raw
Quoted 10 lines · Casey Dahlin
Quoted 2 lines

My question is, do I still need to compile in scsi disk/cdrom/generic support into my kernel to get libata devices to work or is there some other syntax i'm missing?

The initrd image provides the ramdisk image which contains modules not compiled into the kernel which are necessary to access the root filesystem. Man mkinitrd should explain how to set it up.

Casey Dahlin

I'm not using initrd. All my drivers are compiled in that are needed at boot. My question was in regards to the vagueness of just what the Libata drivers require to actually work in a system. The libata drivers will load and detect devices just fine without scsi compiled into the kernel, they will however be completely useless since they wont be assigning the drives detected on the busses to anything.

If libata is to be considered an alternative to scsi and ide (as it should be, and as it is by it's location in the config now) then why is it still treated as a subset of scsi in the config, requiring you to compile in scsi drivers just like you would have had to do anyway if libata was back in it's normal position under SCSI to make any actual use of libata devices?

It seems like the move out of the scsi tree was pointless, and just adds confusion since the driver tree isn't ready and hasn't got the makefiles and kernel config scripts written to reuse the scsi drivers it requires when someone wants a libata disk or cdrom or whatever device transparently. If libata is to be on the same level as ide and scsi in the config, then I shouldn't need to go into scsi to get a libata drive to work.

It should be a matter of adding some config options under the libata section for "disk support" and "cdrom support", etc and kconfig should auto enable the scsi device options required. Maybe just move those top level scsi drivers into some shared block layer directory since eventually we'll be left with usb/libata/scsi and they'll all use those top level drivers to do their device access.

#3 lore raw
In reply to Ed Sweetman
Quoted 1 line · Ed Sweetman

My question is, do I still need to compile in scsi disk/cdrom/generic

You need scsi disk.

Signature · 3 lines
Norberto Bensa
Cel: 011-5654-9539
Ciudad de Buenos Aires, Argentina
#4 lore raw
In reply to Ed Sweetman

[cc'ing linux-ide]

Quoted 1 line · Ed Sweetman

My question is, do I still need to compile in scsi disk/cdrom/generic support into my kernel to get libata devices to work or is there some other syntax i'm missing? Libata detects my drives, but as far as I could see, and it flies by too fast to read, no device nodes were assigned to them.

Yes, you do need to select SCSI high level drivers you need - sd and sr should suffice for libata.

Quoted 1 line

If you do need scsi support, why isn't that done automatically when you select your libata drivers? or at least a pointer in the "Help" dialog to tell you to enable that ?

Probably because no other SCSI low level driver selects high level driver automatically. I agree that we need better help message. Feel free to submit patch.

Thanks.

Signature · 1 line
tejun