You are not logged in.

#1 2009-01-17 17:17:23

sud0
Member
Registered: 2009-01-17
Posts: 4

ATA controller not detected in kernels >= 2.6.27; works fine <= 2.6.26

Kernel26 version kernel26-2.6.26.5-1-i686 was the kernel in use which worked.

Then a pacman -Syu was done and it upgraded to kernel26-2.6.27.7-1-i686. After a reboot, errors along the lines of bad root device come up:

Attempting to create root device '/dev/sda1'
ERROR: Failed to parse block device name for '/dev/sda1' unknown
ERROR: root fs cannot be detected
Waiting for device to settle...done



Root device '/dev/sda1' doesn't exist, attempting to create it
ERROR: Failed to parse block device name for '/dev/sda1' unknown
ERROR: Unable to create/detect root device, '/dev/sda1'


Dropping to recovery shell.. type 'exit' to reboot

At the recovery shell, no /dev/sdX or /dev/hdX devices exist, not even after practically modprobe'ing every module on the ramdisk.

It seems the ATA controller isn't being detected with the new kernel. For example, there are no messages like the following (from 2.6.26) when booting into 2.6.27:

scsi0 : pata_via
scsi1 : pata_via
ata1: PATA max UDMA/66 cmd 0x000101f0 ctl 0x000103f6 bmdma 0x0001e000 irq 14
ata2: PATA max UDMA/66 cmd 0x00010170 ctl 0x00010376 bmdma 0x0001e008 irq 15

An lspci -knv under 2.6.26 of the IDE controller:

00:07.1 0101: 1106:0571 (rev 10) (prog-if 8a [Master SecP PriP])
IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 10)
    Flags: bus master, medium devsel, latency 32
    [virtual] Memory at 000001f0 (32-bit, non-prefetchable) [size=8]
    [virtual] Memory at 000003f0 (type 3, non-prefetchable) [size=1]
    [virtual] Memory at 00000170 (32-bit, non-prefetchable) [size=8]
    [virtual] Memory at 00000370 (type 3, non-prefetchable) [size=1]
    I/O ports at e000 [size=16]
    Capabilities: <access denied>
    Kernel driver in use: pata_via
    Kernel modules: via82cxxx, pata_via

My [unchanged] mkinitcpio.conf:

MODULES="pata-via ide-core ide-pci-generic ide-disk ext3"
BINARIES=""
FILES=""
HOOKS="base udev autodetect pata scsi sata filesystems"

I've even tried adding via82cxxx into MODULES for 2.6.28; doesn't work either.

PS: The 2.6.27 fallback image also does not work, and I've tried the boot parameters rootfstype=ext3, rootdelay=8 which don't get the devices created either.

I get the same errors under 2.6.28.

Any suggestions? Thanks.

Last edited by sud0 (2009-01-17 17:20:29)

Offline

#2 2009-01-22 05:12:53

onguarde
Member
Registered: 2008-09-14
Posts: 144

Re: ATA controller not detected in kernels >= 2.6.27; works fine <= 2.6.26

http://bbs.archlinux.org/viewtopic.php?id=63486

It seems I am having similar problems. By any chance, are you on an intel chipset?

I've noticed that mkinitcpio -M gives the following error under chroot environment.

find" '/lib/module/2.6.25-ARCH': No such file or directory
cat: /tmp/mkinitcpio.undQWc/autodetect_modules: No such file or directory

Anyhow, I tried reinstalling everything to no avail.

I noticed in pacman.log, during the mkinitcpio process, I got this ERROR

ERROR: module 'ide[-_]disk' not found

Removing the ide-disk from the MODULES array doesn't seem to help either. Although the error dissappeared.

Here's my mkinitcpio.conf

MODULES="piix ide_disk reiserfs ext3"

I can't remember why I added piix. If i'm not wrong its due to the intel issue here. http://www.archlinux.org/news/273/

I am already on persistent device naming before this occurred.(by-label)

HOOKS="base autodetect udev uresume pata"

Funny why it works without filesystem Hook which the wiki seems to hint its indispensable.

Last edited by onguarde (2009-01-22 05:40:43)

Offline

#3 2009-01-22 05:27:58

sud0
Member
Registered: 2009-01-17
Posts: 4

Re: ATA controller not detected in kernels >= 2.6.27; works fine <= 2.6.26

I'm on a VIA chipset:

