# [RISOLTO] Problema al boot

## Spiros

L'altro ieri ho ricompilato il kernel con genkernel (niente di che, ho solo aggiunto il supporto ad una webcam...) e da allora il sistema non vuole saperne di avviarsi. All'avvio compaiono i seguenti messaggi:

```

>> Activating mdev  (e fin qui tutto bene)

>> Determining root device...

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

!! Could not find the block device in .

Please specify another value or (...) (taglio: dice che posso entrare in una shell, saltare il passaggio o riprovare)

```

La mia partizione di root è /dev/sda7, lo è sempre stata e non ha mai dato problemi. Da un altro sistema posso accedervi senza problemi, quindi dubito che si sia danneggiata nel frattempo. File di configurazione di grub o fstab non li ho toccati; ho controllato tre volte e sono corretti.

Se dico di saltare il passaggio mi ritorna:

```

** Skipping step, this will likely cause a boot failure (ma che strano, pensavo di poter lavorare senza root...)

>> Mounting root...

mount: can't find /newroot in /etc/fstab

!! Could not mount specified ROOT, try again

!! Could not find the root block device in .

```

Googlando un po' ho trovato solo un bug un po' vecchiotto che si riferisce ad un liveCD di gentoo di un paio di anni fa, in cui apparentemente non si riusciva a montare per mancanza di filesystem, e una discussione cui sul forum italiano in cui però il problema era un errore nella configurazione di grub o nell'fstab, errori che però sulla mia gentoo non ci sono. Nel mio caso, credo che il problema sia prima ancora che il sistema tenti di montare la root, ma non so spiegare.

Per sicurezza posto la parte di grub.conf che si riferisce a Gentoo e /etc/fstab:

```

title Gentoo

root (hd0,6)

kernel /boot/kernel-genkernel-x86_64-2.6.31-gentoo-r6 root=/dev/ram0 real_root=/dev/sda7 vga=791 splash=silent,theme:emerge-world console=tty1

initrd /boot/initramfs-genkernel-x86_64-2.6.31-gentoo-r6

savedefault

```

```

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

/dev/sda7               /               ext4            noatime         0 1

/dev/sda5               /mnt/home       ext3            noatime         0 0

/dev/sda2               none            swap            sw              0 0

/dev/cdrom              /mnt/cdrom      auto            noauto,ro       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

```

----------

## Peach

potresti provare a loggarti e vedere con `fdisk -l` il listato delle partizioni cosi' da essere sicuro che sda7 sia li?

----------

## Spiros

Purtroppo una volta entrato nella shell fdisk non lo trova neanche. Cioè, io do il comando e lui dice che non lo trova. L'ho anche cercato in giro per il filesystem, ma non c'è traccia. E ho provato a montare le partizioni, ma tutti i file dei dispositivi (p.es. /dev/sda*) non esistono.

----------

## Apetrini

Se hai i dischi ata e usi la libreria vecchia del kernel hai i nomi hdx. Prova a vedere se esistono (es /dev/hda...).

Se esistono, correggi temporaneamente fstab e cugini, cosi puoi fare il boot. Se non è questo il problema bisogna indagare un attimo piu a fondo e comunque hai bisogno di fare il boot con una cd live ed eseguire il chroot. Cosi potrai avere tutte le informazioni che ti servono....

----------

## Spiros

No, il computer è piuttosto recente e comunque non esistono neanche hda*; però esiste un unico device /dev/hda, come se fosse un hard disk, ma senza partizioni.

Il chroot lo posso fare senza problemi dall'altra distribuzione che ho (Ubuntu). Ieri ho provato a fare chroot e ri-emergere alcuni pacchetti di sistema come udev, pensando che forse il problema potesse essere lì. Le compilazioni hanno funzionato bene, ma non hanno risolto niente. Ovviamente ho controllato anche nel kernel che le parti necessarie fossero incluse. Però è anche vero che le modifiche che ho fatto al kernel con l'ultima compilazione sono minime: la versione è esattamente la stessa (quella stable nel portage tree, quindi le gentoo-sources-2.6.31-r6) e ho solo aggiunto un paio di moduli.

----------

## Peach

quindi è da quando hai fatto l'aggiornamento del kernel che non ti va più

hai provato ad avviare col vecchio kernel e funziona tutto?

----------

## Spiros

