Ho configurato un kernel gentoo (kernel-2.6.36-gentoo-r5), ma all'avvio non riesce a montare /dev/sda1
:
ALERT! /dev/sda1 does not exist . Dropping to a shell .
Uso la shell per andare a /dev
directory e ho scoperto che non ha sda*
o hd*
File. Tuttavia, quando avvio il mio kernel Debian (vmlinuz-2.6.32-5-686), può trovare e montare /dev/sda1
partizione.
Qual è il problema? Come posso risolverlo? Non ho aggiunto alcun nome di modulo a /etc/modules.autoload.d/kernel-2.6
file per consentirne il caricamento automatico durante l'avvio:è questa la causa del problema?
Risposta accettata:
Non menzioni esattamente come hai ricostruito il kernel. Questo è un processo abbastanza complesso e dovresti seguire i consigli della tua distribuzione. In effetti, dovresti usare il kernel della tua distribuzione a meno che tu non abbia bisogno di alcune funzionalità (come un set di driver più recente per supportare il tuo hardware) che non sono disponibili precompilate.
Ci sono due insidie comuni, ognuna delle quali potrebbe causare i sintomi che osservi.
- Forse hai dimenticato di compilare un driver necessario. La configurazione del kernel è un processo arduo ed è facile dimenticare un'impostazione cruciale. In particolare, assicurati di aver incluso i driver necessari per raggiungere il tuo filesystem di root:controller del disco, schema di partizione, filesystem e, se pertinente, gestione del volume. O questi driver devono essere integrati nel kernel (cioè non moduli), oppure devi avere un initrd (nel qual caso il driver initrd e il relativo filesystem devono essere integrati). A partire dal
.config
della tua distribuzione e si consiglia di modificare solo ciò che è necessario. - Se usi un initrd, forse ti sei dimenticato di rigenerarlo, o di installarlo, o di dirlo al tuo bootloader.