00:00.0 Host bridge: VIA Technologies, Inc. VT82C693A/694x [Apollo PRO133x] (rev c4)
00:01.0 PCI bridge: VIA Technologies, Inc. VT82C598/694x [Apollo MVP3/Pro133x AGP]
00:07.0 ISA bridge: VIA Technologies, Inc. VT82C596 ISA [Mobile South] (rev 23)
00:07.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 10)
00:07.3 Host bridge: VIA Technologies, Inc. VT82C596 Power Management (rev 30)

Offline

#4 2009-01-22 07:17:12

onguarde
Member
Registered: 2008-09-14
Posts: 144

Re: ATA controller not detected in kernels >= 2.6.27; works fine <= 2.6.26

I tried downgrading using the chroot instructions here http://wiki.archlinux.org/index.php/Kernel_Panics

However, the changes don't seem to be applied... I rebooted and the "resume" hook which I discarded is still being run. Must be doing something wrong...

Hmm... I found kernel26.img files in my root directory(/). They should be installed in /boot right???

Last edited by onguarde (2009-01-22 07:23:41)

Offline

#5 2009-01-22 10:37:07

FrozenFox
Member
From: College Station, TX
Registered: 2008-03-23
Posts: 422
Website

Re: ATA controller not detected in kernels >= 2.6.27; works fine <= 2.6.26

I use a custom kernel (fbcondecor) which I haven't changed in over a month, which was working this morning, but failed identically to your situations today, so the updates that broke everything must be within the last 2 days. I lack the kernel you think is giving problems completely, so I don't think that's it as confusing as it may sound. A friend of mine who installed fresh without problems today had the same issue after rebooting. I am currently writing from Debian Lenny on the same drive /dev/sda7, whose grub2 on /dev/sda2 had no issues.

I suspect somehow another package broke the system.. because again I will emphasize that my kernel worked fine yesterday and hasnt changed in a month-ish.

EDIT1: I am absolutely, positively perplexed. I downgraded several packages I thought could possibly but not likely wreak havoc, no go.

EDIT2: mkinitcpio -p kernel26 (changed to my kernel of course) got me to a new error, although a similar one. >< Unable to mount root filesystem blah blah.

EDIT3: Installing kernel26 from old mirrors didn't change a thing.

**SOLVED FOR MY CASE**
EDIT4: I knew something wasn't making sense here. I'm not sure why this worked for me, or why it was bloody necessary to do it seemingly at random, but it works for me now, and it may for you too. The arch installer gave me the hint at the partition menu when I noticed my 40 gig ide drive was now called sda when my 160gig sata drive that used to be sda was apparently now sdb (I've never had the bios do that in the months that I've owned it, but oookay):

1) mkinitcpio -p kernel26 (not sure if this was necessary, but it changed the error for me. i used kernel26fbcondecor, but most will use this)

2) I edited /etc/fstab in a chroot environment on another distro/livecd, and changed all the relevant entries to be /dev/sdbX from /dev/sdaX, even though it was sdaX before. I used to use uuid's, but gave them up because they caused all sorts of bothersome problems.

