PDA

View Full Version : Problema con il boot di una Debian su disco USB esterno


fbcyborg
04-04-2008, 19:44
Ciao a tutti,
ho installato una Debian tramite debootstrap su un disco esterno USB, dalla mia distribuzione Gentoo.
Ho compilato il kernel ma all'avvio ricevo un kernel panic perché non viene rilevato il disco.

Infatti come motivazione del kernel panic, esce il messaggio che dice di non trovare il device /dev/sdb,
che appunto è l'unità USB.

Quello che non ho capito è come si fa l'immagine initrd, usando mkinitramfs, facendo in modo che i driver per
l'usb storage vengano caricati sin dall'inizio.
In giro, fin'ora non ho trovato alcuna guida.
Chiaramente ho usato il grub.conf che ho impostato sulla gentoo, e grub è installato sul disco principale.

Qualcuno sa darmi qualche indicazione?

Grazie.

palmy
05-04-2008, 17:23
Ciao a tutti,
ho installato una Debian tramite debootstrap su un disco esterno USB, dalla mia distribuzione Gentoo.
Ho compilato il kernel ma all'avvio ricevo un kernel panic perché non viene rilevato il disco.

Infatti come motivazione del kernel panic, esce il messaggio che dice di non trovare il device /dev/sdb,
che appunto è l'unità USB.

Quello che non ho capito è come si fa l'immagine initrd, usando mkinitramfs, facendo in modo che i driver per
l'usb storage vengano caricati sin dall'inizio.
In giro, fin'ora non ho trovato alcuna guida.
Chiaramente ho usato il grub.conf che ho impostato sulla gentoo, e grub è installato sul disco principale.

Qualcuno sa darmi qualche indicazione?

Grazie.

Dovrebbe essere questo il comanfo per creare il kernel con initrd:

make-kpkg --initrd kernel_image debian (su debian).

fbcyborg
05-04-2008, 20:24
Avevo pensato la stessa cosa, ma perché con il modo classico, usando mkinitramfs, non funziona?
io ho fatto
mkinitramfs -o /boot/initrd-2.6.24.4 2.6.24.4
Inoltre non dovrebbero esserci configurazioni particolari nel file di configurazione di mkintiramfs. "most" include di default anche i driver usb_storage.
Continua a non vedermi il disco usb!!! e mi da kernel panic.

fbcyborg
05-04-2008, 22:41
Dovrebbe essere questo il comanfo per creare il kernel con initrd:

make-kpkg --initrd kernel_image debian (su debian).

Scusa, siccome le mie reminiscenze di Debian sono un po' vecchie, ti chiedo: ma questa cosa si può fare anche se ho usato il kernel vanilla e l'ho compilato a mano, e non alla debian-way ?

palmy
06-04-2008, 10:00
Scusa, siccome le mie reminiscenze di Debian sono un po' vecchie, ti chiedo: ma questa cosa si può fare anche se ho usato il kernel vanilla e l'ho compilato a mano, e non alla debian-way ?

Si, io compilo sempre da kernel vanilla e funziona, anche se preferisco non usare l'initrd perchè rallenta il boot.

fbcyborg
06-04-2008, 10:06
Ho provato a creare l'initrd con make-kpkg ma non ho mica capito dove me l'ha salvato..
Io comunque credo di essere obbligato ad usare l'initrd. La debian è installata su un disco esterno connesso alla porta USB!

palmy
06-04-2008, 10:53
Ho provato a creare l'initrd con make-kpkg ma non ho mica capito dove me l'ha salvato..
Io comunque credo di essere obbligato ad usare l'initrd. La debian è installata su un disco esterno connesso alla porta USB!

make-kpkg lo lanci dalla cartella dei sorgenti kernel e il file .deb del kernel dovrebbe salvartelo nella cartella superiore (tipicamente /usr/src/ se hai scompattato il kernel lì).

Potresti inserire staticamente nel kernel i driver per la periferica USB ed eliminare l'initrd, ma alla fine è più comodo con initrd nel tuo caso.

fbcyborg
06-04-2008, 10:59
make-kpkg lo lanci dalla cartella dei sorgenti kernel e il file .deb del kernel dovrebbe salvartelo nella cartella superiore (tipicamente /usr/src/ se hai scompattato il kernel lì).

Potresti inserire staticamente nel kernel i driver per la periferica USB ed eliminare l'initrd, ma alla fine è più comodo con initrd nel tuo caso.
Ok, in effetti avevo visto il .deb nella directory al livello superiore ma a me interessa solo il file initrd. Precedentemente avevo creato l'immagine del kernel con make-kpkg e me l'aveva messa lì. Ora che ho dato anche l'opzione --initrd, non ho trovato un file "initrd-blablabla" nella dir superiore, ma solo il vecchio file del kernel che avevo precedentemente generato. Per questo mi chiedevo cosa avesse realmente fatto quell'opzione --initrd.

palmy
06-04-2008, 15:11
Quando installi il pacchetto .deb del kernel lui in automatico genera e installa il file initrd

fbcyborg
07-04-2008, 11:11
Quando installi il pacchetto .deb del kernel lui in automatico genera e installa il file initrd

Allora c'ho provato, ma il risultato è lo stesso. Sembra proprio che questo initrd sia inutile!
Ecco cosa continuo a vedere:
VFS: Cannot open root device "sdb3" or unknown-block(0,0)
Please append a correct "root=" oot option; here are the available partitions:
0300 4194302 hda driver: ide-cdrom
0800 117220824 sda driver: sd
0801 1 sda1
0802 26450991 sda2
0805 49303453 sda5
0806 48163 sda6
0807 257008 sda7
0808 41158498 sda8
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)

Come vedi alla fine il disco usb non lo vede proprio!!!
Non capisco, eppure un mio amico ha fatto la stessa cosa con Gentoo e non ha avuto problemi.

palmy
07-04-2008, 13:22
Sembra più un problema kernel più che un problema di distro.
Sembra che non riconosca il filesystem il quale anche se usi initrd deve essere compilato in modalità statica nel kernel, almeno ext2 e secondo me meglio se includi anche ext3 in statico.

fbcyborg
07-04-2008, 13:37
E' tutto compilato staticamente!

Ma possibile che non ci sia un howto in giro? Eppure ho cercato molto!

palmy
07-04-2008, 14:17
Qui (http://www.palmix.org/deb-usb.html) c'è una guida su come installare Debian su periferica USB, la guida non l'ho scritta io ma un ragazzo che me l'ha inviata....spero ti possa aiutare in qualche modo.

fbcyborg
07-04-2008, 14:54
Grazie!
Mi è stata utile.

Sono riuscito a fare il boot, ma con un kernel vecchio, il 2.6.18.
Chissà perché con il 2.6.24 non va. :confused: :confused: :confused:

vampirodolce1
07-04-2008, 15:04
Anche io ho quell'errore, tempo fa volevo provare a installare un sisteme minimale su una chiave USB di 16MB, ovviamente ci avrei messo solo busybox e qualche altra utility... un floppy di ripristino insomma o poco piu'.
Grazie per la guida.

fbcyborg
08-04-2008, 20:42
Sto cercando di fare la stessa cosa con un kernel 2.4 ma anche lì sembrano esserci problemi con l'USB.
Il messaggio che precede il solito kernel panic è:
kmod: failed to exec /sbin/modprobe -s -k block-major-8, errno = 2