# Kernel Panic: udev, drivers, modules conspiring against me

## toneus

At this point, I'm wrapped around the axle. I've been using Gentoo for the better part of 9/10 years now, and I normally am able to research my way out of an emerge mess, but in this case udev has gotten the better of me. So I reach out to the community in this time of need.

I think I'm in some state of the udev/kernel upgrade Sticky in this forum. I've read almost every VFS post I can find, I've tried to follow them, but I'm missing something.

Please forgive the lack/format of details below. I'm having to type them because I don't have a working method of getting the files off box right now.

Problem: VFS Kernel Panic  on boot, which is complaining about the root device null unknown. YOu know the message.

In my troubleshooting, the target has moved slightly.

Error on boot is now...

```
>> Hint: Use parameter scandelay[=seconds] if you need waiting here

>> Activating mdev

>> Determining root device...

!!Block device /dev/sda3 is not a valid root device...

!! Could not find the root block device in .

Please specify another value or: press Enter for teh same, type "shell" for a shell, or "q" to skip...

root block device() ::
```

This is x86_64 on an AMD Athlon 64 X2 Dual Core Processor 6000+

I'm running with the common fstab configuration

```
/dev/sda1     /boot   ext2    noauto,noatime  1 2

/dev/sda3     /       ext3    noatime         0 1

...

proc          /proc   proc     defaults      0 0

...
```

My grub.conf

```
...

kernel /boot/kernel-genkernel-x86_64-3.2.1-gentoo-r2 real_root=/dev/sda3 rootfstype=ext3

initrd /boot/initramfs-genkernel-x86_64-3.2.1-gentoo-r2

...

```

lspci

```
...

IDE interface"nVidia Corporation MCP55 IDE (rev a1)

IDE interface"nVidia Corporation MCP55 SATA Controller (rev a3)

PCI bridge: nVidia Corporation MCP55 PCI bridge (rev a2)

...

```

My reading of the forums has me trying to figure out what option I am missing in my Kernel. As an attempt to get past this problem, I've even tried a Kernel Seed http://kernel-seeds.org/seeds/64_bit/gentoo/3.2.1-gentoo-r2-x86_64-08.config, without success.

I've enabled

```
CONFIG_DEVTMPFS=y

CONFIG_DEVTMPFS_MOUNT=y
```

I really could use some assistance. Cheers!

TLast edited by toneus on Mon Mar 26, 2012 9:41 pm; edited 2 times in total

----------

## Jaglover

 *Quote:*   

> Problem: VFS Kernel Panic on boot, which is complaining about the root device null unknown.

 

Precise error message, please?

----------

## toneus

In my troubleshooting, the target has moved slightly.

I don't recongnize this prompt, or error. And the help in the shell indicates it's BusyBox. How is this now getting into the mix?

Error on boot is now...

```
>> Hint: Use parameter scandelay[=seconds] if you need waiting here

>> Activating mdev

>> Determining root device...

!!Block device /dev/sda3 is not a valid root device...

!! Could not find the root block device in .

Please specify another value or: press Enter for teh same, type "shell" for a shell, or "q" to skip...

root block device() ::
```

Last edited by toneus on Mon Mar 26, 2012 9:41 pm; edited 1 time in total

----------

## BillWho

toneus,

A long shot! - try 

```
kernel /boot/kernel-genkernel-x86_64-3.2.1-gentoo-r2 root=/dev/sda3 rootfstype=ext3
```

  in place of real_root

Good luck    :Wink: 

----------

## toneus

 *BillWho wrote:*   

> toneus,
> 
> A long shot! - try 
> 
> ```
> ...

 

No joy.

----------

## BillWho

toneus,

I don't think you should be using kernel /boot/ in grub with a boot partition - this is my grub entry (it's grub2, but the kernel line should be the same) and I use the symlinks.

```
linux /kernel root=/dev/sdb14 rootfstype=ext3 vga=794

initrd /initramfs

```

```
lrwxrwxrwx 1 root root      33 Mar 25 00:35 kernel -> kernel-genkernel-x86_64-3.3.0-rc7

```

And the fstab

```
/dev/sdb1   /boot         ext2      noauto,noatime            1 2

/dev/sdb14   /            ext3      noatime                  0 1

