# Cannot open root device "hda4" or 03:04

## codadilupo

giocavo con un vecchio pc, e mi son messo ad installare gentoo (non sembra, ma le installazioni servono davvero tanto: ad esempio puoi sempre fare nuovi errori  :Wink: ).....

piripi', piripa'.... dividiamo l'hd

```
/dev/hda1      40Mb

/dev/hda2      520Mb

/dev/hda3      1Gb

/dev/hda4      10Gb
```

```
mke2fs -j /dev/hda1

mkswap   /dev/hda2

mkreiserfs   /dev/hda3

mkreiserfs   /dev/hda4
```

```
swapon /dev/hda2
```

```
mount /dev/hda4 /mnt/gentoo

mkdir /mnt/gentoo/boot

mkdir /mnt/gentoo/root

mount /dev/hda1 /mnt/gentoo/boot

mount /dev/hda3 /mnt/gentoo/root
```

```
mount -t proc proc /mnt/gentoo/proc

chroot /mnt/gentoo/   /bin/bash

env-update

source /etc/profile
```

piripi', piripa'....

riavvio.... 

```
Cannot open root device "hda4" or 03:04

Please append a correct "root=" boot option

Kernel panic: VFS: Unable to mount root fs on 03:04
```

che cavolo é successo ? Non mi era mai capitato fin'ora, e non mi pare d'aver fatto nulla di diverso dal solito. Tra l'atro, ho boottato con knoppix, e  i device sembrano a posto: hda1 contiene effettivamente /boot, cosi' come hda3 contiene /root e hda4 /. C'e' qualcosa che mi sfugge, ma non riesco a capire cosa.

Coda

----------

## cerri

Hai compilato il kernel con il supporto per reiserfs?

----------

## shev

Cosa usi, lilo o grub? Postaci la configurazione del bootloader che usi, imho il problema è lì (se il kernel è ok con tutti i supporti *non modulari* a posto.)

----------

## codadilupo

Questo é grub. A me pare tutto corretto.

```
default 0

timeout 10

splashimage=(hd0,0)/boot/grub/splash.xpm.gz

title=Gentoo GNU/Linux

root (hd0,0) 

kernel (hd0,0)/boot/bzImage/gentoo-sources-2.4.20 root=/dev/hda4  hdc=ide-scsi   video=vesa:ywrap,mtrr   vga=0x317

title=Gentoo GNU/Linux Failsafe

root (hd0,0)

kernel (hd0,0)/boot/bzRescue/gentoo-sources-2.4.20 root=/dev/hda4
```

Il kernel é a posto, ma se volete vi posto il .config  :Wink: 

il supporto a reiserfs c'e'.

L'unica cosa diversa rispetto al solito, é che ho messo syslog-ng e vcron, e li ho messi al boot (anziché default). Ma, questo, puo' centrare ? Spero proprio di no  :Wink: .

Coda

----------

## shev

 *codadilupo wrote:*   

> 
> 
> il supporto a reiserfs c'e'.

 

Built-in? Perchè se è come modulo rompe.

 *Quote:*   

> L'unica cosa diversa rispetto al solito, é che ho messo syslog-ng e vcron, e li ho messi al boot (anziché default). Ma, questo, puo' centrare ?

 

Diciamo che i runlevels non sono proprio intercambiabili come se nulla fosse. Prova a metterli nel runlevel corretto, anche se non so con esattezza se dipende da questo il tuo problema. Diciamo che male che vada escludi una possibile causa  :Wink: 

p.s.: dimenticavo, il grub.conf pare corretto, è molto simile al mio. fstab è a posto?

----------

## codadilupo

 *Shev wrote:*   

> Built-in? Perchè se è come modulo rompe.

 

built-in. mi son dimenticato di specificarlo.

 *Quote:*   

> Diciamo che i runlevels non sono proprio intercambiabili come se nulla fosse. Prova a metterli nel runlevel corretto, anche se non so con esattezza se dipende da questo il tuo problema. Diciamo che male che vada escludi una possibile causa 

 

provero', pero' mi pare quantomeno strano: teoricamente, che io faccia partire il log al boot, oppure al primo runlevel3 (default) non dovrebbe cambiare poi molto: male che va, non parte syslog, ma mi pare difficile che mi faccia impazzire il sistema fino al kernel panic  :Wink: 

questo é l'fstab

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

/dev/hda1            /boot        ext3       noauto,noatime         1 2

/dev/hda3            /root        reiserfs   noatime,notail         0 1

/dev/hda4            /            reiserfs   noatime,notail         0 1

/dev/hda2            none         swap       sw                     0 0

/dev/cdroms/cdrom0   /mnt/cdrom   iso9660    users,exec,noauto,ro   0 0

proc                 /proc         proc      defaults               0 0

none                 /dev/shm      tmpfs      defaults              0 0
```

Coda

----------

## cerri

Sembra tutto ok.

Per il syslog puoi anche lasciar perdere, non arrivi nemmeno a far partire il sistema in single user mode, quindi sicuramente non e' quello il problema.

Grub e fstab sembrano corretti, a questo punto mi chiedo se dopo la compilazione sei sicuro di aver copiato il kernel corretto.

----------

## bsolar

 *codadilupo wrote:*   

> 
> 
> ```
> /dev/hda3            /root        reiserfs   noatime,notail         0 1
> 
> ...

 

È secondario ma per reiser gli ultimi due parametri dovrebbero essere 0.

----------

## codadilupo

 *cerri wrote:*   

> Sembra tutto ok.
> 
> Per il syslog puoi anche lasciar perdere, non arrivi nemmeno a far partire il sistema in single user mode, quindi sicuramente non e' quello il problema.
> 
> Grub e fstab sembrano corretti, a questo punto mi chiedo se dopo la compilazione sei sicuro di aver copiato il kernel corretto.

 

guarda, ho provato anche a ricopiargli il vecchio kernel - funzionante - e continua a darmi lo stesso errore. Io pensavo d'aver fatto qualche cappellata durante l'installazione. Tipo il chroot, e il mount point delle partizioni..... bah !

Anzi, a proposito di questo: se, invece d'aver fatto:

```
[b]mount /dev/hda4 /mnt/gentoo[/b]

mkdir /mnt/gentoo/boot

mkdir /mnt/gentoo/root

mount /dev/hda1 /mnt/gentoo/boot

mount /dev/hda3 /mnt/gentoo/root
```

avesi scritto:

```
mkdir /mnt/gentoo/boot

mkdir /mnt/gentoo/root

[b]mount /dev/hda4 /mnt/gentoo[/b]

mount /dev/hda1 /mnt/gentoo/boot

mount /dev/hda3 /mnt/gentoo/root
```

sarebbe cambiato qualcosa ?

 *bsolar wrote:*   

> È secondario ma per reiser gli ultimi due parametri dovrebbero essere 0.

 

Grazie, aggiustero' anche questo.... non é che c'abbia mai capito molto su cosa é meglio mettere sul dump/pass  :Wink: 

Coda

----------

## comio

```
mkdir /mnt/gentoo/boot

mkdir /mnt/gentoo/root

[b]mount /dev/hda4 /mnt/gentoo[/b]

mount /dev/hda1 /mnt/gentoo/boot

mount /dev/hda3 /mnt/gentoo/root
```

Così non credo che avrebbe montato le partizioni 1 e 3

EDIT: a meno che non ci fossero già le rispettive dir!

----------

## codadilupo

 *comio wrote:*   

