# My Root Device Hurts (and won't boot)  [SOLVED]

## MandM

Thanks in advance for the read!

I'm working on a fresh install on a dell latitude e6500 install.  It currently has ubuntu and I'm wanting to put the linux without training wheels on it.

I belive my issue lies with the wrong device driver for the hard drive in my kernel config.

```
 lspci |grep SATA

00:1f.2 RAID bus controller: Intel Corporation Mobile 82801 SATA RAID Controller (rev 03)
```

When I attempt to boot, I'm stalling out with the following message:

```
VFS: cannot open root device "sda?" or unknown-block

Please appent a correct "root=" boot option:  Here are the available options:

Kernel Panic not syncing: VFS: Unable to mount root fs on unkonw block (0,0)

```

I'm working on getting it down accurately, but the screen only stays up for a couple seconds before shutting everything down.

Here's the SATA section from my config file:

```

CONFIG_ATA=y

# CONFIG_ATA_NONSTANDARD is not set

CONFIG_ATA_ACPI=y

CONFIG_SATA_PMP=y

CONFIG_SATA_AHCI=y

CONFIG_SATA_SIL24=m

CONFIG_ATA_SFF=y

CONFIG_SATA_SVW=m

CONFIG_ATA_PIIX=y

CONFIG_SATA_MV=m

CONFIG_SATA_NV=m

CONFIG_PDC_ADMA=m

CONFIG_SATA_QSTOR=m

CONFIG_SATA_PROMISE=m

CONFIG_SATA_SX4=m

CONFIG_SATA_SIL=m

CONFIG_SATA_SIS=m

CONFIG_SATA_ULI=m

CONFIG_SATA_VIA=m

CONFIG_SATA_VITESSE=m

CONFIG_SATA_INIC162X=m

```

I've tried a couple different module configurations, but may be barking up the wrong tree.  I'm going to do a few more reboots and verify the output.

Any suggestions?

Thanks

----------

## poly_poly-man

output's close enough.  :Razz: 

Try enabling all those as yes instead of modules.

Also, this may help: http://ubuntuforums.org/showthread.php?t=590931

----------

## MandM

 *poly_poly-man wrote:*   

> output's close enough. 
> 
> Try enabling all those as yes instead of modules.
> 
> Also, this may help: http://ubuntuforums.org/showthread.php?t=590931

 

Thanks a TON for the tip...

I did convert everything from modules - I did a search for SATA in the file.

Also, I went to the link above and looked for the options in the bios.  No dice on anything mentioning raid.  

There were three options for SATA configuration, but since the current ubuntu boots as is, I'm not sure if I want to change it.

The ubuntu config looks like this (if it helps):

```
CONFIG_SATA_AHCI=m

CONFIG_SATA_INIC162X=m

CONFIG_SATA_MV=m

CONFIG_SATA_NV=m

CONFIG_SATA_PMP=y

CONFIG_SATA_PROMISE=m

CONFIG_SATA_QSTOR=m

CONFIG_SATA_SIL=m

CONFIG_SATA_SIL24=m

CONFIG_SATA_SIS=m

CONFIG_SATA_SVW=m

CONFIG_SATA_SX4=m

CONFIG_SATA_ULI=m

CONFIG_SATA_VIA=m

CONFIG_SATA_VITESSE=m

```

I guess I'll keep fiddling around!

----------

## mikegpitt

Another option is to use genkernel to compile the kernel, which will create an initramfs which should load the correct driver.

----------

## pappy_mcfae

Or, since you know the device, only turn it on. Why have all that excess mess? Turn on the Intel driver and be done with it.

Blessed be!

Pappy

----------

## MandM

 *pappy_mcfae wrote:*   

> Or, since you know the device, only turn it on. Why have all that excess mess? Turn on the Intel driver and be done with it.
> 
> 

 

Now that would be the preferred option.  For the sake of getting better... and knowing exactly what I've got going, I'd prefer not to use genkernel.