```

Try changing yours to

```
kernel /kernel-genkernel-x86_64-3.2.1-gentoo-r2 root=/dev/sda3 rootfstype=ext3
```

I hope this helps   :Wink: 

----------

## toneus

No luck Bill.

But again the game changes. It appears that the previous error I mentioned was due to the

    initrd /boot/initramfs-genkernel-x86_64-3.2.1-gentoo-r2

line in grub.

I remove that, and now I am getting the "other" unknown -block error. Previously today, I got the unknown-block(0,0).

But now I appear to be past that, and am getting at least a reference to one of my other drives (sdd). I don't understand why the mapping is off.

Latest panic:

```
...

0820     976762584 sdc driver:sd

  0821     786437946 sdc1 0000....

  0822     190322055 sdc2 0000....

0830     976762584 sdd  driver: sd

  0831     964866048 sdd1 0000...

  0832                   1 sdd2 0000...

...

Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(8,3)

Pid: 1, comm: swapper/0 Not tainted 3.2.1-gentoo-r2 #1

Call Trace:

```

----------

## Hu

 *toneus wrote:*   

> I don't recongnize this prompt, or error. And the help in the shell indicates it's BusyBox. How is this now getting into the mix?

 BusyBox is a commonly used shell for an initrd.  Your initrd failed to locate the disk root device, so it dropped you to a busybox shell so that you could fix it.

(8,3) is sda3, so I suspect that either (1) the drive you intend to be sda is not detected or (2) the drive you intend to be sda is appearing under some other name.  Please post the /etc/fstab of the affected system and the output of ls -l /dev/ as run by the initrd BusyBox.

----------

## BillWho

toneus,

Did you adjust the initrd line to

```
 initrd /initramfs-genkernel-x86_64-3.2.1-gentoo-r2 
```

 besides the kernel line ?

Do you have any persistent disk rules in /etc/udev/rules.d ?

Do you have ext2 and ex3 filesystem support compiled as a module or built in ?

Is this a new installation or are these errors the result of a kernel or emerge sync update ?

Is there actually a device at block(8,3) ?

Lost beyond these   :Confused: 

----------

## toneus

Hu, I completely agree. I went ahead and just provided the output of fdisk instead of the ls out of BusyBox. Same difference, no?

I was guessing that 8,3 is actually /dev/sdd3

 *Hu wrote:*   

> (8,3) is sda3, so I suspect that either (1) the drive you intend to be sda is not detected or (2) the drive you intend to be sda is appearing under some other name.  Please post the /etc/fstab of the affected system and the output of ls -l /dev/ as run by the initrd BusyBox.

 

Bill, I understand what you're saying about the gurb lines, but if I understand the process, the wrong drive is being probed, so I think how the path is referenced is the next step in this troubleshoot.

I was able to get ssh working so I can pull files a little easier off box.

Thanks for the review.

Tony

/etc/fstab

```
# /etc/fstab: static file system information.

#

# noatime turns off atimes for increased performance (atimes normally aren't

# needed; notail increases performance of ReiserFS (at the expense of storage

# efficiency).  It's safe to drop the noatime options if you want and to

# switch between notail / tail freely.

#

# The root filesystem should have a pass number of either 0 or 1.

# All other filesystems should have a pass number of 0 or greater than 1.

#

# See the manpage fstab(5) for more information.

#

# <fs>                  <mountpoint>    <type>          <opts>          <dump/pass>

# NOTE: If your BOOT partition is ReiserFS, add the notail option to opts.

/dev/sda1               /boot           ext2            noauto,noatime  1 2

/dev/sda3               /               ext3            noatime         0 1

/dev/sda2               none            swap            sw              0 0

#/dev/hdc               /mnt/cdrom      auto            ro,user,umask=000       0 0

#/dev/sda1              /media/pictures ext3            noatime         0 0

#/dev/sdb1              /media/music    ext3            noatime         0 0

# 750G of 1TB drive /dev/sdc

/dev/sdc1               /backup         ext3            noatime         0 0

/dev/sdd1               /media          ext4            noatime         0 0

#/dev/fd0               /mnt/floppy     auto            noauto          0 0

#192.168.1.100:/media    /freedom/media  nfs            rw              0 0

#192.168.1.100:/var/www/localhost/htdocs /freedom/web nfs rw            0 0

# NOTE: The next line is critical for boot!

proc                    /proc           proc            defaults        0 0

# glibc 2.2 and above expects tmpfs to be mounted at /dev/shm for

# POSIX shared memory (shm_open, shm_unlink).

# (tmpfs is a dynamically expandable/shrinkable ramdisk, and will

#  use almost no memory if not populated with files)

shm                     /dev/shm        tmpfs           nodev,nosuid,noexec     0 0

```

fdisk -l

```
Disk /dev/sda: 163.9 GB, 163927522816 bytes

255 heads, 63 sectors/track, 19929 cylinders, total 320170943 sectors

Units = sectors of 1 * 512 = 512 bytes

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

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

Disk identifier: 0x4c878943

   Device Boot      Start         End      Blocks   Id  System

/dev/sda1   *          63       80324       40131   83  Linux

/dev/sda2           80325     1092419      506047+  82  Linux swap / Solaris

/dev/sda3         1092420   320159384   159533482+  83  Linux

Disk /dev/sdb: 250.1 GB, 250058268160 bytes

255 heads, 63 sectors/track, 30401 cylinders, total 488395055 sectors

Units = sectors of 1 * 512 = 512 bytes

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

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

Disk identifier: 0x0930ccd6

   Device Boot      Start         End      Blocks   Id  System

/dev/sdb1              63   488392064   244196001   83  Linux

Disk /dev/sdc: 300.1 GB, 300090728448 bytes

255 heads, 63 sectors/track, 36483 cylinders, total 586114704 sectors

Units = sectors of 1 * 512 = 512 bytes

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

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

Disk identifier: 0x2854934e

   Device Boot      Start         End      Blocks   Id  System

/dev/sdc1              63   586099394   293049666   83  Linux

Disk /dev/sdd: 1000.2 GB, 1000204886016 bytes

255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors

Units = sectors of 1 * 512 = 512 bytes

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

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

Disk identifier: 0x95f6b7e0

   Device Boot      Start         End      Blocks   Id  System

/dev/sdd1              63  1572875954   786437946   83  Linux

/dev/sdd2      1572875955  1953520064   190322055   83  Linux

Disk /dev/sde: 1000.2 GB, 1000204886016 bytes

255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors

Units = sectors of 1 * 512 = 512 bytes

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

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

Disk identifier: 0x0007f2ad

   Device Boot      Start         End      Blocks   Id  System

/dev/sde1   *        2048  1929734143   964866048   83  Linux

/dev/sde2      1929736190  1953523711    11893761    5  Extended

/dev/sde5      1929736192  1953523711    11893760   82  Linux swap / Solaris

```

----------

## toneus

 *BillWho wrote:*   

> toneus,
> 
> Did you adjust the initrd line to
> 
> ```
> ...

 

Bill,

There are 3 files in /etc/udev/rules.d, but they appear to be the basics (cdrom, net, and usb jog/shuttle devices).

Ext2 and ext3 should be built in, as they have been along for the ride since 2.x. 

```
# File systems

#

CONFIG_EXT2_FS=y

CONFIG_EXT2_FS_XATTR=y

CONFIG_EXT2_FS_POSIX_ACL=y

CONFIG_EXT2_FS_SECURITY=y

# CONFIG_EXT2_FS_XIP is not set

CONFIG_EXT3_FS=y

CONFIG_EXT3_DEFAULTS_TO_ORDERED=y

CONFIG_EXT3_FS_XATTR=y

CONFIG_EXT3_FS_POSIX_ACL=y

CONFIG_EXT3_FS_SECURITY=y

CONFIG_EXT4_FS=y

CONFIG_EXT4_FS_XATTR=y

CONFIG_EXT4_FS_POSIX_ACL=y

CONFIG_EXT4_FS_SECURITY=y

# CONFIG_EXT4_DEBUG is not set

CONFIG_JBD=y

CONFIG_JBD2=y

CONFIG_FS_MBCACHE=y

CONFIG_REISERFS_FS=y

# CONFIG_REISERFS_CHECK is not set

# CONFIG_REISERFS_PROC_INFO is not set

CONFIG_REISERFS_FS_XATTR=y

CONFIG_REISERFS_FS_POSIX_ACL=y

CONFIG_REISERFS_FS_SECURITY=y

CONFIG_JFS_FS=y

CONFIG_JFS_POSIX_ACL=y

CONFIG_JFS_SECURITY=y

# CONFIG_JFS_DEBUG is not set

# CONFIG_JFS_STATISTICS is not set

CONFIG_XFS_FS=y

CONFIG_XFS_QUOTA=y

CONFIG_XFS_POSIX_ACL=y

CONFIG_XFS_RT=y

# CONFIG_XFS_DEBUG is not set

```

