# after kernel 3.x: Could not find root block device

## ch64

Hello and good morning,

At first: i do only post the important commands from the screen because the problem is on another pc, - on my laptop which is not booting probably atm.

This laptop i had offline for a longer time. I changed the harddisk and copied the system back.

After that i had  a long time when i only looked up sometimes after a new sync packages.. because i had much compile errors. (gentoo bugs, no hardware fail)

The system is not booting the old kernel from 'good days'  :Smile:  2.6.29-gentoo-r5 because of udev. Which needs CONFIG_DEVTFMPFS=y 

That option came into kernel with 2.6.32.

So, these days i'm looking after kernel 3.12...

But, - and this is my problem, these 3.x kernel doesn't boot well on my notebook.

Grub is booting. Then the initrd is loading, but it's not showing me the whole output of the loaded initram drivers.. it's only switching it through.. and then 

it's giving me the good old message, that it can't mount the root partition .

So when i go to shell, to look after, if it's the given layout (sda/hda), the sata/ide controller driver or the filesystem in the kernel

it looks like, that it's the controller driver.

The completition is not working

When i put 

```
 ls /dev 
```

 on the shell it's only showing me three devices.

Maybe this is important:

It's:  console, null, tty1 

So, there are no harddisks.

Normally i would fix it after a few tries in that situation. But this time it's hard to find a solution.

Is there another kernel variable which could be missing? I used the gentoo sources kernel 3.11.10 and the 3.12.7 with genkernel.

Also i copied over the /proc/config.gz from my old 2.6.29-r5. I fixed it a little bit.

I tried to use a clean genkernel config.. etc.. my point of view was in the kernel compilation process, to allways look on the IDE/SATA settings.

There were much changes between 2.6.29-r5 and 3.12.7.

Here is the lscpi and the lspci -vv output from the livecd.

I only show up the IDE controller specific part.

```

00:00.0 Host bridge: Intel Corporation Mobile PM965/GM965/GL960 Memory Controller Hub (rev 03)

00:02.0 VGA compatible controller: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (primary) (rev 03)

00:02.1 Display controller: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (secondary) (rev 03)

00:1a.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #4 (rev 03)

00:1a.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #5 (rev 03)

00:1a.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #2 (rev 03)

00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 03)

00:1c.0 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 1 (rev 03)

00:1c.1 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 2 (rev 03)

00:1c.2 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 3 (rev 03)

00:1d.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #1 (rev 03)

00:1d.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #2 (rev 03)

00:1d.2 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #3 (rev 03)

00:1d.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #1 (rev 03)

00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev f3)

00:1f.0 ISA bridge: Intel Corporation 82801HEM (ICH8M) LPC Interface Controller (rev 03)

00:1f.1 IDE interface: Intel Corporation 82801HBM/HEM (ICH8M/ICH8M-E) IDE Controller (rev 03)

00:1f.2 IDE interface: Intel Corporation 82801HBM/HEM (ICH8M/ICH8M-E) SATA IDE Controller (rev 03)

00:1f.3 SMBus: Intel Corporation 82801H (ICH8 Family) SMBus Controller (rev 03)

02:00.0 Ethernet controller: Broadcom Corporation NetLink BCM5787M Gigabit Ethernet PCI Express (rev 02)

04:00.0 Network controller: Broadcom Corporation BCM4312 802.11b/g LP-PHY (rev 01)

0f:06.0 CardBus bridge: Texas Instruments PCIxx12 Cardbus Controller

0f:06.1 FireWire (IEEE 1394): Texas Instruments PCIxx12 OHCI Compliant IEEE 1394 Host Controller

0f:06.2 Mass storage controller: Texas Instruments 5-in-1 Multimedia Card Reader (SD/MMC/MS/MS PRO/xD)

0f:06.3 SD Host controller: Texas Instruments PCIxx12 SDA Standard Compliant SD Host Controller

00:1f.1 IDE interface: Intel Corporation 82801HBM/HEM (ICH8M/ICH8M-E) IDE Controller (rev 03) (prog-if 8a [Master SecP PriP])

        Subsystem: Acer Incorporated [ALI] Device 011f

        Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-

        Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx+

        Latency: 0

        Interrupt: pin A routed to IRQ 19

        Region 0: I/O ports at 01f0 [size=8]

        Region 1: I/O ports at 03f4 [size=1]

        Region 2: I/O ports at 0170 [size=8]

        Region 3: I/O ports at 0374 [size=1]

        Region 4: I/O ports at 1810 [size=16]

        Kernel driver in use: ata_piix

        Kernel modules: ata_generic, pata_acpi, ata_piix

00:1f.2 IDE interface: Intel Corporation 82801HBM/HEM (ICH8M/ICH8M-E) SATA IDE Controller (rev 03) (prog-if 8f [Master SecP SecO PriP PriO])

        Subsystem: Acer Incorporated [ALI] Device 011f

        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-

        Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-

        Latency: 0

        Interrupt: pin B routed to IRQ 19

        Region 0: I/O ports at 1c00 [size=8]

        Region 1: I/O ports at 18f4 [size=4]

        Region 2: I/O ports at 18f8 [size=8]

        Region 3: I/O ports at 18f0 [size=4]

        Region 4: I/O ports at 18e0 [size=16]

        Region 5: I/O ports at 18d0 [size=16]

        Capabilities: [70] Power Management version 3

                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot+,D3cold-)

                Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-

        Kernel driver in use: ata_piix

        Kernel modules: ata_generic, pata_acpi, ata_piix

```

[update]more