On the other hand, if I've turned on the options that look good, turned on various options in the bios, and turned every(SATA)thing on, and it's still not working  - I am running out of options other than genkernel.

----------

## pappy_mcfae

In that case, send your .config and the results of lspci -n and cat /proc/cpuinfo as well as your /etc/fstab file and I'll take a look to see what's up.

Blessed be!

Pappy

----------

## MandM

Pappy - you're all over the board!

My config is here to save space on this post:

http://mandm.pastebin.com/m6603b911

lspci -n goes something like so....

```
# lspci -n

00:00.0 0600: 8086:2a40 (rev 07)

00:01.0 0604: 8086:2a41 (rev 07)

00:19.0 0200: 8086:10f5 (rev 03)

00:1a.0 0c03: 8086:2937 (rev 03)

00:1a.1 0c03: 8086:2938 (rev 03)

00:1a.2 0c03: 8086:2939 (rev 03)

00:1a.7 0c03: 8086:293c (rev 03)

00:1b.0 0403: 8086:293e (rev 03)

00:1c.0 0604: 8086:2940 (rev 03)

00:1c.1 0604: 8086:2942 (rev 03)

00:1c.2 0604: 8086:2944 (rev 03)

00:1c.3 0604: 8086:2946 (rev 03)

00:1d.0 0c03: 8086:2934 (rev 03)

00:1d.1 0c03: 8086:2935 (rev 03)

00:1d.2 0c03: 8086:2936 (rev 03)

00:1d.7 0c03: 8086:293a (rev 03)

00:1e.0 0604: 8086:2448 (rev 93)

00:1f.0 0601: 8086:2917 (rev 03)

00:1f.2 0104: 8086:282a (rev 03)

00:1f.3 0c05: 8086:2930 (rev 03)

01:00.0 0300: 10de:06eb (rev a1)

03:01.0 0607: 1180:0476 (rev ba)

03:01.1 0c00: 1180:0832 (rev 04)

03:01.2 0805: 1180:0822 (rev 21)

03:01.3 ffff: 1180:0843 (rev ff)

0c:00.0 0280: 8086:4232

```

cpuinfo sometimes shows up in a dress -

```
 # cat /proc/cpuinfo 

processor   : 0

vendor_id   : GenuineIntel

cpu family   : 6

model      : 23

model name   : Intel(R) Core(TM)2 Duo CPU     T9400  @ 2.53GHz

stepping   : 6

cpu MHz      : 800.000

cache size   : 6144 KB

physical id   : 0

siblings   : 2

core id      : 0

cpu cores   : 2

apicid      : 0

initial apicid   : 0

fpu      : yes

fpu_exception   : yes

cpuid level   : 10

wp      : yes

flags      : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl pni monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr sse4_1 lahf_lm

bogomips   : 5053.98

clflush size   : 64

cache_alignment   : 64

address sizes   : 36 bits physical, 48 bits virtual

power management:

processor   : 1

vendor_id   : GenuineIntel

cpu family   : 6

model      : 23

model name   : Intel(R) Core(TM)2 Duo CPU     T9400  @ 2.53GHz

stepping   : 6

cpu MHz      : 800.000

cache size   : 6144 KB

physical id   : 0

siblings   : 2

core id      : 1

cpu cores   : 2

apicid      : 1

initial apicid   : 1

fpu      : yes

fpu_exception   : yes

cpuid level   : 10

wp      : yes

flags      : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl pni monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr sse4_1 lahf_lm

bogomips   : 5053.98

clflush size   : 64

cache_alignment   : 64

address sizes   : 36 bits physical, 48 bits virtual

power management:

```

... and /etc/fstab moonlights here from time to time -

```
# cat /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/sda2      /      ext3      noatime      0 1

/dev/sda6      none      swap      sw      0 0

/dev/cdrom      /mnt/cdrom   auto      noauto,ro   0 0

/dev/sda7      /home      ext3      noatime      0 1

#/dev/fd0      /mnt/floppy   auto      noauto      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

```

