Re: make-kpkg
On Fri, Mar 02, 2007 at 09:43:41PM +0100, Vincent Bernat wrote:
> Voici grossièrement comme se passe la séquence de boot :
> - le boot loader est chargé par le BIOS (c'est lui qui est dans le
> MBR, pas le noyau !) et il se débrouille pour se charger
> entièrement
> - il charge le noyau avec l'aide du BIOS (donc il peut le lire sur le
> disque)
> - le noyau prend la main sur le BIOS et il n'est donc plus possible
> de lire le disque à cette étape
> - la partition racine est montée et l'utilitaire init est exécuté
>
> Pour monter la partition racine, il faut pouvoir lire le disque, le
> noyau doit donc contenir de quoi lire le disque (support des disques)
> et le système de fichier qui est dessus. Si tu as un chipset Intel, il
> faut donc coller le support de celui-ci en dur dans le noyau (pas en
> module).
>
> On rencontre là le premier problème qui concerne les distributions :
> comment faire un noyau qui fonctionne partout ? Avec mon scénario, il
> faut tout mettre en dur dans le noyau, ce qui fait un noyau énorme et
> plein de choses inutiles chargées en mémoire.
>
> C'est là qu'intervient l'initrd. Au lieu de monter la racine, on va
> monter une image disque qui a été chargée en mémoire par le boot
> loader en même temps que le noyau. Cette image disque va détecter le
> matos présent sur ta machine et charger ce qu'il faut pour pouvoir
> monter ensuite la véritable racine.
>
> À ce niveau, si tu compiles ton noyau toi même, tu n'as absolument pas
> besoin d'initrd, y compris avec des disques SCSI. Il te suffit dans ce
> cas de compiler le support du SCSI, des disques SCSI et de ta carte
> SCSI en dur dans le noyau. Sans oublier le système de fichiers.
>
> Il existe cependant des cas où tu dois quand même utiliser un
> initrd. Par exemple, si ta partition racine est chiffrée, l'initrd se
> chargera de la déchiffrer car le noyau ne sait pas le faire tout seul.
Ok, ça s'éclaircit gentillement. Je vais encore relire une ou deux fois
et ça devrait jouer!
Merci beaucoup!
Cédric
Reply to: