# [SOLVED] Cannot open root dev "sda3" or unknown-block (0,0)

## Joseph_sys

My motherboard went, since the system is few years old most likely I'll need to change the CPU with the motherboard.

I'll keep the hard drives (SATA HD).

Do I need to recompile the "world" if I change the CPU from AMD to Intel or different CPU?Last edited by Joseph_sys on Wed Nov 17, 2010 6:18 pm; edited 2 times in total

----------

## Veldrin

this has been discussed several times in the forum.

in short, you do not need to.

especially if you give that little information

V.

----------

## NeddySeagoon

Joseph_sys,

You will need to rebuild your kernel - it may not even boot if you switch between AMD and Intel (in either direction).

For world, it depends on your make.conf info and the CPUs involved.  

I would expect it to mostly work, except for multimedia applications built to take advantage of your old CPUs multimedia instructions. 

You will get Illegal Instruction Exceptions when your new CPU tries to execute an instruction that it doesn't have and the application will be terminated.

Such problems can take a long time to come to light - the incompatible instructions may only exist in a rarely used code path.

I would rebuild everything for such a CPU switch - its better than loosing work in a few weeks time because you thought everything was ok but its not.

----------

## Joseph_sys

Thanks for the update Neddy, I was suspecting it.

I don't know what I'm going to put in there yet but I'm preparing for worse.  Rebuilding it will not be to too difficult but to collect all the new information takes time.

I'll need to dig out all the new parameters (drivers etc) for the new mother-board and cpu.

----------

## NeddySeagoon

Joseph_sys,

The new hardware, other than the CPU, only affects the kernel. Follow kernel-seeds.org to see how to identify your new hardware, when you have it.

----------

## Joseph_sys

 *NeddySeagoon wrote:*   

> Joseph_sys,
> 
> The new hardware, other than the CPU, only affects the kernel. Follow kernel-seeds.org to see how to identify your new hardware, when you have it.

 

I have a new motherboard an older one and AMD cpu very similar like I had.

AMD Athlon 64 processor 3800+

So, host and flags are the same as the old one:

-march=K8 -02 -pipe

When I connected the sata hard dist it recognized them both, I get a boot kernel option (as usual) but when I try to boot it, it will not recognized my Root partition 

```
VFS: Cannot open root device "sda3" or unknown-block (0,0)
```

In my grub.conf I have:

root (hd0,0)

kernel /boot/kernel-current root=/dev/sda3 pci=noapi noapci

Why it can not find root partition?

----------

## Joseph_sys

I have two hard drive and BIOS sees one as 200G and second one as 500G so it seems to me it recognized large disk drives.

Kernel supports it as well as both disk were working with the other motherboard.

When I boot strap from CD, and run: df -h

all partitions are listed but they all showing as:

Size: 46G  used: 30G avail: 15G 

So it would seem to me the kernel does not recognized correctly large disk drives.

Any clues?

----------

## idella4

Joseph_sys

Check if these are set.

```

idella@genny /usr/src/linux $ cd /usr/src/linux

idella@genny /usr/src/linux $ sudo grep HUGE .config

CONFIG_HUGETLBFS=y

CONFIG_HUGETLB_PAGE=y

```

I have seen them called for a couple of times, though U'd have thought they would not be required.

----------

## Joseph_sys

 *idella4 wrote:*   