3) I edited the grub config file (for me its grub2's config, /boot/grub/grub.cfg, whereas you likely still use grub legacy, so /boot/grub/menu.lst). The grub2 and grub stuff is different, but I think based on my before-and-after's, you will get the idea. Notice set root on line 1 and root= on line 2 of each section -- how the hell that works correctly (its still hd0 but sdb now? wtf) I have no idea, but it does:

Before:

# Entry 0 - Arch Linux
menuentry "Arch Linux FBS|class=linuxmint,linux,os" {
    set root=(hd0,2)
    linux /boot/vmlinuz26fbcondecor root=/dev/sda2 ro quiet vga=792 splash=silent,theme:arch console=tty1
    initrd /boot/kernel26fbcondecor.img
}

After:

# Entry 0 - Arch Linux
menuentry "Arch Linux FBS|class=linuxmint,linux,os" {
    set root=(hd0,2)
    linux /boot/vmlinuz26fbcondecor root=/dev/sdb2 ro quiet vga=792 splash=silent,theme:arch console=tty1
    initrd /boot/kernel26fbcondecor.img
}

Last edited by FrozenFox (2009-01-22 12:32:52)

Offline

#6 2009-01-22 13:48:07

sud0
Member
Registered: 2009-01-17
Posts: 4

Re: ATA controller not detected in kernels >= 2.6.27; works fine <= 2.6.26

FrozenFox, when you would boot up unsuccessfully before making your changes, did sdb2 exist in /dev when doing echo *?

My hard drive setup is basic: only one hard drive in the computer with partitions 1,2,3 = /,swap,/home

I first experienced the problem in early December after doing a pacman -Syu that had not been done for at least a couple months.

onguarde wrote:

I tried downgrading using the chroot instructions here http://wiki.archlinux.org/index.php/Kernel_Panics

However, the changes don't seem to be applied... I rebooted and the "resume" hook which I discarded is still being run. Must be doing something wrong...

Hmm... I found kernel26.img files in my root directory(/). They should be installed in /boot right???

onguarde, the only way I am able to boot my system is to use an install CD and boot with:
> arch root=/dev/sda1

The CD I have has kernel version 2.6.22. Then I can do the downgrade with:
# pacman -U /var/cache/pacman/pkg/kernel26-stuff.tar.gz

where 'stuff' is the kernel version that has to be 2.6.26.X and under.

Last edited by sud0 (2009-01-22 13:54:16)

Offline

#7 2009-01-23 02:16:54

FrozenFox
Member
From: College Station, TX
Registered: 2008-03-23
Posts: 422
Website

Re: ATA controller not detected in kernels >= 2.6.27; works fine <= 2.6.26

Unfortunately, I don't remember if sdb2 was there, I did quite a lot of screwing around trying to figure out the problem.

A friend of mine who was having the same issue multiple times on multiple fresh installs all of the sudden doesn't have it anymore. I'm not sure what he did differently this time, but it seems to work. He said he followed the how-to "to the letter" this time. I'm not sure what he could've possibly done differently than the last load of tries.

In my case, I don't think my issue was actually related to yours beyond coincidence, after further thought, as the bios seemed to randomly switch drive orders. Or perhaps when I was trying to make another livecd work, I unwittingly screwed the order up manually. Either way, I'm suspecting PEBCAK or something unrelated to arch for my case. Fyi though, I'm using the same kernel26-fbcondecor based on kernel 2.6.27.8 without any problems on my 160g sata drive, p4s800d-x mobo  w/ sis chipsets.

Last edited by FrozenFox (2009-01-23 02:18:03)

Offline

#8 2009-01-27 08:50:29

onguarde
Member
Registered: 2008-09-14
Posts: 144

Re: ATA controller not detected in kernels >= 2.6.27; works fine <= 2.6.26

onguarde wrote:

I tried downgrading using the chroot instructions here http://wiki.archlinux.org/index.php/Kernel_Panics

However, the changes don't seem to be applied... I rebooted and the "resume" hook which I discarded is still being run. Must be doing something wrong...

Hmm... I found kernel26.img files in my root directory(/). They should be installed in /boot right???

I copied over those kernel.img files installed under / to /boot and managed to boot fine.

As per the arch wiki, the following are the steps I took to chroot.

boot into arch livecd as root
ls /dev | grep sd 
found sda[1-4] >> sda2 is my root directory

mount /dev/sda2 /mnt
mount /dev/sda2 /mnt/boot

mount -t proc none /mnt/proc
mount -t sysfs none /mnt/sys
mount --bind /dev /mnt/dev

chroot /mnt

I suspect step "mount /dev/sda2 /mnt/boot" should have been "mount /dev/sda2/boot /mnt/boot" ? If so, I think the arch wiki article on kernel panic needs some editing.

I have the same problem with my laptop... Downgrading kernel from 2.6.28 -> 2.6.27 (which used to be stable for my comp) doesn't do any better.

Shouldn't this be bug-reported?

Maybe you should try downgrading mkinitcpio too.

I'm on a VIA chipset:

Ok, maybe you can run the check below to see if maybe we're in the same boat?

http://www.archlinux.org/news/273/
If you have any IDE devices on an intel controller, to check if this change will affect you, and whether or not you have to adjust your fstab and bootloader, check 'mkinitcpio -M' for piix or ata_piix

Last edited by onguarde (2009-01-27 08:51:01)

Offline

#9 2009-01-28 16:07:07

sud0
Member
Registered: 2009-01-17
Posts: 4

Re: ATA controller not detected in kernels >= 2.6.27; works fine <= 2.6.26

onguarde wrote:

http://www.archlinux.org/news/273/
If you have any IDE devices on an intel controller, to check if this change will affect you, and whether or not you have to adjust your fstab and bootloader, check 'mkinitcpio -M' for piix or ata_piix

An `mkinitcpio -M` under 2.6.26 gives output:

libata
pata_acpi
pata_via
cdrom
ide-core
ide-pci-generic
via82cxxx
3c59x
mii
scsi_mod
sd_mod
sr_mod
jbd
ext3

That article mentions the change was in effect starting from kernel 2.6.19. I have no problem with 2.6.26 and assuming versions lower than that; 2.6.27 & up is where it goes downhill.

Offline

#10 2009-02-04 11:10:21

sniper11
Member
Registered: 2009-02-04
Posts: 1

Re: ATA controller not detected in kernels >= 2.6.27; works fine <= 2.6.26

hi, there. had the same problem when upgrading to kernel 2.6.28. Think it's a problem with klibc-module-init-tools package.(ver 3.5)
try this: when you're at the ramfs prompt at recovery console, try running:

ramfs$/sbin/modprobe

or any other module related binaries (depmod,etc.)
you'll get a

./sbin/modprobe: not found

This means that the module loading binaries aren't working at all preventing the ata controller driver to be loaded to detect the rootfs.

I did a rollback to a previous klibc version and it's now working fine(although i had to rollback kernel and mkinitcpio too). It wasn't working when i was rolling back only mkinitcpio and kernel. I'll try upgrading to 2.6.28 again and just replace the module loading binaries with the ones on archlive and report whether it works or not.

please try this out and reply if it works(or not).

EDIT:
i tried replacing the module binaries on my system with the ones on archlive, but it's not working.
a weird thing happens when i'm on live cd:

when i run

 $ /mnt/mysystem/usr/lib/klibc/sbin/modprobe

,everything seems ok but when i

$ chroot /mnt/mysystem
$ /usr/lib/klibc/sbin/modprobe

i receive the 'modprobe: no such file or directory' error
could anyone explain this? maybe it's a problem with klibc itself.

Last edited by sniper11 (2009-02-04 12:06:53)

Offline

#11 2009-02-23 00:08:51

onguarde
Member
Registered: 2008-09-14
Posts: 144

Re: ATA controller not detected in kernels >= 2.6.27; works fine <= 2.6.26

Sorry, its been some time back since this has been working for me. Just couldn't find the time to post.

After downgrading some time back, I decided to just do a -Syu and somehow take a hack at this problem. I managed to boot fine after tweaking some settings in the mkinitcpio. I can't remember exactly what settings though but I'll just give it a go. Now, I'm at kernel version 2.6.28.4-1 and still going strong.

My mkinitcpio.conf now,

MODULES="reiserfs"
HOOKS="base pata udev usbinput"

reiserfs is the filesystem of my root partition. Hence, the entry under modules. The usbinput is merely due to the change to a USB keyboard from a ps2 one so I can type in console as per the wiki. I've also scapped uresume since resume works fine even without it in the recent kernels.

Previously I think I had,

HOOKS="base autodetect ide udev uresume"

The main change is probably from ide to pata(the new subsystem). I hadn't changed it previously due to intel chipset issues but it seems to work fine now. Note that all my partitions are accessed by persistent by-label namings which first requires you to label the partition(any partition software should have this option). Your labelled partitions can be linked to from /dev/disk/by-label/<your-label>.

p.s After reading the wiki, I'm still not sure if putting autodetect is good idea.

Shrinks your initramfs to a smaller size by autodetecting your needed modules. Be sure to verify included modules are correct and none are missing. This hook must be run before other subsystem hooks in order to take advantage of auto-detection. Any hooks placed before 'autodetect' will be installed in full.

Last edited by onguarde (2009-02-23 00:14:14)

Offline

#12 2009-03-06 03:07:21

mailman-zero
Member
From: Arizona
Registered: 2006-11-07
Posts: 7
Website

Re: ATA controller not detected in kernels >= 2.6.27; works fine <= 2.6.26

I am having this exact same issue with upgrading the kernel and not getting a ramdisk with the ability to load modules. I hope this gets fixed soon.

UPDATE: Today I upgraded the package "base" and reinstalled kernel 2.6.22 and it booted. I don't know if 2.6.28 would boot or not. I need this system to work, so I'm keeping it as is for now.

Last edited by mailman-zero (2009-03-07 06:11:43)


--> You never heard of a walking towel? <--

Offline

Board footer

Powered by FluxBB