# Removing SCSI support do not allow my SATA drive to boot

## OPelerin

For testing purpose, I've removed SCSI support in my kernel 2.6.10

I adapted my grub.conf.

title=kernel-2.6.10-gentoo-r4-NOSCSI

root (hd0,1)

kernel /kernel-2.6.10-gentoo-r4-NOSCSI /root=/dev/sda4

The strange thing is the SATA HD is discovered, but /dev/sda4 can't boot

that's the dmesg I've took when I boot with scsi enabled

ata1: SATA max UDMA/133 cmd 0xEFE0 ctl 0xEFAE bmdma 0xEF60 irq 18

ata2: SATA max UDMA/133 cmd 0xEFA0 ctl 0xEFAA bmdma 0xEF68 irq 18

ata1: dev 0 cfg 49:2f00 82:7c6b 83:7f09 84:4003 85:7c69 86:3e01 87:4003 88:207f

ata1: dev 0 ATA, max UDMA/133, 320173056 sectors: lba48

ata1: dev 0 configured for UDMA/133

scsi0 : ata_piix

ata2: SATA port has no device.

Why SCSI is needed?

----------

## adaptr

Erm.. because SATA uses the SCSI interface ?

----------

## OPelerin

After checking on the web SATA seems to be coming from ATA ( IDE).

http://en.wikipedia.org/wiki/Sata

In computer hardware Serial ATA (also SATA or S-ATA) is a computer bus primarily designed for transfer of data to and from a hard disk. It is the successor to the legacy Advanced Technology Attachment standard (ATA, also known as IDE).

That's still not explain why SCSI is required in the kernel

Any clue?[/list]

----------

## adaptr

 *OPelerin wrote:*   

> After checking on the web SATA seems to be coming from ATA ( IDE).

 

The word comes from parallel ATA, yes.

The technology implementation is much closer to the way SCSI operates - which is why they decided to use its interface, since re-using components is always easier than writing new ones.

When the Linux kernel developers started implementing SATA into the kernel, they had 2 choices: write a completely new device interface, or re-use a long-established one that is also very adaptable.

Guess which they chose.

----------

## OPelerin

saw a SATA disk can be used on a SAS controller. That one is scsi based. Seems logic afterwards

----------

## Arainach

The SATA drivers are based on the SCSI drivers.  Period.  It's the miracle of reusable source code.  That's really all there is to it.

----------

## OPelerin

Thanks for all feedback! Sounds a bit more clear to me now.

----------

## Antimatter

I was wondering the same thing myself thanks for clearing that up  :Smile: 

----------

## cylgalad

I still think it's stupid to rely on scsi for everything that doesn't need it : dvd/cd burning (though there's been improvement), usb/firewire external HD and sata HD.

----------

## NeddySeagoon

cylgalad,

There are actually two SATA drivers in the kernel, an IDE one and a SCSI one.

When the ATAPI was introduced to the IDE bus specification, IDE became a step closer to SCSI.  If you compare the ATAPI commands to the SCSI commands, you will find that the ATAPI is a subset of SCSI, mostly forced by the hardware limitations of IDE.

Both the SCSI and IDE code in the kernel are layered. You only choose the bits you need.

IDE is going the way of the ISA bus - its just a cut down 16 bit ISA bus anyway. In less than 5 years, it will not be on new motherboards.

----------