> Joseph_sys
> 
> Check if these are set.
> 
> ```
> ...

 

I solve it, it was kernel configuration, I setup the kernel according to this page:

http://en.gentoo-wiki.com/wiki/ASUS_M2NPV-VM

but I still don't have network eth0, 

if I boot from CD network work OK

----------

## idella4

Joseph_sys,

just acquire the kernel network setup from the live cd boot, and get them into your current kernel.

Need steps?

----------

## Joseph_sys

 *idella4 wrote:*   

> Joseph_sys,
> 
> just acquire the kernel network setup from the live cd boot, and get them into your current kernel.
> 
> Need steps?

 

Yes, please.

I've run lspci --nn but I don't see anything in there.

----------

## idella4

Joseph_sys..

you were so close   lspci -[k or v].  Gives you the hardware list, so will do so for the net card., and the driver that runs it.

Do you know how to acquire the kernel config through /proc?  Reason I don't hand it over is I shall have to go look for it since I can't remember every detail.  Hopefully you will just have a config-version-gentoo in /boot.  It should be straight forward but just keep asking if you need more steps.

----------

## Joseph_sys

 *idella4 wrote:*   

> Joseph_sys..
> 
> you were so close   lspci -[k or v].  Gives you the hardware list, so will do so for the net card., and the driver that runs it.
> 
> [snip]

 

Thank you, the reason I did not have the -k switch as I was using an old Gentoo boot cd, need to burn a new one.

----------

## idella4

 *Joseph_sys wrote:*   

> 
> 
> Thank you, the reason I did not have the -k switch as I was using an old Gentoo boot cd, need to burn a new one.

 

ok, looking good.  Are you done, are just not there yet?

----------

## Joseph_sys

 *idella4 wrote:*   

>  *Joseph_sys wrote:*   
> 
> Thank you, the reason I did not have the -k switch as I was using an old Gentoo boot cd, need to burn a new one. 
> 
> ok, looking good.  Are you done, are just not there yet?

 

I just downloaded the latest "install-amd64-minimal-20101111.iso" but it hangs after:

Attempting to mount media: - /dev/hda

the older Gentoo64 2008-iso boots just fine.

----------

## NeddySeagoon

Joseph_sys, 

Run lspci (no options) and tell us what it says for each of your Ethernet lines.

----------

## Joseph_sys

 *NeddySeagoon wrote:*   

> Joseph_sys, 
> 
> Run lspci (no options) and tell us what it says for each of your Ethernet lines.

 

Here it is: 

```
lspci

00:00.0 RAM memory: nVidia Corporation C51 Host Bridge (rev a2)

00:00.1 RAM memory: nVidia Corporation C51 Memory Controller 0 (rev a2)

00:00.2 RAM memory: nVidia Corporation C51 Memory Controller 1 (rev a2)

00:00.3 RAM memory: nVidia Corporation C51 Memory Controller 5 (rev a2)

00:00.4 RAM memory: nVidia Corporation C51 Memory Controller 4 (rev a2)

00:00.5 RAM memory: nVidia Corporation C51 Host Bridge (rev a2)

00:00.6 RAM memory: nVidia Corporation C51 Memory Controller 3 (rev a2)

00:00.7 RAM memory: nVidia Corporation C51 Memory Controller 2 (rev a2)

00:05.0 VGA compatible controller: nVidia Corporation C51PV [GeForce 6150] (rev a2)

00:09.0 RAM memory: nVidia Corporation MCP51 Host Bridge (rev a2)

00:0a.0 ISA bridge: nVidia Corporation MCP51 LPC Bridge (rev a3)

00:0a.1 SMBus: nVidia Corporation MCP51 SMBus (rev a3)

00:0a.2 RAM memory: nVidia Corporation MCP51 Memory Controller 0 (rev a3)

00:0d.0 IDE interface: nVidia Corporation MCP51 IDE (rev a1)

00:0e.0 IDE interface: nVidia Corporation MCP51 Serial ATA Controller (rev a1)

00:0f.0 IDE interface: nVidia Corporation MCP51 Serial ATA Controller (rev a1)

00:10.0 PCI bridge: nVidia Corporation MCP51 PCI Bridge (rev a2)

00:10.1 Audio device: nVidia Corporation MCP51 High Definition Audio (rev a2)

00:14.0 Bridge: nVidia Corporation MCP51 Ethernet Controller (rev a3)

00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration

00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map

00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller

00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control 
```

I've open a bug: 345911

When I try to boot kernel: "gentoo debug *" it gives me this error message after it stops:

```
/bin/sh: can't access tty: job control turned off
```

----------

## NeddySeagoon

Joseph_sys,

```
00:14.0 Bridge: nVidia Corporation MCP51 Ethernet Controller (rev a3) 
```

You need the forcedeth kernel module, its under 10/100Mbit Networking in make menuconfig

You can build it into your kernel, in which case you have to do the whole kernel build and install again or you can make it a loadable module.

In which case you have to edit a file to make it load at boot but you need only do 

```
make modules

make modules_install

modprobe forcedeth

/etc/init.d/net.eth0 restart
```

No reboot required.

----------

## Joseph_sys

 *NeddySeagoon wrote:*   

> Joseph_sys,
> 
> ```
> 00:14.0 Bridge: nVidia Corporation MCP51 Ethernet Controller (rev a3) 
> ```
> ...

 

I get that error when I try to boot any of the latest AMD64 "install-amd64-minimal-20101111.iso"

The system just stops at one point and it won't go any further.  I've tried to pass some boot options to gentoo kernel boot cd but it does not help.

My system is booting OK and network card is working.  So maybe install ISO does not have the forcedeth module build IN.

----------

