# Kernel 2.6.29.2 /"Could not find the root block device in ."

## uli

Hi all,

I am trying to compile and run the kernel 2.6.29.2.

So I have copied the .config file from my running kernel 2.6.26.8 into the new kernel folder and applied make oldconfig. A lot of new options and so I have taken the default values.

After genkernel --no-clean all I try to boot from the new kernel.

Now I get the message during boot "Could not find the root block device in ." and so on.

I have checked in the forums but I don't find any good reason what is going on here.

As the old kernel 2.6.26.8 is booting without a problem.

fdisk -l says:

 *Quote:*   

>    Device Boot      Start         End      Blocks   Id  System
> 
> /dev/hda1   *           1        4177    33551721    c  W95 FAT32 (LBA)
> 
> /dev/hda2            4178        4190      104422+  83  Linux
> ...

 

grub.conf is specifying root=/dev/ram0 and real_root=/dev/hda5 which should be correct also for the new kernel.

Any tip available? Is some definition wrong in .config? Thanks

Uli

----------

## NeddySeagoon

uli,

Please post your lspci output

----------

## uli

lspci reports (with running kernel of course):

 *Quote:*   

> 00:00.0 Host bridge: nVidia Corporation nForce2 AGP (different version?) (rev c1)
> 
> 00:00.1 RAM memory: nVidia Corporation nForce2 Memory Controller 1 (rev c1)
> 
> 00:00.2 RAM memory: nVidia Corporation nForce2 Memory Controller 4 (rev c1)
> ...

 

Uli

----------

## stan666

maybe your kernel is not capable of reading the file-system of your harddisk...   :Question: 

Or try to boot without ramdisk, by removing the real_root option and altering the "root" option to root=/dev/hda5

----------

## uli

I use the kernel 2.6.29.2 downloaded from www.kernel.org. I have this done for some other kernels before without any problem. No change of hardware.

So what you say means that the new kernel would have changed the file system? The hardisk file system has not changed. It still boots with the older kernels.

Uli

----------

## stan666

 *uli wrote:*   

> So what you say means that the new kernel would have changed the file system?

 

I mean, maybe your new kernel is missing i.e. ext3 or reiser support, could you pls tell us what filesystem hda5 has and check/post the "_FS" options of your kernel config by doing i.e. 

```

grep _FS .config     

CONFIG_IDE_PROC_FS=y                         

CONFIG_SCSI_PROC_FS=y                        

CONFIG_SENSORS_FSCHER=m                      

CONFIG_SENSORS_FSCPOS=m                      

# CONFIG_SENSORS_FSCHMD is not set           

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_FS_XATTR=y                       

CONFIG_EXT3_FS_POSIX_ACL=y                   

CONFIG_EXT3_FS_SECURITY=y                    

# CONFIG_EXT4_FS is not set                  

CONFIG_FS_MBCACHE=y                          

CONFIG_REISERFS_FS=y                         

CONFIG_REISERFS_FS_XATTR=y                   

CONFIG_REISERFS_FS_POSIX_ACL=y               

CONFIG_REISERFS_FS_SECURITY=y                

CONFIG_JFS_FS=y                              

CONFIG_FS_POSIX_ACL=y                        

CONFIG_XFS_FS=y                              

# CONFIG_GFS2_FS is not set                  

# CONFIG_OCFS2_FS is not set                 

# CONFIG_BTRFS_FS is not set                 

CONFIG_AUTOFS_FS=y                           

CONFIG_AUTOFS4_FS=y

CONFIG_FUSE_FS=y

CONFIG_ISO9660_FS=y

CONFIG_UDF_FS=y

CONFIG_FAT_FS=y

CONFIG_MSDOS_FS=y

CONFIG_VFAT_FS=y

CONFIG_NTFS_FS=y

CONFIG_PROC_FS=y

# CONFIG_CONFIGFS_FS is not set

# CONFIG_ADFS_FS is not set

# CONFIG_AFFS_FS is not set

# CONFIG_ECRYPT_FS is not set

# CONFIG_HFS_FS is not set

# CONFIG_HFSPLUS_FS is not set

# CONFIG_BEFS_FS is not set

# CONFIG_BFS_FS is not set

# CONFIG_EFS_FS is not set

# CONFIG_VXFS_FS is not set

CONFIG_MINIX_FS=y

# CONFIG_OMFS_FS is not set

# CONFIG_HPFS_FS is not set

# CONFIG_QNX4FS_FS is not set

CONFIG_ROMFS_FS=y

# CONFIG_SYSV_FS is not set

# CONFIG_UFS_FS is not set

CONFIG_NFS_FS=y

CONFIG_SMB_FS=y

# CONFIG_NCP_FS is not set

# CONFIG_CODA_FS is not set

# CONFIG_AFS_FS is not set

# CONFIG_DEBUG_FS is not set

```