Proprio così. Durante quella sessione ho aggiornato (anzi, solo ricompilato, la versione è esattamente la stessa) il kernel e non ho fatto nient'altro di rilevante al sistema, e dal riavvio non va più.

Purtroppo non ho backup del vecchio kernel. Ero sicuro che genkernel ne facesse, invece non li trovo in giro. Comunque ho trovato la configurazione che probabilmente avevo (il file è datato 12 febbraio, quindi si tratta certamente di una configurazione funzionante). Sto ricompilando, vediamo se funziona.

EDIT: niente. Il kernel con la configurazione precedente non ha fatto ciò che speravo. Ossia che neanche con il vecchio kernel il sistema parte. L'errore restituito è lo stesso. Quindi possiamo eliminare il kernel come causa del malfunzionamento (il che è anche logico). Solo che a questo punto non so che cosa pensare...

----------

## Peach

in tal caso potrei suggerirti l'ultima spiaggia, sarebbe a dire prendere la configurazione del kernel del livecd e usare quello come base per ricompilare quello nuovo...

cosa dici?

----------

## Spiros

Dico che posso pure farlo, ma, come ho detto, temo che il kernel non c'entri niente, nonostante il problema sia sorto dopo una ricompilazione. Solo una domanda: potrebbe essere "colpa" di un modulo che dovrebbe essere nell'initrd ma non c'è? Qualcosa come driver dell'hard disk (i filesystem necessari sono compilati direttamente nel kernel).

Se non funziona niente temo che farò un'installazione quasi da zero, riutilizzando i file di configurazione che ho già.

----------

## Kernel78

 *Spiros wrote:*   

> Purtroppo non ho backup del vecchio kernel. Ero sicuro che genkernel ne facesse, invece non li trovo in giro.

 

genkernel fa un backup dell'ultima configurazione per cui la compilazione è andata a buon fine e lo mette in /etc/kernels rinominando il file in kernel-config-${ARCH}-${KV}

questo non ti risolve il problema perchè essendo la stessa versione di kernel ti è stata sovrascritta la configurazione ... potresti provare da una configurazione di un kernel precedente ...

----------

## Spiros

Ringrazio tutti coloro che mi hanno risposto, ma ho fatto ciò che avevo detto stamani: ricominciato da zero dopo backup della configurazione. Ora sto ricostruendo il sistema, cosa che tra l'altro mi diverte pure.

Ad ogni modo un problema simile a quello che avevo mi è accaduto dopo il primo riavvio con il kernel appena compilato: mi ero dimenticato di aggiungere il supporto a ext4, filesystem della mia root. Però in questo caso aprendo una shell potevo vedere le partizioni e montarle (tranne ovviamente la root), mentre con l'errore che ho avuto prima non vedevo alcuna partizione, e neanche l'hard disk sda.

Non scrivo [RISOLTO] nel titolo del primo post perché di per sé il problema originale non è stato risolto.

----------

## Kernel78

 *Spiros wrote:*   

> Ringrazio tutti coloro che mi hanno risposto, ma ho fatto ciò che avevo detto stamani: ricominciato da zero dopo backup della configurazione. Ora sto ricostruendo il sistema, cosa che tra l'altro mi diverte pure.
> 
> Ad ogni modo un problema simile a quello che avevo mi è accaduto dopo il primo riavvio con il kernel appena compilato: mi ero dimenticato di aggiungere il supporto a ext4, filesystem della mia root. Però in questo caso aprendo una shell potevo vedere le partizioni e montarle (tranne ovviamente la root), mentre con l'errore che ho avuto prima non vedevo alcuna partizione, e neanche l'hard disk sda.
> 
> Non scrivo [RISOLTO] nel titolo del primo post perché di per sé il problema originale non è stato risolto.

 

nulla di più plausibile che ti sia fumato qualche supporto per l'hardware ...

in ogni caso, per sicurezza, ti ricordo che altri eventuali problemi vanno trattati in nuove discussioni  :Wink: 

----------

## Spiros

Sì, questa discussione la considero chiusa. Ho rimesso su tutto, anche meglio di come era prima e va tutto bene. Ringrazio ancora.

----------

## Kernel78

 *Spiros wrote:*   

> Sì, questa discussione la considero chiusa. Ho rimesso su tutto, anche meglio di come era prima e va tutto bene. Ringrazio ancora.

 

più che "chiusa" puoi considerare risolto il problema che ti ha spinto ad aprirla e quindi mettere il tag [risolto] nell'oggetto  :Wink: 

----------

