Page suivante Page précédente Table des matières
2. Le chargeur brut
Les sources de ce chargeur peuvent être trouvés dans le répertoire
linux/arch/alpha/bootdes sources du noyau Linux. Ce programme charge le noyau Linux en lisant
START_SIZEoctets en commençant à l'adresseBOOT_SIZE+512(également en octets). Les constantesSTART_SIZEetBOOT_SIZEsont définies dans le fichier d'en-tetelinux/include/asm-alpha/system.h.START_SIZEdoit être au moins aussi élévé que la taille de l'image du noyau (i.e, la somme des tailles des segments.text,.data, et.bss). De même,BOOT_SIZEdoit ê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 pourSTART_SIZEet 16Ko pourBOOT_SIZE. Notez que si vous voulez démarrer depuis une disquette de 1.44Mo, vous devez réduireSTART_SIZEà 1400Ko et vous assurer que la taille du noyau que vous voulez démarrer ne dépasse pas cette valeur.
Pour construire un chargeur brut, tapez simplement
make rawbootdans/usr/src/linux. Ceci devrait produire dansarch/alpha/bootles fichiers suivants :
tools/lxboot:Le premier secteur du disque. Il contient l'adresse et la taille du prochain fichier au format décrit ci-dessus.
tools/bootlx:Le lanceur brut qui chargera le fichier ci-dessous
vmlinux.nh:L'image brute du noyau constituée des segments
.text,.dataet.bssdu fichier objet/usr/src/linux/vmlinux. L'extension.nhindique que ce fichier n'a pas l'entête d'un fichier objet.
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
/dev/fd0et ensuite tapez :cat tools/lxboot tools/bootlx vmlinux >/dev/fd0
Vous pouvez maintenant arréter le système et démarrer depuis une disquette en utilisant la commande
boot dva0.
Page suivante Page précédente Table des matières