This is a system that has been in operation for some time now. The last working kernel was 2.6.38-gentoo-r6. I had problems starting with 2.6.38-r7, but I can't say it was kernel related. I've been fighting back the upgrades of gentoo-sources since I hit that version, but this udev seems to have introduced a bit of complexity so I'm not sure I can go back.

I have a few drives as you can see in the fdisk output, but I don't think I get up to 8. I was seeing that it appeared to report sdd as 8, but that's just a SWAG. Note that the sda drive was a hda drive, but with the udev switch, I understand that I am suppose to switch the naming over.

Cheers!

----------

## BillWho

toneus,

I saw you previous reply and guessed that it wasn't a new installation. I have three drives in one of my systems and didn't have any problems traversing up the kernel ladder.

I recall though before I set the bios to RAID Autodetect / AHCI from RAID Autodetect /ATA my sdb and sdc drives were swapping around. I doubt that can be your problem since it's been up and running, but I thought I'd just throw that out there just in case.

Looking through the setup it all looks good to me. When I got that dreaded prompt, setting root= in the grub line immediately solved it.

I hope you can run it down - I'm at a loss here! If I can think of anything further, I'll certainly let you know. 

Good luck   :Wink: 

----------

## toneus

Thanks for the cycles Bill.

I too have no idea why this is so sideways. I'm this '' close to jumping to a Kubuntu distro. I have to get this server back up and running. The family dns email and other things depend on it. I've been fighting the emerge battles so long, I think I'm ready to go away from you can have it your way for something more canned but with KDE.

Cheers!

----------

## BillWho

 *toneus wrote:*   

> I think I'm ready to go away from you can have it your way for something more canned but with KDE.

 

I wouldn't go that far yet!

For lack of any brilliant ideas, I was just wondering if you updated to a 3.x.x kernel and failed to make module loading adjustments in /etc/conf.d/modules ?

Any changes made to inittab or rc.conf ?

Grasping at straws here    :Confused: 

----------

## gorkypl

Tony,

1) That fdisk outputs are from busybox, yes?

2) Does anything prevent you from pulling the ATA cables out of all disks but the one with linux root and trying to boot then?

3) Do you have CONFIG_SCSI, SONFIG_BLK_DEV_SD enabled in kernel?

4) Have you used '--udev' when using genkernel?

A side note:

My personal opinion is that this whole trouble comes from genkernel. As you don't seem to have a separate /usr, what prevents you from configuring the kernel by hand?

----------

## jburns

You could have a BIOS that changes the disk order.  If you use the --disklabel option with genkernel then you can reference the root partition by UUID instead of by /dev/...  You can get the UUID values with the blkid command.  You specify the UUID value by real_root=UUID=<UUID value>

You can also use UUID values in fstab.

----------

## toneus

 *gorkypl wrote:*   

> Tony,
> 
> 1) That fdisk outputs are from busybox, yes?

 

the fdisk output was from a LiveCD instance, not BusyBox.

 *gorkypl wrote:*   

> 2) Does anything prevent you from pulling the ATA cables out of all disks but the one with linux root and trying to boot then?

 

Just a few screws and some time, but I've burnt plenty of that working on this.

 *gorkypl wrote:*   

> 3) Do you have CONFIG_SCSI, SONFIG_BLK_DEV_SD enabled in kernel?

 

I don't know off the top of my head. Trying to rebuild the last kernel that worked for me with the CONFIG_DEVTMPFS options right now. I'll check after it's done.

 *gorkypl wrote:*   

> 4) Have you used '--udev' when using genkernel?

 

No.

 *gorkypl wrote:*   

> A side note:
> 
> My personal opinion is that this whole trouble comes from genkernel. As you don't seem to have a separate /usr, what prevents you from configuring the kernel by hand?

 

I don't have a real preference other than the more wordy discription of options you get in genkernel.

----------

## gorkypl

 *toneus wrote:*   

