# Installazione su hd esterno kernel panic - not syncing:VFS

## freon

Buongiorno a tutti,

è il mio primo tentativo di installazione di gentoo per cui abbiate pazienza  :Smile: 

Come da titolo all'avvio va in kp con questo errore Kernel panic - not syncing:VFS: Unable to mount root fs on unknown-block (0,0), ho eseguito l'installazione su un hd usb esterno da debian lavorando su chroot.

posto fstab 

```
UUID=bab2e154-8bc8-49e5-89f8-101809acf4bb /               ext4         errors=remount-ro 0 1

# swap

UUID=5830695b-76a7-4d31-ae05-d5d4f64dbfd9 none            swap    sw              0       0
```

credo di aver abilitato correttamente il supporto per ext4 nel kernel

```
CONFIG_EXT2_FS=m

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=m

CONFIG_EXT3_DEFAULTS_TO_ORDERED=y

CONFIG_EXT3_FS_XATTR=y

CONFIG_EXT3_FS_POSIX_ACL=y

CONFIG_EXT3_FS_SECURITY=y

CONFIG_EXT4_FS=m

CONFIG_EXT4_FS_XATTR=y

CONFIG_EXT4_FS_POSIX_ACL=y

CONFIG_EXT4_FS_SECURITY=y

# CONFIG_EXT4_DEBUG is not set
```

Ringrazio anticipatamente chiunque volesse aiutarmi!Last edited by freon on Thu Dec 01, 2011 11:30 pm; edited 1 time in total

----------

## k01

ma se è il primo tentativo perchè complicarsi la vita con un hdd usb esterno??

comunque solitamente un errore simile è perchè non si è incluso nel kernel il supporto al proprio controller pata/sata, in questo caso controller usb, inoltre ci sarebbe da controllare i parametri passati al boot in grub.conf, root=/dev/quellocheè e in particolare per hdd usb so che si utilizzava anche rootdelay per ritardare il mount di /, ma io personalmente mai provato

----------

## djinnZ

è molto più facile di quel che si crede ma, tanto per cambiare... (non te la prendere se ti uso come spunto per una polemica sulla guida)usa genkernel --menconfig all per creare kernel ed immagine (il metodo manuale è eroico e si sa che gli eroi sono solo imbecilli che tendono a morire presto e male, i professionisti invece ...¹)a riprova  :Twisted Evil:   :Twisted Evil:   :Twisted Evil:   *genkernel output wrote:*   

>  Additional kernel cmdline arguments that *may* be required to boot properly...
> 
> * add "domdadm" for RAID support
> 
> * With support for several ext* filesystems around it may be needed to
> ...

 nella conf includi builtin supporto per USB, USB storage e quant'altro ti servenella conf includi SCSI_WAIT_SCANCONFIG_EXT4_FS=Y se è la root (con l'immagine dovrebbe andare lo stesso ma meglio abbondare)parametri obbligatori al bootreal_root=/dev/vattelappescaod in alternativa la label ma devi ricordarti che 

```
BUSYBOX="yes"

DISKLABEL="yes"
```

rootfstype=ext4

Se proprio l'HD ed il controller USB sono una completa ciofeca dovrai inserire un timeout adeguato (parti da 20 secondi, in genere bastano  :Twisted Evil:  )

Quale strage di giovani vite innocenti (in realtà sarebbe più "Quante interminabili smoccolate di novellini fuorviati" ma suona più poetico) per una approssimativa indicazione nella guida...

facciamo sempre conto che mi sono già rimproverato da solo ed ho già risposto (male)  :Laughing: 

¹cit. approssimativa da "Storie dello spazio profondo" di Guccini e Bonvi, questa è letteratura che dovrebbero far studiare a squola altro che Verga e Montale  :Mr. Green: 

p.s.: benvenuto (come in una certa iscrizione dell'inferno dantesco, descritta nel canto IX ...)

p.p.s.: cortesemente edita il tuo messaggio ed usa i tag per evidenziare quello che hai riportato.

p.p.p.s.: non è che ti sei scordato il support al ramfs? root con l'iimagine non è =/dev/sdXX o =LABEL=XXXX o =UID= ma =/dev/ram0 

p.p.p.p.s: con l'immagine mai avuti problemi a fare il boot da usb senza alcuna "aggiustatura". Senza immagine mi ha sempre fatto bestemmiare per impostare il timeout e finiva sempre che doveno sistemarlo "a manina" al boot di volta in volta.

p.p.p.p.p.s: se non risolvi siamo qui ma se risolvi è buona norma giiungere il tag risolto al titolo

p.p.p.p.p.p.s: è buona idea presentarsi sempre di modo che ci si possa regolare su quanto approfondire le spiegazioni.

----------

## freon

Grazie per l'aiuto, credo tu abbia capito subito il problema 

 *djinnZ wrote:*   

> nella conf includi builtin supporto per USB, USB storage e quant'altro ti serve
> 
> nella conf includi SCSI_WAIT_SCAN
> 
> CONFIG_EXT4_FS=Y

 

io ho

```
CONFIG_SCSI_WAIT_SCAN=m

CONFIG_EXT4_FS=m
```

ricompilo il kernel con i suggerimenti che mi hai dato

Avevo già provato rootdelay=20 presupponendo che l'hd fosse una "ciofeca" ma non è cambiato niente

 *djinnZ wrote:*   

> p.p.s.: cortesemente edita il tuo messaggio ed usa i tag per evidenziare quello che hai riportato. 

  Ora lo sistemo!

 *djinnZ wrote:*   

> p.p.p.s.: non è che ti sei scordato il support al ramfs?

  Possibile, ora mi documento a riguardo!   :Embarassed: 

 *djinnZ wrote:*   

> p.p.p.p.p.p.s: è buona idea presentarsi sempre di modo che ci si possa regolare su quanto approfondire le spiegazioni. Ho presupposto di essere di fronte ad un utente già scafato a tutto che non ha confidenza con qualche aspetto specifico dell'init di gentoo.

 

Hai ragione, non mi sono presentato, uso GNU/Linux da diversi anni, ma sempre distribuzioni semplici dove la pappa era quasi sempre pronta  :Smile: 

----------

## djinnZ

Ti ripeto che avviare solo con il kernel su un hd esterno non è semplice ed è sempre meglio usare l'immagine completa di busybox e blkid. */boot/grub/grub.conf wrote:*   

> title HD-USB
> 
> root (hd0,0)
> 
> kernel (hd0,0)/kernel-genkernel-x86_64-2.6.36-hardened-r9 ro root=/dev/ram0 real_root=/dev/sdb2
> ...

 In questo caso il kernel panic può venire solo da un  problema con la root.

Con l'uso delle label su real_root ho avuto qualche problema.

Altrimenti puoi sempre intervenire con la shell dell'immagine vedere cosa non va.

Dato che uso xfs non ho bisogno di rootfstype=ext4.

Il supporto SCSI (anche se non hai controller SCSI passa tutto da quella parte adesso), USB ed USB-STORAGE è meglio che siano builtin.

Il trucco sta nell'usare quanto meno modulare possibile con l'immagine.

Edit

dimenticavo di ripetere che nella guida c'è una indicazione cretina: sovrascrivere /usr/share/genkernel/... con il .config del livecd. Con la conf del livecd non va (almeno l'ultima volta che ho guardato non era adatta) e se proprio vuoi devi andarla a mettere in /etc/kernels.

Se vuoi giocare con make localyesconfig & c e vuoi che genkertnel non sovrascriva il .config corrente basta aggiungere --noclean alla linea di comando.

----------