> 
> 
> ```
> mkdir /mnt/gentoo/boot
> 
> ...

 

é quello che immaginavo. A 'sto punto, mi vienen il dubbio d'aver fatto 'sta cappellata, anche se, ripeto, sotto knoppix vedo il contenuto delle partizioni, e corrisponde:

hda1 /boot/

hda3 /root

hda4 /

bah!

Coda

----------

## shev

 *codadilupo wrote:*   

> 
> 
> é quello che immaginavo. A 'sto punto, mi vienen il dubbio d'aver fatto 'sta cappellata, anche se, ripeto, sotto knoppix vedo il contenuto delle partizioni

 

Bhe, se non le avesse montate in output ti avrebbe dato l'errore, se non l'hai notato o eri reduce da una notte di follie o hai fatto tutto correttamente. Ma da knoppix oltre a vedere le partizioni, vedi il contenuto? Ti sembra che il sistema ci sia o no? Sicuro di montare /boot quando copi il kernel?   :Twisted Evil: 

----------

## codadilupo

 *Shev wrote:*   

> Bhe, se non le avesse montate in output ti avrebbe dato l'errore, se non l'hai notato o eri reduce da una notte di follie o hai fatto tutto correttamente. Ma da knoppix oltre a vedere le partizioni, vedi il contenuto? Ti sembra che il sistema ci sia o no? Sicuro di montare /boot quando copi il kernel?  

 

Si', come ho detto, /dev/hda1 contiene boot (il boot che ho messo io, intendo)

cosi' come hda3 e hda4 contengono /root  e /  (con i file .config scritti da me)

quindi, con questo cosa voglio dire ? non lo so, e i fatti, non cosano   :Crying or Very sad:   :Crying or Very sad:   :Crying or Very sad: 

Coda

----------

## codadilupo

dopo a ver a lungo penato, il problema si é risolto soltanto ricompilando il kernel da zero. In compenso, ora si ripresenta su un'altra macchina (si vede che c'ho il tocco   :Evil or Very Mad:  ):

questo é quanto:

```
Device  Boot  Start    End    Blocks   Id  System

/dev/hda1 *       1      5      40131  83  Linux

/dev/hda2         6     68     506047+ 82  Linux Swap

/dev/hda3        69   1559   11976457+ 83  Linux

/dev/hda4      1560   2432    7012372+  5  Extended

/dev/hda5      1560   1809    2008093+ 83  Linux

/dev/hda6      1810   2432    5004216  83  Linux
```

```
mke2fs -j /dev/hda1

mkswap /dev/hda2

mkreiserfs /dev/hda3

mkreiserfs /dev/hda5

mkreiserfs /dev/hda6

swapon /dev/hda2
```

```
mount /dev/hda3 /mnt/gentoo

mkdir /mnt/gentoo/boot

mkdir /mnt/gentoo/root

mkdir /mnt/gentoo/home

mount /dev/hda1 /mnt/gentoo/boot

mount /dev/hda5 /mnt/gentoo/root

mount /dev/hda6 /mnt/gentoo/home
```

```
cd /mnt/gentoo; tar -xvjpf /mnt/cdrom/stages/stage1-x86-20030910.tar.bz2

mount -t proc proc /mnt/gentoo/proc

cp /etc/resolv.conf /mnt/gentoo/etc/resolv.conf

chroot /mnt/gentoo /bin/bash/

env-update

source /etc/profile
```

il kernel che funzia, é qui

quello vecchio, che non ne vuol sapere, é questo.

la differenza, é che il primo non tiene conto dei driver alsa e dell'emulazione scsi. Il secondo é, praticamente, una evoluzione del primo.

qui trovate fstab

e qui, invece, grub.conf, che, chiaramente, manca del parametro hdc=ide-scsi

a questo punto, credo sia l'emulazione scsi, il problema, ma non capisco perché, visto che ho seguito passo passo le istruzioni, e mi pare d'aver fatto tutto correttamente.

Salud,

Coda

----------

## mauro83

Ciao.....hai risolto il problema?

Mi si presenta la stessa cosa...fstab è corretto (non ho messo notail...ma non penso sia il problema)...grub.conf è corretto...

Il file system è il ReiserFS...spero di aver aggiunto i moduli esatti nel kernel (ho spuntato il menuconfig ResiserFS)...

Grazie

----------