>  *gorkypl wrote:*   Tony,
> 
> 1) That fdisk outputs are from busybox, yes? 
> 
> the fdisk output was from a LiveCD instance, not BusyBox.
> ...

 

That is bad - we want to see how busybox sees the drives - that is how they are mapped after booting. 

Simple ls /dev/ from busybox would be also enough.

 *toneus wrote:*   

> 
> 
>  *gorkypl wrote:*   2) Does anything prevent you from pulling the ATA cables out of all disks but the one with linux root and trying to boot then? 
> 
> Just a few screws and some time, but I've burnt plenty of that working on this.
> ...

 

Your choice then, but I'd give it a try.

 *toneus wrote:*   

> 
> 
>  *gorkypl wrote:*   4) Have you used '--udev' when using genkernel? 
> 
> No.
> ...

 

Aaaah, then definitely try rebuilding kernel then with this option enabled.

----------

## toneus

UPDATE

I've found a little stability at this point. Last night at the end of the exchanges, I decided to mask gentoo-sources back to something pre 2.6.38 and recompile. Once I did this, I still had some failures on boot, but the system found itself and took me all the way to my desktop (which surprised the hell out of me).

As I started to dig through the ashes, I noticed that much of the details remained the same, and I didn't see a smoking gun. Please remember that I found myself in this mess because I thought I was running a regular old emerge world update, nothing was screaming at me that I was about to land in device hell. In retrospect, I now realize that there is a combination of gentoo sources > ~2.7 and ~udev-181 that really demanded more attention.

Still masked back around 2.6.38-gentoo-r6 I did some more investigating of the udev and device paths. After reading Daniel Drake's guide, it became clear that udev did indeed have some persistent rules that I was unaware had been created (see `ls -lR /dev/disk` output below).

gorkpy & Hu, I now know why the BusyBox was preferred, but I would not have known how to connect the dots back to the rules.

Bill, you had a good question when you asked about the udev rules, but I didn't know about the `ls -lR /dev/disk` listing.

So at this point, I see this as an exercise of understanding the persistent rules, updating /etc/fstab and grub.conf to match. By no means am I an expert here, just after being hit in the head for 24 hrs it is starting to sink in.