```

Gentoo-11 src # cat /etc/fstab

/dev/sda1        /       ext3    defaults,noatime                0 1

/dev/sda2        none            swap,noatime            sw              0 0

none        /proc     proc    defaults         0 0

none        /dev/shm  tmpfs   defaults         0 0

/dev/ptmx      /dev/pts   devpts      auto,rw,nosuid,noexec,relatime,gid=5,mode=620         0 0

Gentoo-11 src # cat /etc/mtab

rootfs / rootfs rw 0 0

/dev/sda1 / ext3 rw,noatime,errors=continue,user_xattr,acl,data=ordered 0 0

none /proc proc rw 0 0

tmpfs /run tmpfs rw,nosuid,nodev,size=206440k,mode=755 0 0

sysfs /sys sysfs rw,nosuid,nodev,noexec 0 0

securityfs /sys/kernel/security securityfs rw,nosuid,nodev,noexec 0 0

debugfs /sys/kernel/debug debugfs rw,nosuid,nodev,noexec 0 0

configfs /sys/kernel/config configfs rw,nosuid,nodev,noexec 0 0

fusectl /sys/fs/fuse/connections fusectl rw,nosuid,nodev,noexec 0 0

/dev/ptmx /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620 0 0

usbfs /proc/bus/usb usbfs rw,noexec,nosuid,devmode=0664,devgid=85 0 0

Gentoo-11 src # fdisk -l

Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors

Units: sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 4096 bytes

I/O size (minimum/optimal): 4096 bytes / 4096 bytes

Disklabel type: dos

Disk identifier: 0x5f4c50c6

Device    Boot      Start        End    Blocks  Id System

/dev/sda1 *          2048 1949224959 974611456  83 Linux

/dev/sda2      1949224960 1953523711   2149376  82 Linux swap / Solaris

Gentoo-11 src # cat /boot/grub/menu.lst

default 0

timeout 30

splashimage=(hd0,0)/boot/grub/splash.xpm.gz

title=Gentoo Linux 3.12.7 ohne ram0

root (hd0,0)

kernel /boot/kernel-genkernel-x86-3.12.7-gentoo root=/dev/sda1 init=/linuxrc ramdisk=8192 real_root=/dev/sda1 acpi=force rootfstype=ext3 udev noapic doscsi

initrd /boot/initramfs-genkernel-x86-3.12.7-gentoo

title=Gentoo Linux 3.11.10

root (hd0,0)

kernel /boot/kernel-genkernel-x86-3.11.10-gentoo root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/sda1 acpi=force rootfstype=ext3 udev noapic doscsi

initrd /boot/initramfs-genkernel-x86-3.11.10-gentoo

title=Gentoo Linux 3.12.7

root (hd0,0)

kernel /boot/kernel-genkernel-x86-3.12.7-gentoo root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/sda1 acpi=force rootfstype=ext3 udev noapic doscsi

initrd /boot/initramfs-genkernel-x86-3.12.7-gentoo

title=Gentoo Linux 2.6.29

root (hd0,0)

kernel /boot/kernel-genkernel-x86-2.6.29-gentoo-r5 root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/sda1 acpi=force

initrd /boot/initramfs-genkernel-x86-2.6.29-gentoo-r5

title=Gentoo Linux 2.6.24

root (hd0,0)

kernel /boot/kernel-genkernel-x86-2.6.24-gentoo-r5 root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/sda1 video=vesafb:mtrr:3,ywrap vga=0x06

initrd /boot/initramfs-genkernel-x86-2.6.24-gentoo-r5

title=Gentoo Linux 3

root (hd0,0)

kernel /boot/vmlinux root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/sda1 video=vesafb:mtrr:3,ywrap vga=0x06

title=Win XP

root (hd0,0)

makeactive

chainloader +1

```

Last edited by ch64 on Fri Jan 17, 2014 9:08 am; edited 1 time in total

----------

## ch64

edit: i use pastebin now, i'm sorry.

here is the kernel config i used. 

http://pastebin.com/tR2dcNrMLast edited by ch64 on Tue Mar 18, 2014 12:46 am; edited 2 times in total

----------

## ch64

i forgot to tell you, that the latest output i see from the kernel until the boot stops is...

it is showing me up a ata driver it has loaded.. with all parameters.. also sda, the partitions and layouts..

then it's trying to mount that first partition as given in real_root on grub shell ... and that doesn't work.

the driver seems to be in the kernel and it has loaded it perfectly as the output tells, the disks are found.

normally these old IDE controllers are pretty generic...   :Confused: 

what i don't understand is.. that the kernel has loaded a controller driver but the rescue shell doesn't show up a device.

okay we have to add that point, that it's only the output of the  driver , that there is a sda1,2 found.

----------

## Roman_Gruber

Please use a pastebin when you post config files. Pastebins are webpages which hosts your config files for a certain time. Thanks.

As you upgrade from such an older kernel it may be advise to read: eselect read news. And play around with the config.

a good starting point is also to use a genkernel kernel if you are unable to boot at all as a starting point. or one of those kernel seeds, e.g. pappy kernel seeds if those still exists.

it may be also advised to restart from scratch building your kernel with the appropriate modules.

----------

## VoidMage

As the part about pastebin has already been said, the thing that needs to be added is that CONFIG_IDE must be off.

----------

## ch64

I'm testing again, now.

I edited the thread, with pastebin.

Hey, without CONFIG_IDE it doesn't work.

----------

## 666threesixes666

.....

https://wiki.gentoo.org/wiki/Kernel/Configuration

when you come up to driver selection see item no. 2 in the talk page.

basically you need to build in support (*) for your sata / ide controller.

----------