Thanks in advance!

----------

## pappy_mcfae

I just love repeat customers. And you have a very twisted sense of humor. I appreciate that in a human. 

I started from scratch, and gave you the Pappy treatment again. You should definitely notice a difference.

Click here for your new .config. Compile as is.

For the best results, please do the following:

1) Move your .config file out of your kernel source directory (/usr/src/linux-2.6.27-gentoo-r8 ).

2) Issue the command make mrproper. This is a destructive step. It returns the source to pristine condition. Unmoved .config files will be deleted!

3) Copy my .config into your source directory.

4) Issue the command make && make modules_install.

5) Install the kernel as you normally would, and reboot.

6) Once it boots, please post /var/log/dmesg so I can see how things loaded.

I assumed the nVidia device was the display. Therefore, I set you up for VESA VGA frame buffer support. This is the setting to use to prevent the nvidia-drivers from complaining about kernel settings. Remember to change your symlink to this kernel version before you emerge -av nvidia-drivers.

Blessed be!

Pappy

----------

## hyperbole

Hi,

I have a similar problem problem, well in a way. My SCSI drives modules are loaded before md Software RAID modules and root filesystem is unable to load as its located on md2 device. 

How does kernel decide to load its inbuilt modules? Is there an order in which they are loaded and can it be modified?

Thanks

----------

## MandM

Pappy!  

I would love to have a 10th of the knowledge you have on kernel configs.  I COMPLETELY appreciate the help.  My kernel is building as i type...

...scrolling...... fun........

oh sorry -back on task.  As soon as I have it in and configured, I'll post the results.

Thank you sir!

----------

## MandM

Ah HA!  Another working Pappy contraption!  A masterpiece!  A work of Art!  

I have a booting system that by all accounts is a glorious thing to behold!

Thanks once again pappy!

The only downside to this is... I've learned very little.  But thats on me.  I'll be spending the next couple days going over the config and seeing what's the deal  ee  oh... or something hip like that.

From the bottom of my heart (or somewhere else that's actually pleasant)  my appreciation powers are specifically pointed in your direction!

----------

## pappy_mcfae

:blush:

Thanks for the kind words. I do what I can. If I could just translate some of that kernel knowledge into better knowledge of drupal, I'd be really happy. All things in their time, though.

It is my pleasure to help folks get the foundation of their system in order. Without a good foundation, you can't build anything. 

The less Microsoft there is in the world, the better I like it. hehehe

Blessed be!

Pappy

----------

## pappy_mcfae

 *hyperbole wrote:*   

> Hi,
> 
> I have a similar problem problem, well in a way. My SCSI drives modules are loaded before md Software RAID modules and root filesystem is unable to load as its located on md2 device. 
> 
> How does kernel decide to load its inbuilt modules? Is there an order in which they are loaded and can it be modified?
> ...

 

You should never load hard disk drivers as modules, be they SCSI, SATA, or ATA/ATAPI/MFM/RLL. Your md should also not be modules. Those things need to be compiled into the kernel. They also need to be spelled out properly in the /etc/fstab file. Also note that all file system settings should be compiled in as well. 

There are just things that don't work as modules...and I don't support initrd.

Blessed be!

Pappy

----------

## MandM

 *pappy_mcfae wrote:*   

> 
> 
> There are just things that don't work as modules...and I don't support initrd.
> 
> 

 

If you did... I think we'd all get the wrong idea about you...  I mean, what kind of person does?  Ewww!

 :Very Happy: 

----------

## pappy_mcfae

Only someone with a masochistic streak a mile wide, or a Slackware-12 user. They're really not that hard to set up, but why? To me, initrd has always been a hack to compensate for bad kernel configuration practices.

Blessed be!

Pappy

----------