```
zeus disk # ls -lR /dev/disk

/dev/disk:

total 0

drwxr-xr-x 2 root root 400 Mar 26 23:23 by-id

drwxr-xr-x 2 root root 340 Mar 26 23:23 by-path

drwxr-xr-x 2 root root 200 Mar 26 23:23 by-uuid

/dev/disk/by-id:

total 0

lrwxrwxrwx 1 root root  9 Mar 26 23:23 ata-Maxtor_6L300S0_L61QZ9EG -> ../../sdb

lrwxrwxrwx 1 root root 10 Mar 26 23:23 ata-Maxtor_6L300S0_L61QZ9EG-part1 -> ../../sdb1

lrwxrwxrwx 1 root root  9 Mar 26 23:23 ata-ST31000528AS_9VP772BC -> ../../sdd

lrwxrwxrwx 1 root root 10 Mar 26 23:23 ata-ST31000528AS_9VP772BC-part1 -> ../../sdd1

lrwxrwxrwx 1 root root 10 Mar 26 23:23 ata-ST31000528AS_9VP772BC-part2 -> ../../sdd2

lrwxrwxrwx 1 root root 10 Mar 26 23:23 ata-ST31000528AS_9VP772BC-part5 -> ../../sdd5

lrwxrwxrwx 1 root root  9 Mar 26 23:23 ata-WDC_WD10EACS-00D6B1_WD-WCAU45872827 -> ../../sdc

lrwxrwxrwx 1 root root 10 Mar 26 23:23 ata-WDC_WD10EACS-00D6B1_WD-WCAU45872827-part1 -> ../../sdc1

lrwxrwxrwx 1 root root 10 Mar 26 23:23 ata-WDC_WD10EACS-00D6B1_WD-WCAU45872827-part2 -> ../../sdc2

lrwxrwxrwx 1 root root  9 Mar 26 23:23 ata-WDC_WD2500KS-00MJB0_WD-WCANK2528468 -> ../../sda

lrwxrwxrwx 1 root root 10 Mar 26 23:23 ata-WDC_WD2500KS-00MJB0_WD-WCANK2528468-part1 -> ../../sda1

lrwxrwxrwx 1 root root  9 Mar 26 23:23 wwn-0x5000c5002063b64f -> ../../sdd

lrwxrwxrwx 1 root root 10 Mar 26 23:23 wwn-0x5000c5002063b64f-part1 -> ../../sdd1

lrwxrwxrwx 1 root root 10 Mar 26 23:23 wwn-0x5000c5002063b64f-part2 -> ../../sdd2

lrwxrwxrwx 1 root root 10 Mar 26 23:23 wwn-0x5000c5002063b64f-part5 -> ../../sdd5

lrwxrwxrwx 1 root root  9 Mar 26 23:23 wwn-0x50014ee20259d625 -> ../../sdc

lrwxrwxrwx 1 root root 10 Mar 26 23:23 wwn-0x50014ee20259d625-part1 -> ../../sdc1

lrwxrwxrwx 1 root root 10 Mar 26 23:23 wwn-0x50014ee20259d625-part2 -> ../../sdc2

/dev/disk/by-path:

total 0

lrwxrwxrwx 1 root root  9 Mar 26 23:23 pci-0000:00:04.0 -> ../../hdb

lrwxrwxrwx 1 root root 10 Mar 26 23:23 pci-0000:00:04.0-part1 -> ../../hda1

lrwxrwxrwx 1 root root 10 Mar 26 23:23 pci-0000:00:04.0-part2 -> ../../hda2

lrwxrwxrwx 1 root root 10 Mar 26 23:23 pci-0000:00:04.0-part3 -> ../../hda3

lrwxrwxrwx 1 root root  9 Mar 26 23:23 pci-0000:00:05.0-scsi-0:0:0:0 -> ../../sda

lrwxrwxrwx 1 root root 10 Mar 26 23:23 pci-0000:00:05.0-scsi-0:0:0:0-part1 -> ../../sda1

lrwxrwxrwx 1 root root  9 Mar 26 23:23 pci-0000:00:05.0-scsi-1:0:0:0 -> ../../sdb

lrwxrwxrwx 1 root root 10 Mar 26 23:23 pci-0000:00:05.0-scsi-1:0:0:0-part1 -> ../../sdb1

lrwxrwxrwx 1 root root  9 Mar 26 23:23 pci-0000:00:05.1-scsi-0:0:0:0 -> ../../sdc

lrwxrwxrwx 1 root root 10 Mar 26 23:23 pci-0000:00:05.1-scsi-0:0:0:0-part1 -> ../../sdc1

lrwxrwxrwx 1 root root 10 Mar 26 23:23 pci-0000:00:05.1-scsi-0:0:0:0-part2 -> ../../sdc2

lrwxrwxrwx 1 root root  9 Mar 26 23:23 pci-0000:00:05.1-scsi-1:0:0:0 -> ../../sdd

lrwxrwxrwx 1 root root 10 Mar 26 23:23 pci-0000:00:05.1-scsi-1:0:0:0-part1 -> ../../sdd1

lrwxrwxrwx 1 root root 10 Mar 26 23:23 pci-0000:00:05.1-scsi-1:0:0:0-part2 -> ../../sdd2

lrwxrwxrwx 1 root root 10 Mar 26 23:23 pci-0000:00:05.1-scsi-1:0:0:0-part5 -> ../../sdd5

/dev/disk/by-uuid:

total 0

lrwxrwxrwx 1 root root 10 Mar 26 23:23 06229aa3-d2ca-41b3-a5aa-010c33af2cfc -> ../../hda1

lrwxrwxrwx 1 root root 10 Mar 26 23:23 159f1bd3-d8d1-42a0-a4ab-cc0b5b1483c6 -> ../../hda2

lrwxrwxrwx 1 root root 10 Mar 26 23:23 33fd9b91-51f0-405c-9d0e-fc63791737a1 -> ../../sdc1

lrwxrwxrwx 1 root root 10 Mar 26 23:23 3fd0c3a7-6550-4121-bdfd-c7ff7b08b56c -> ../../hda3

lrwxrwxrwx 1 root root 10 Mar 26 23:23 468bd936-d8c5-4af2-ac09-e4eb68e60d99 -> ../../sdd1

lrwxrwxrwx 1 root root 10 Mar 26 23:23 68ea0a1c-4f32-457a-a85f-5c90da9744fd -> ../../sda1

lrwxrwxrwx 1 root root 10 Mar 26 23:23 91493f50-aed8-48de-902e-a5d1770106f2 -> ../../sdd5

lrwxrwxrwx 1 root root 10 Mar 26 23:23 afe2006a-b8eb-4457-b2d7-99ae117ad2cd -> ../../sdb1

```

