Page suivantePage pr�c�denteTable des mati�res

3. Le chargeur aboot

Si vous utilisez le firmware SRM, aboot est la meilleure fa�on de d�marrer Linux. Il supporte :

3.1 Se procurer et installer aboot

Les codes sources les plus r�cents d'aboot sont disponibles � l'adresse ftp://ftp.azstarnet.com/pub/linux/axp/aboot. La description de ce manuel s'applique � aboot pour les versions 0.5 et suivantes.

Une fois que vous avez t�l�charg� et extrait l'archive tar, jetez un oeil aux fichiers README et INSTALL pour lire les directives d'installation. En particulier, assurez vous que les variables, dans les fichiers Makefile et include/config.h sont correctes vis-�-vis de votre environnement . Normalement, vous ne devriez pas avoir � changer quoi que ce soit pour compiler sous Linux, mais c'est toujours une bonne chose de v�rifier. Si la configuration vous convient, tapez simplement make pour lancer la compilation (si vous n'effectuez pas cette op�ration sous Linux, sachez que aboot requiert GNU make).

Apr�s l'ex�cution de make, le r�pertoire aboot devrait contenir les fichiers suivants :

aboot

L'ex�cutable r�el (fichier objet ECOFF ou ELF),

bootlx

Comme ci-dessus, mais ce fichier ne contient que les segments text, data et bss (ce fichier n'est pas un fichier objet),

sdisklabel/writeboot

Un utilitaire pour installer aboot sur un disque dur,

tools/e2writeboot

Un utilitaire pour installer aboot sur un syst�me de fichiers ext2 (n'est en g�n�ral utilis� que pour les disquettes),

tools/isomarkboot

Un utilitaire pour installer aboot sur un syst�me de fichiers iso9660 (utilis� par les distributeurs de CD-ROM),

tools/abootconf

Un utilitaire pour configurer aboot s'il est install�.

3.2 Installation sur disquette

Le lanceur peut �tre install� sur une disquette en utilisant la commande e2writeboot (note : ceci ne peut se faire sur un Jensen car son firmware n'implante pas le d�marrage depuis une disquette). Cette commande n�cessite que le disque ne soit pas trop fragment� car elle a besoin de trouver suffisament de secteurs contigus pour stocker l'image enti�re de aboot (actuellement, environ 90Ko). Si e2writeboot �choue � cause de �a, reformatez la disquette et r�essayez (par ex., avec fdformat(1)). Par exemple, la proc�dure suivante installe aboot sur une disquette en supposant que la disquette est dans le lecteur correspondant � /dev/fd0 :

fdformat /dev/fd0
mke2fs /dev/fd0
e2writeboot /dev/fd0 bootlx

3.3 Installation sur disque dur

Sachant que la commande e2writeboot peut �chouer sur un disque hautement fragment� et comme le reformattage d'un disque dur ne se fait pas sans peine, il est g�n�ralement plus s�r d'installer aboot sur un disque dur en utilisant la commande swriteboot. swriteboot n�cessite que les premiers secteurs soient r�serv�s aux proc�dures de d�marrage. Nous sugg�rons que le disque soit partitionn� de mani�re � ce que la premi�re partition commence � une adresse correspondant � 2048 secteurs. Cela laisse 1Mo d'espace ibre pour stocker aboot. Sur un disque partitionn� de cette fa�on , il est alors possible d'installer aboot comme d�crit ci-dessous (en supposant que le disque correspond � /dev/sda.) :

swriteboot /dev/sda bootlx

Sur un Jensen, vous devrez laisser un peu plus d'espace, sachant que vous devrez �galement stocker le noyau � cet endroit - 2Mo devraient suffire en utilisant une image compress�e. Utilisez swriteboot comme d�crit � la section booting pour �crire bootlx avec le noyau Linux.

3.4 Installation sur CD-ROM

Pour construire un CD-ROM amor�able avec SRM, construisez simplement aboot comme d�crit ci-dessus. Assurez-vous ensuite que le fichier bootlx est pr�sent sur le syst�me de fichiers iso9660 (e.g., copiez bootlx dans le r�pertoire o� est mont� le syst�me de fichiers) , et lancez mkisofs sur ce r�pertoire). Apr�s cela, la seule chose restant � faire est de marquer le syst�me de fichiers comme amor�able avec SRM. Cela est r�alis� gr�ce � une commande de la forme :

isomarkboot filesystem bootlx

La commande ci-dessus n�cessite que filesystem est un fichier contenant le syst�me de fichiers iso9660 et que bootlx a �t� copi� dans la racine de ce syst�me de fichiers. C'est tout !

3.5 Construire un noyau Linux

Un noyau Linux amor�able peut �tre construit par les �tapes suivantes. Durant le make config, assurez-vous de r�pondre "oui" ("yes") � la question concernant le lancement du noyau par SRM.

cd /usr/src/linux
make config
make dep
make boot

La derni�re commande construira le fichier arch/alpha/boot/vmlinux.gz qui peut alors �tre copi� sur le disque � partir duquel vous d�sirez d�marrer. Dans notre exemple pr�c�dent concernant la disquette, cela donnerai :

mount /dev/fd0 /mnt
cp arch/alpha/boot/vmlinux.gz /mnt
umount /mnt

3.6 D�marrer Linux

Avec le firmware SRM et aboot install�, le d�marrage de Linux s'effectue g�n�ralement avec une commande de la forme :

boot devicename -fi filename -fl flags

Les arguments filename et flags sont optionels. S'ils ne sont pas sp�cifi�s, SRM utilise les valeurs par d�faut contenues dans les variables d'environnement BOOT_OSFILE et BOOT_OSFLAGS. La syntaxe et la signification de ces deux arguments est d�crite plus en d�tail ci-dessous.

Nom du fichier boot

L'argument filename est de la forme :

[n/]filename

n est un simple nombre dans l'intervalle 1..8 qui donne le num�ro de la partition de d�marrage. filename est le chemin d'acc�s au fichier � lancer. Par exemple, pour d�marrer depuis la deuxi�me partition du sixi�me disque SCSI, vous entreriez :

boot dka600 -file 2/vmlinux.gz

Ou, pour d�marrer depuis le premier lecteur de disquette :

boot dva0 -file vmlinux.gz

Si un disque n'a pas de table des partitions, aboot consid�re que le disque contient une partition ext2 commen�ant au premier bloc du disque. Cela permet de d�marrer depuis une disquette.

Le num�ro de partition 0 est utilis� pour demander le d�marrage depuis un disque qui ne contient pas (encore) de syst�me de fichiers. Si l'on sp�cifie le num�ro de "partition" 0, aboot consid�re que le noyau Linux suit directement l'image de aboot. Une telle chose peut �tre r�alis�e avec la commande swriteboot. Par exemple, pour configurer un d�marrage sans syst�me de fichiers depuis /dev/sda, on pourrait utiliser la commande :

swriteboot /dev/sda bootlx vmlinux.gz

D�marrer un syst�me de cette fa�on n'est pas obligatoirement n�cessaire. La raison d'�tre de cette fonctionnalit� est de permettre l'installation de Linux sur un syst�me qui ne peut d�marrer depuis une disquette (e.g., le Jensen).

Drapeaux de d�marrage

Plusieurs drapeaux de d�marrage peuvent �tre sp�cifi�s. La syntaxe en est :

-flags "options..."

O� "options..." est une combinaison des options suivantes (s�par�es par des espace). Il y a encore plus d'options, en fonction des pilotes que le noyau a install�. Les options list�es ci-apr�s ne sont l� que pour illustrer l'id�e g�n�rale :

load_ramdisk=1

Copie le syst�me de fichiers racine depuis une disquette vers un disque virtuel en m�moire avant de lancer le syst�me. Ce disque virtuel sera utilis� en lieu et place du p�riph�rique racine. Ceci est utile pour d�marrer Linux sur une machine qui ne poss�de qu'un lecteur de disquettes.

floppy=str
root=dev

S�lectionne le p�riph�rique dev comme syst�me de fichiers racine. Le p�riph�rique peut �tre sp�cifi� comme la combinaison des num�ros major/minor du fichier de p�riph�rique en hexad�cimal (e.g., 0x802 pour /dev/sda2) ou un nom de fichier de p�riph�rique (e.g.,/dev/fd0, /dev/sda2).

single

Lance le syst�me en mode mono-utilisateur.

kgdb

Autorise kernel-gdb (ne fonctionne que si CONFIG_KGDB est activ� ; un deuxi�me syst�me Alpha doit �tre connect� par voie s�rie pour que cela fonctionne).

Quelques impl�mentations de SRM (e.g., celle du Jensen) sont limit�es et n'autorisent que les cha�nes d'options de courte longueur (e.g., au plus 8 caract�res). Dans ce cas l�, aboot peut �tre d�marr� avec le drapeau de d�marrage "i". Avec ce drapeau, aboot demandera � l'utilisateur d'entrer une cha�ne d'options pouvant atteindre 256 caract�res. Par exemple :

boot dka0 -fl i
aboot> 3/vmlinux.gz root=/dev/sda3 single

Comme d�marrer de cette fa�on devient rapidement p�nible , aboot autorise l'utilisateur � d�finir des raccourcis pour les lignes de commande fr�quemment utilis�es. En particulier, une option donn�e par un chiffre -- option --> (0-9) demande � aboot d'utiliser l'option correspondante dans le fichier /etc/aboot.conf. Un exemple de fichier aboot.conf est donn� ci-dessous :

#
# aboot default configurations
#
0:3/vmlinux.gz root=/dev/sda3
1:3/vmlinux.gz root=/dev/sda3 single
2:3/vmlinux.new.gz root=/dev/sda3
3:3/vmlinux root=/dev/sda3
8:- root=/dev/sda3            # fs-less boot of raw kernel
9:0/vmlinux.gz root=/dev/sda3 # fs-less boot of (compressed) ECOFF kernel
-

Avec ce fichier, la commande

boot dka0 -fl 1

correspond exactement � la commande de d�marrage donn�e ci-dessus. Il est cependant facile d'oublier la correspondance entre les num�ros et les cha�nes d'options. Pour �viter ce probl�me, d�marrez avec l'option "h" et aboot affichera le contenu de /etc/aboot.conf avant d'afficher l'invite demandant la cha�ne d'option enti�re.

En conclusion, m�me si aboot demande l'entr�e d'une cha�ne d'options, il est possible d'entrer un simple caract�re ("i", "h", ou "0"-"9") pour obtenir le m�me r�sultat que si le drapeau avait �t� sp�cifi� sur la ligne de commande de d�marrage. Par exemple, vous pouvez d�marrer avec le drapeau "i", taper ensuite "h" (suivi par entr�e) pour vous rappeler le contenu de /etc/aboot.conf

S�lectionner la partition de /etc/aboot.conf

Quand aboot est install� sur un disque dur, il a besoin de savoir sur quel partition il lui faut chercher le fichier /etc/aboot.conf. Nouvellement compil�, aboot cherchera sur la deuxi�me partition (/dev/sda2). Comme il serait contraignant d'avoir � recompiler aboot uniquement pour changer le num�ro de la partition, abootconf autorise � directement modifier aboot d�j� install�. Par exemple, si vous d�siriez changer aboot afin qu'il utilise la troisi�me partition du disque /dev/sda, vous utiliseriez la commande :

abootconf /dev/sda 3

Vous pouvez v�rifier le r�glage courant simplement en omettant le num�ro de partition. Alors, abootconf /dev/sda affichera la partition actuellement s�lectionn�e. Notez que aboot �tre d�j� install� pour que cette commande r�ussisse. Aussi, lors de l'installation d'un nouvel aboot, le num�ro de partition redeviendra celui par d�faut (i.e., il sera n�cessaire de relancer abootconf).

Depuis la version 0.5 de aboot, il est �galement possible de s�lectionner la partition contenant le fichier aboot.conf depuis la ligne de commande de d�marrage. Cela peut �tre fait avec une ligne de commande de la forme a:b o� a est le num�ro de la partition contenant /etc/aboot.conf et b est une option d'une lettre comme d�crit plus haut (0-9, i, ou h). Par exemple, si vous tapez boot -fl "3:h" dka100 le syst�me d�marre depuis SCSI ID 1, charge /etc/aboot.conf depuis la troisi�me partition, affiche son contenu � l'�cran et attend que vous entriez les options de d�marrage.

3.7 D�marrage r�seau

Deux �tapes pr�liminaires sont n�cessaires avant que Linux puisse d�marrer par un r�seau. Premi�rement, vous devrez positionner les variables d'environnement de SRM pour permettre le d�marrage via le protocole bootp et deuxi�mement vous devrez configurer une autre machine comme serveur de d�marrage. Reportez-vous � la documentation de SRM fournie avec votre machine pour toute information sur la mise en place de bootp. Configurer le serveur de d�marrage d�pend �troitement du syst�me d'exploitation de cette machine, mais typiquement cela n�cessite de lancer le programme bootpd en t�che de fond apr�s avoir configur� le fichier /etc/bootptab. Le fichier bootptab poss�de une entr�e par machine cliente autoris�e � d�marrer depuis le serveur. Par exemple, si vous voulez d�marrer la machine myhost.cs.arizona.edu, une entr�e de la forme suivante serait n�cessaire :

myhost.cs.arizona.edu:\
 :hd=/remote/:bf=vmlinux.bootp:\
 :ht=ethernet:ha=08012B1C51F8:hn:vm=rfc1048:\
 :ip=192.12.69.254:bs=auto:

Cette entr�e consid�re que l'adresse Ethernet de la machine est 08012B1C51F8 et que son adresse IP est 192.12.69.254. L'adresse Ethernet peut �tre trouv�e gr�ce � la commande show device de la console SRM ou, si Linux est lanc�, avec la commande ifconfig. L'entr�e pr�cise �galement que si le client ne d�clare pas le contraire, le fichier qui sera lanc� sera le fichier vmlinux.bootp du r�pertoire /remote. Pour plus d'informations sur la configuration de bootpd, reportez-vous � sa page de manuel.

Ensuite, construiser aboot gr�ce � la commande make netboot. Assurez-vous que le noyau que vous d�sirez lancer a d�j� �t� construit. Par d�faut, le Makefile du programme aboot utilise le noyau /usr/src/linux/arch/alpha/boot/vmlinux.gz (�ditez le Makefile si vous d�sirez utiliser un autre chemin d'acc�s). Le r�sultat de make netboot est un fichier nomm� vmlinux.bootp contenant aboot et le noyau Linux, pr�t pour le d�marrage par r�seau.

Enfin, copiez vmlinux.bootp dans le r�pertoire du serveur de d�marrage. Dans l'exemple plus haut, vous l'auriez copi� dans le r�pertoire /remote/. Ensuite, allumez la machine client et d�marrez la, en sp�cifiant l'adaptateur Ethernet comme p�riph�rique de d�marrage. SRM nomme typiquement le premier adaptateur Ethernet ewa0, donc, pour d�marrer depuis ce p�riph�rique, vous utiliserez la commande :

boot ewa0

Les options -fi et -fl sont utilisable comme d'habitude. En particulier, vous pouvez demander � aboot d'attendre l'entr�e d'arguments pour le noyau Linux en sp�cifiant l'option -fl i.


Page suivantePage pr�c�denteTable des mati�res

Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 18:01:24