<HTML> <HEAD> <TITLE>Le chargeur brut</TITLE> </HEAD> <BODY> <H1>2. <A NAME="s2"></A>Le chargeur brut</H1> <P> <A HREF="SRM-HOWTO.html#toc2">Contenu de cette section</A></P> <P> Les sources de ce chargeur peuvent être trouvés dans le répertoire</P> <P> <BLOCKQUOTE><CODE> <PRE> linux/arch/alpha/boot </PRE> </CODE></BLOCKQUOTE> </P> <P>des sources du noyau Linux. Ce programme charge le noyau Linux en lisant <CODE>START_SIZE</CODE> octets en commençant à l'adresse <CODE>BOOT_SIZE+512</CODE> (également en octets). Les constantes <CODE>START_SIZE</CODE> et <CODE>BOOT_SIZE</CODE> sont définies dans le fichier d'en-tete <CODE>linux/include/asm-alpha/system.h</CODE>. <CODE>START_SIZE</CODE> doit être au moins aussi élévé que la taille de l'image du noyau (i.e, la somme des tailles des segments <CODE>.text</CODE>, <CODE>.data</CODE>, et <CODE>.bss</CODE> ). De même, <CODE>BOOT_SIZE</CODE> doit être au moins aussi élevé que l'image du chargeur. Ces deux constantes doivent avoir comme valeur un multiple entier de la taille d'un secteur, soit 512 octets. Les valeurs par défaut sont 2Mo pour <CODE>START_SIZE</CODE> et 16Ko pour <CODE>BOOT_SIZE</CODE>. Notez que si vous voulez démarrer depuis une disquette de 1.44Mo, vous devez réduire <CODE>START_SIZE</CODE> à 1400Ko et vous assurer que la taille du noyau que vous voulez démarrer ne dépasse pas cette valeur.</P> <P></P> <P> Pour construire un chargeur brut, tapez simplement <CODE>make rawboot</CODE> dans <CODE>/usr/src/linux</CODE>. Ceci devrait produire dans <CODE>arch/alpha/boot</CODE> les fichiers suivants :</P> <P> <DL> <DT><B><CODE>tools/lxboot</CODE>:</B><DD><P>Le premier secteur du disque. Il contient l'adresse et la taille du prochain fichier au format décrit ci-dessus.</P> <DT><B><CODE>tools/bootlx</CODE>:</B><DD><P>Le lanceur brut qui chargera le fichier ci-dessous</P> <DT><B><CODE>vmlinux.nh</CODE>:</B><DD><P>L'image brute du noyau constituée des segments <CODE>.text</CODE>, <CODE>.data</CODE> et <CODE>.bss</CODE> du fichier objet <CODE>/usr/src/linux/vmlinux</CODE>. L'extension <CODE>.nh</CODE> indique que ce fichier n'a pas l'entête d'un fichier objet. </P> </DL> </P> <P></P> <P> La concaténation de ces trois fichiers devrait être écrite sur le disque à partir duquel vous voulez démarrer. Par exemple, pour démarrer depuis une disquette, insérez une disquette vierge dans le lecteur, soit <CODE>/dev/fd0</CODE> et ensuite tapez : <BLOCKQUOTE><CODE> <PRE> cat tools/lxboot tools/bootlx vmlinux >/dev/fd0 </PRE> </CODE></BLOCKQUOTE> </P> <P></P> <P> Vous pouvez maintenant arréter le système et démarrer depuis une disquette en utilisant la commande <CODE>boot dva0</CODE>.</P> <P></P> <HR> <P> Chapitre <A HREF="SRM-HOWTO-3.html">suivant</A>, Chapitre <A HREF="SRM-HOWTO-1.html">Précédent</A> <P> Table des matières de <A HREF="SRM-HOWTO.html#toc2">ce chapitre</A>, <A HREF="SRM-HOWTO.html#toc">Table des matières</A> générale</P> <P> <A HREF="SRM-HOWTO.html">Début</A> du document, <A HREF="#0"> Début de ce chapitre</A></P> </BODY> </HTML>