----------

## BillWho

toneus,

Glad to hear that you made some progress. What I don't understand, and therefore can't explain, is why you have a mixture of sda and hda. Perhaps you do have a mixture of sata/ide ?

The /dev/disk/by-path section shows hda1,2 and 3 and only sda1 - it's not showing your root device. I would suggest what jburns mentioned and identify the device by UUID rather than /dev.

Use blkid to identify your root partition and use root=UUID=1be64dc7-35f5-4703-b1a5-094e1feb5031 in the kernel grub line. Naturally, use the correct UUID.

You're almost there   :Wink: 

----------

## Jaglover

hd* devices are not supported by udev for some time now, migrate to libata.

----------

## toneus

 *BillWho wrote:*   

> toneus,
> 
> Glad to hear that you made some progress. What I don't understand, and therefore can't explain, is why you have a mixture of sda and hda. Perhaps you do have a mixture of sata/ide ?
> 
> The /dev/disk/by-path section shows hda1,2 and 3 and only sda1 - it's not showing your root device. I would suggest what jburns mentioned and identify the device by UUID rather than /dev.
> ...

 

I completely agree!

I just ran a little test, trying to boot into the 3.2 kernel cycling through the various paths, and your post matches up exactly with what I'm seeing.

Yes. my (what I'll call) first drive is an IDE drive. I don't recall, but it has been there so long it's likely even jumpered as Master, but it is definitely listed first in my BIOS boot order. That drive has always been /dev/hda to me. When this udev merry-go-round started, I understood (maybe incorrectly) that the hda drives would switch over to the sda nomenclature. So I updated /etc/fstab to what you see in the post.

Last night, I was able to boot into 2.6 using either /dev/sda3, or /dev/hda3. So it appears that the hda has some legacy in 2.6.

Reviewing the `ls -lR /dev/disk` output, I noticed exactly what you mention, the /dev/disk/by-id listing section doesn't contain any references to hda like the others, and the sda links look incomplete. So I made a hypothesis that the paths are getting switched in the 3.2 kernel, and hda is not valid at all anymore.

I determined that the 3.2 kernel wants to call my IDE drive the next available letter (sde). When I put that in grub, I did get past the panic, but swap didn't mount right (obviously, because it's not listed to match).

Your right, and remembering the UUID comment from jburns post I'm investigating that now.

So I see that I have two things I need to discover.

1) How do I craft up the lines in /etc/fstab to match the UUID nomenclature?

2) Write the appropriate rules for udev to find my IDE drive?

----------

## toneus

 *Jaglover wrote:*   

> hd* devices are not supported by udev for some time now, migrate to libata.

 

Good Lord!

Now what do I have to go learn?

----------

## BillWho

toneus,

 *Quote:*   

> 1) How do I craft up the lines in /etc/fstab to match the UUID nomenclature? 

 

Fstab is easy to setup with UUIDs. Just use blkid to match the /dev, then copy and paste e.g:

```
/dev/sda4: LABEL="store" UUID="8225aa30-69c0-4fa9-a758-21214ce94259" TYPE="ext4"
```

In  fstab

```
#/dev/sda4   

UUID=8225aa30-69c0-4fa9-a758-21214ce94259   /media/store         ext4      defaults,errors=remount-ro,user,noatime      0 2

```

I keep the old #/dev/sda4  reference so I know what the device is.

You shouldn't have to mess with udev rules if you convert the /dev references to UUID!

Good luck   :Wink: 

----------

## Jaglover

 *toneus wrote:*   

>  *Jaglover wrote:*   hd* devices are not supported by udev for some time now, migrate to libata. 
> 
> Good Lord!
> 
> Now what do I have to go learn?

 

It's very likely all your trouble is caused by deprecated kernel configuration. Even the newest kernels still have EIDE section, udev users should disable it completely because udev does not create hd devices. Search these forums, we have plenty of threads about it. Search for libata migration.

----------

