FS#20614 - [kernel26] 2.6.35 sata_sil does not work

Attached to Project: Arch Linux
Opened by John (graysky) - Thursday, 26 August 2010, 05:08 GMT
Last edited by Andrea Scarpino (BaSh) - Monday, 30 August 2010, 10:48 GMT
Task Type Bug Report
Category Upstream Bugs
Status Closed
Assigned To Tobias Powalowski (tpowa)
Thomas Bächler (brain0)
Architecture All
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 3
Private No

Details

Description: I'm installing Arch i686 on a rather old PC. Athlon 3000+ on an Asus A7N8X-E motherboard with 512 meg of RAM, 160 G SATA HD, etc. I have successfully installed Arch i686 on similar machines of this vintage just fine. Installation is uneventful and a reboot will get me into grub just fine, but hangs up with an error message I haven't seen before:

:: Loading Initramfs
:: Starting udevd...
done.
Waiting 10 seconds for device /dev/sda1 ...
ERROR: Unable to determine major/minor number of root device '/dev/sda1'.

Then I get dropped to a recovery shell. I search the forums and found a similar thread where the solution has been to regenerate the initramfs images which I have tried several times over with different HOOKS and MODULES. Same problem.

Additional info:
* package version(s):

As of 25-Aug-2010, using the latest versions of all packages from the official repos.

* config and/or log files etc.

Relevant line in /boot/grub/menu.lst
# (0) Arch Linux
title Arch Linux
root (hd0,2)
kernel /vmlinuz26 root=/dev/sda1 ro quiet
initrd /kernel26.img