maybe something went wrong during "make oldconfig"

----------

## uli

Here is the result of grep _FS .config:

 *Quote:*   

> CONFIG_IDE_PROC_FS=y
> 
> CONFIG_SCSI_PROC_FS=y
> 
> CONFIG_SENSORS_FSCHER=m
> ...

 

Sorry, but how to show the filesystem of /dev/hda5?  IIRC it is standard system, is this Ext3?

Thx

Uli

----------

## uli

/etc/fstab shows ext3 for /dev/hda5.

I have also tried not to set 

CONFIG_EXT3_FS=y   instead of =m

but this does not help.

Uli

----------

## uli

 *stan666 wrote:*   

> maybe your kernel is not capable of reading the file-system of your harddisk...  
> 
> Or try to boot without ramdisk, by removing the real_root option and altering the "root" option to root=/dev/hda5

 

Booting without ramdisk does also not work

Uli

----------

## stan666

Maybe this thread helps (right (sata) driver missing?)...

----------

## NeddySeagoon

uli,

You are still using the old IDE driver. Now is a good time to make the move to the SCSI libata drivers.

Follow this post except on the 

```
<*> Serial ATA (prod) and Parallel ATA (experimental) drivers  ---> 
```

menu, you need to choose

```
[*]   ATA SFF support

<*>     AMD/NVidia PATA support
```

I have been using that setup since 2.6.23 and its been good to me.

Everything else in that post applies to you.

----------

## uli

 *Quote:*   

> Maybe this thread helps (right (sata) driver missing?)...

 

Yes, I have already checked this thread before I have started the new one. For a simple reason I have started again: the thread is solved but does not tell about the solution. So the advise of NeddySeagoon is more helpful.

 *Quote:*   

> You are still using the old IDE driver. Now is a good time to make the move to the SCSI libata drivers. 

 

I have tried to follow your recommendation but I still get the same message.

So I have catched the idea in your answer that a driver is wrong and thus the existing /dev/hda5 is not found as root disk.

Now I'm a bit confused, please apologize for being a bit stupid.

I have noticed that today the harddisk devices are adressed by /sda istead of /hda. Is this because of SCSI? I have no experience with that as the quite old but working computer is using the old IDE disks.

But if this is the case then IMO it would be necessary to change grub.conf (real_root=/dev/sda5 instead of real_root=/dev/hda5?) and to change /etc/fstab also to sda.

Now when I change this and try to boot and it fails again: all other running kernels don't boot anymore because of the changed fstab?

Thx for any further insights.

Uli

----------

## NeddySeagoon

uli,

Correct.  

You need to change grub.conf to use /dev/sd...  and /etc/fstab to use /dev/sd...

As you say, its because the disk device drivers are now consolidated under the SCSI high level driver, regardless of their actual electrical interface to the Pc.

----------

## uli

Hi NeddySeagoon,

yes now it runs after changing hda-references in grub.conf, fstab and exportfs to sda.

The system boots correctly now.

Just a little problem remains: it is reported that the avahi-daemon does not start. Mmmhh, why?

Best

Uli

----------

## NeddySeagoon

uli

avahi-daemon is a seperate problem.

Does dmesg show any erroor messages, when you try to start it manually, do you get errors ?

Post that information in a new thread.

----------

## uli

Hi NeddySeagoon,

yes the thread is solved. It works now.

Regarding the avahi-daemon the problem has been the

"Enable POSIX file locking API" in File systems in .config with the new kernel.

It must be set to yes.

This has caused a lot of effects including avahi-damon and error messages with emerge --sync

Thanks   :Smile: 

Uli

----------

