# [SOLVED]; genkernel !! Could not find the root block devic

## stardotstar

Hi boot gurus and kernel kings!

I am trying to get my eeePC to book via its internal solid state (/dev/sda1) ext2 boot partition using the genkernel.

So far I have a solid install of the gentoo handbook on the external hdd /dev/sdc1 and I have installed the genkernel initrd and kernel, grub etc on the boot partition (which was successfully automounted by the genkernel-ator) and thereafter I have configured things as follows:

Once I restart the machine the little pc boots through to Grub and offers the Genkernel option which I accept and it begins to boot.

At first I thought it was failing - hanging at - 

```
Driver 'sd' needs updating - please use bus_type methods.

Driver 'sr' needs updating - please use bus_type methods.

...

ACPI: PCI Interrupt ...

scsi2 : ata_piix

scsi2 : ata_piix

ata2: SATA max UDMA/133 cmd 0x1f0 ctl 0x3f6 bmdma 0xffa0 irq 14

ata2: PATA max UDMA/100 cmd 0x170 ctl 0x376 bmdma 0xffa8 irq15

```

stage

but in fact it must have been just doing Genkernel autodetect and automagical stuff because after leaving it be for a few minutes it suddenly kicked off again only to finally fail with

```

>> Activating mdev

ls: : No such file or directory

>> Determining root device...

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

!! Could not find the root block device in .

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

root block device () :: shell

To leave and try again just press <Ctrl>+D

```

So I find then I can indeed, within the BusyBox ash environment, create a mount point, and mount, the ext3 fs on which my installed system is - and it appears fully in tact and sane.

I can see my fstab and everything as it should be.

Is there a kernel option I need to pass because the disk is an external USB or something - I figured it was slow ( I removed udev and added slowusb to the end of the kernel line as a test) - but the valid root 

I have been having great difficulty getting a gentoo install to stick on the internal drive (4G solid state) and wanted to see if it was the disk or something else - the installation to the HDD went perfectly - well, until now...

after using slowusb or just by luck I then punch in /dev/sdc1 and it finishes booting albeit with a swathe of udev errors - but then I didn't tune the install I just blasted ahead to get it running... Which it is (sort of) since I can login and yet the speed of the boot is impossible to use (maybe 5 minutes at the first stall and then another few stuffing around waiting for /dev/sdc1 to become available>?

Am i going to have any joy with this - i know the genkernel is too large for this in the end and will begin to shave it back now --- other suggestions would be most appreciated.

Will

Any suggestions on where the boot process is failing and why...

----------

## shdriesner

I am having a similar issue with gentoo-sources-2.6.25-r1 with my internal hard drive (IDE).

My root device is /dev/hda3

I just performed the upgrade last night from gentoo-sources-2.6.24-r5 (which was running fine).

My upgrade flow was as follows (I may have the kernel config names wrong - I'm not currently on the machine with the problem)

```

% emerge gentoo-sources-2.6.25-r1

% cp /etc/kernels/kernel-config-2.6.24-gentoo-r5 /usr/src/linux-2.6.25-gentoo-r1/.config

% cd /usr/src/linux-2.6.25-gentoo-r1

% make oldconfig

% cp .config /etc/kernels/kernel-config-2.6.25-gentoo-r1

% pushd /usr/src

% rm /usr/src/linux

% ln -s linus-2.6.25-gentoo-r1 linux

% genkernel --boot=grub --splash=livecd-2007.0 all

```

After this I double check my grub config and make sure any kernel dependent packages are re-emerged, then I reboot.  Generally this flow works just fine, but sometimes there are kernel parms that need to be updated that did not get caught during the 'make oldconfig' step, or there are issues with system packages that need to be update/re-emerged.

Recently I performed an 'emerge -e system' which borked during samba compile due to an issue with autoconf-2.62.

I masked autoconf-2.62, downgraded autoconf to v2.61, and re-emerged samba, but I did not do another 'emerge -e system' before I upgraded my kernel.  I will try this and see if this helps at all.

I will also monitor this thread and post any updates I have when I have them.

----------

## Seek

I experience the same issue when I try to update to 2.6.25-gentoo-r1 on two of my machines (amd64, x86).

2.6.24.x kernels have been working fine. The only thing I changed in grub.conf were the version numbers.

There are no sdX or hdX devices in my initramfs/busybox environment, but I'm not 100% sure wether there should be one.

I also tried to recompile busybox and made a new initrd, but theres still the same message:

```
!! BLock device /dev/sda3 is not a valid root device...

!! Could not find the root block device in .
```

Wait a minute.. ^^

I just found this https://bugs.gentoo.org/show_bug.cgi?id=212031

Seems like updating genkernel migtht help here. I'll give it a try.

----------

## Seek

ok, updating to genkernel-3.4.10_pre9 solved the issue on both machines.   :Very Happy: 

I think genkernel-3.4.10 will hit the tree soon anyway.

----------

## stardotstar

this is most intriguing because I have this with a .24 kernel - r4?? don;t have the machine in front of me...

I have tried recompiling the kernel to no avail - it boots to bork faster but is still borked  :Wink: 

----------

## shdriesner

Will try the new genkernel tonight and post results...thanks for the info.

----------

## shdriesner

 *shdriesner wrote:*   

> Will try the new genkernel tonight and post results...thanks for the info.

 

Upgrading to genkernel (pre9) made kernel 2.6.25-r1 bootable, so the immediate issue is fixed.  One thing that I did see was that my graphical console images wouldn't stay put...they would scroll up as the bootup info was printed to the screen, and also I have to Alt-F7 to get to the KDM login screen.  I don't know if this is because of some of the choices I made when running 'make oldconfig' or if it's something specific to kernel 2.6.25, but that's for another thread...

Either way, I think we can mark this thread with SOLVED.

----------