I have also tried alternative methods for defining the grub menu items including UUID, /dev/sdax, and root=0803 (taken from this old kernel trap post: http://kerneltrap.org/node/1955 scroll down to the post by asavva). Also tried adding the "rootfstype=ext4" kernel flag.

Here is the /etc/fstab
devpts /dev/pts devpts defaults 0 0
shm /dev/shm tmpfs nodev,nosuid 0 0

/dev/sda1 / ext4 defaults 0 1
/dev/sda2 swap swap defaults 0 0
/dev/sda3 /boot ext3 defaults 0 1
/dev/sda4 /home ext4 defaults 0 1

Here is the /etc/mkinitcpio.conf
MODULES=""
BINARIES=""
FILES=""
HOOKS="autodetect udev base scsi sata pata filesystems"

Note that I have tried both with and without autodetect and as well adding various modules to the array including: MODULES="sata_sil ata_generic libata pata_amd" both with and without autodetect.

I have also tried using the quick-init (http://aur.archlinux.org/packages.php?ID=25563) package from the AUR in which the disk nodes are defined by the user in an init file but that too gave the same result.

Steps to reproduce:

Install and configure Arch i686 from netinstall-2010.05 or from the Ubuntu 10 live CD via a chroot and attempt to boot it.
This task depends upon

Closed by  Andrea Scarpino (BaSh)
Monday, 30 August 2010, 10:48 GMT
Reason for closing:  Upstream
Comment by Gerardo Exequiel Pozzi (djgera) - Thursday, 26 August 2010, 05:37 GMT
For your motherboard, the SATA interface is via the chip "Silicon Image 3112", this chip works with the linux kernel module "sata_sil", this kernel module is added to the initcpio with the "sata" hook (and is not added if not used via autodetect hook).

>> ERROR: Unable to determine major/minor number of root device '/dev/sda1'.
This is because /dev/sda1 is not found.

Is the module sata_sil loaded on initramfs? (see lsmod output) If not load manually with modprobe sata_sil, and see if sata is detected.

For your system should be sufficient HOOKS="base udev autodetect sata filesystems"
Comment by John (graysky) - Thursday, 26 August 2010, 05:45 GMT
@djgera - Yes, lsmod does indeed show the sata_sil module loaded when I generate the images via "mkinitcpio -p kernel26" when in my chroot from Ubuntu (see below) but after booting, grub errors out as described above. I have also tried adding that module to the MODULES= array in /etc/mkinitcpio.conf as well with the same results.

Note that I have also generated the images both with and without autodetect and as well adding various modules to the array including: MODULES="sata_sil ata_generic libata pata_amd" with the same results.

# lsmod
Module Size Used by
nls_cp437 4513 1
vfat 8210 1
fat 42177 1 vfat
usb_storage 33940 1
snd_wavefront 28397 0
snd_seq_dummy 1067 0
snd_cs4236 22188 0
snd_seq_oss 24984 0
snd_seq_midi_event 4484 1 snd_seq_oss
snd_seq 41656 5 snd_seq_dummy,snd_seq_oss,snd_seq_midi_event
snd_wss_lib 18624 2 snd_wavefront,snd_cs4236
snd_intel8x0 22200 0
snd_opl3_lib 7190 2 snd_wavefront,snd_cs4236
snd_hwdep 4752 2 snd_wavefront,snd_opl3_lib
snd_ac97_codec 87943 1 snd_intel8x0
snd_pcm_oss 33442 0
ac97_bus 750 1 snd_ac97_codec
snd_mixer_oss 14356 1 snd_pcm_oss
snd_mpu401 3800 0
snd_mpu401_uart 4915 3 snd_wavefront,snd_cs4236,snd_mpu401
rtc_cmos 7546 0
snd_pcm 57767 5 snd_cs4236,snd_wss_lib,snd_intel8x0,snd_ac97_codec,snd_pcm_oss
snd_rawmidi 15247 2 snd_wavefront,snd_mpu401_uart
rtc_core 11851 1 rtc_cmos
snd_seq_device 4349 5 snd_seq_dummy,snd_seq_oss,snd_seq,snd_opl3_lib,snd_rawmidi
snd_timer 15629 4 snd_seq,snd_wss_lib,snd_opl3_lib,snd_pcm
snd 42562 17 snd_wavefront,snd_cs4236,snd_seq_oss,snd_seq,snd_wss_lib,snd_intel8x0,snd_opl3_lib,snd_hwdep,snd_ac97_codec,snd_pcm_oss,snd_mixer_oss,snd_mpu401,snd_mpu401_uart,snd_pcm,snd_rawmidi,snd_seq_device,snd_timer
i2c_nforce2 4780 0
shpchp 26528 0
rtc_lib 1482 1 rtc_core
nvidia_agp 4132 1
snd_page_alloc 5873 3 snd_wss_lib,snd_intel8x0,snd_pcm
ppdev 4850 0
i2c_core 14855 1 i2c_nforce2
soundcore 5017 1 snd
pci_hotplug 23303 1 shpchp
processor 25806 0
thermal 9614 0
button 3702 0
parport_pc 27735 1
ns558 1963 0
agpgart 23119 1 nvidia_agp
lp 6652 0
evdev 6716 0
parport 25371 3 ppdev,parport_pc,lp
pcspkr 1347 0
analog 7811 0
gameport 7065 3 ns558,analog
squashfs 19531 2
loop 12110 4
aufs 143158 1
exportfs 2906 1 aufs
udf 79074 1
sg 20820 0
usbhid 32582 0
hid 59859 1 usbhid
sr_mod 13097 1
cdrom 31305 1 sr_mod
sd_mod 25215 2
ata_generic 2171 0
pata_acpi 2296 0
ohci_hcd 19405 0
pata_amd 7768 1
sata_sil 6268 0
floppy 47264 0
libata 138071 4 ata_generic,pata_acpi,pata_amd,sata_sil
skge 33580 0
firewire_ohci 20072 0
scsi_mod 79436 5 usb_storage,sg,sr_mod,sd_mod,libata
ehci_hcd 31420 0
usbcore 119796 5 usb_storage,usbhid,ohci_hcd,ehci_hcd
firewire_core 38297 1 firewire_ohci
crc_itu_t 1041 2 udf,firewire_core
forcedeth 47287 0
Comment by Gerardo Exequiel Pozzi (djgera) - Thursday, 26 August 2010, 05:55 GMT
There are no grub errors here.

Remove "quiet" flag it hides lots of usefull messages (anyway can be viewed at dmesg).

Can you see some relevant entries in dmesg about keywords: "ata" "sd" "scsi" "sata_sil" ?
Comment by John (graysky) - Thursday, 26 August 2010, 06:43 GMT
I'll post the dmesg when I get back home. Is it possible that this controller is being thought of as a RAID or as a SCSI? I will say that the Ubuntu installer calls /dev/sda1 a SCSI device.
Comment by Pontus Ekberg (HerrEkberg) - Thursday, 26 August 2010, 09:57 GMT
This is likely related: https://bugzilla.kernel.org/show_bug.cgi?id=16606

I "solved" it by reverting back to 2.6.34. Using kernel26-lts also worked.
Comment by John (graysky) - Thursday, 26 August 2010, 20:30 GMT
@Pontus - I added sata_sil to the MODULES array in /etc/mkinitcpio.conf and then installed kernel26-lts which booted up just fine. Thank you so much for the link! Looks like this is a problem in upstream - safe to close the report.

Loading...