SRM Firmware Howto

Version originale : David Mosberger (Traduction fran�aise : Nicolas Jadot ([email protected]))

v0.5, 17 August 1996
Ce document d�crit la mani�re de d�marrer une station Linux/Alpha utilisant le firmware SRM, lequel est normalement utilis� pour d�marrer Digital Unix. (NDT : le firmware est un micro-code embarqu� sur une puce, en quelque sorte l'�quivalent du BIOS des PC) En g�n�ral, il est pr�f�rable d'utiliser MILO � la place du programme aboot sachant que MILO est parfaitement adapt� aux besoins de Linux. Cependant, MILO n'existe pas sur tous les syst�mes et ne permet pas encore de d�marrer sur un r�seau. Dans ces cas l�, utiliser la console SRM est peut-être la bonne solution.

A moins que vous soyiez int�ress�s par les d�tails techniques, vous pouvez passer directement � la section aboot

1. Comment SRM d�marre-t-il un syst�me d'exploitation ?

Toutes les versions de SRM peuvent d�marrer � partir d'un disque SCSI et les versions destin�es aux plates-formes r�centes, comme les Noname et AlphaStations, peuvent de plus d�marrer depuis une disquette. Le d�marrage r�seau via bootp est �galement support�. Notez que les anciennes versions de SRM (notamment celles pour Jensen) ne pouvaient pas d�marrer depuis une disquette. Le d�marrage depuis un disque IDE n'est pas support�.

Le d�marrage de Linux avec SRM s'effectue en deux �tapes : d'abord, SRM charge et transf�re le controle � un chargeur secondaire. Ensuite, ce chargeur secondaire met en place l'environnement de Linux, lit l'image du noyau depuis un syst�me de fichiers sur disque et donne la main � Linux.

A l'heure actuelle il existe deux chargeurs secondaires pour Linux : le chargeur brut fourni avec le noyau Linux et aboot, distribu� s�parement. Ces deux chargeurs sont d�crits en d�tails ci-dessous.

1.1 Charger le chargeur secondaire

SRM est ignorant des syst�mes de fichiers et des partitions des disques. Il s'attend simplement � ce que le chargeur secondaire occupe un certain nombre de secteurs physiques cons�cutifs, commen�ant � une adresse donn�e. L'information concernant la taille du chargeur secondaire et l'adresse de son premier secteur est stock�e dans les 512 premiers octets. Plus pr�cisement , l'entier long occupant l'adresse 480 contient la taille du chargeur secondaire et celui occupant l'adresse 488 donne le nombre de secteurs de d�calage jusqu'au d�but du chargeur. Le premier secteur contient �galement un drapeau � l'adresse 496 qui vaut toujours 0 et une somme de contrôle � l'adresse 504. Cette somme de contrôle est simplement la somme des 63 premiers entiers longs du premier secteur.

Si cette somme est correcte, SRM continue et lit le nombre de secteurs indiqu� par la taille en commen�ant par celui indiqu� dans le champ num�ro de secteur et les place en m�moire virtuelle � l'adresse 0x20000000. Si la lecture se termine avec succ�s, SRM effectue un saut � l'adresse 0x20000000.

2. Le chargeur brut

Les sources de ce chargeur peuvent être trouv�s dans le r�pertoire

        linux/arch/alpha/boot

des sources du noyau Linux. Ce programme charge le noyau Linux en lisant START_SIZE octets en commen�ant � l'adresse BOOT_SIZE+512 (�galement en octets). Les constantes START_SIZE et BOOT_SIZE sont d�finies dans le fichier d'en-tete linux/include/asm-alpha/system.h. START_SIZE doit ê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_SIZE 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 START_SIZE et 16Ko pour BOOT_SIZE. Notez que si vous voulez d�marrer depuis une disquette de 1.44Mo, vous devez r�duire START_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 rawboot dans /usr/src/linux. Ceci devrait produire dans arch/alpha/boot les 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, .data et .bss du fichier objet /usr/src/linux/vmlinux. L'extension .nh indique 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/fd0 et 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.

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.

4. Partager un disque avec Digital Unix

Malheureusement, Digital Unix ne sait rien de Linux, aussi, partager un disque unique entre les deux syst�mes n'est pas totalement simple. Cependant, ce n'est pas une tâche difficile si vous suivez les conseils prodigu�s dans cette section. Nous consid�rerons que vous utilisez la version 0.5 ou post�rieure de aboot.

4.1 Partitionner le disque

Premi�rement et avant tout : n'utilisez jamais les programmes de partitionnement de Linux (minlabel ou fdisk) sur un disque �galement utilis� par Digital Unix. Le programme Linux minlabel utilise le même format de table de partitions que le programmme disklabel de Digital Unix, mais il existe des incompatibilit�s avec les donn�es �crites par minlabel, alors Digital Unix refusera tout simplement la table de partitions engendr�e par minlabel. Pour configurer une partition Linux ext2 sous Digital Unix, vous allez devoir changer l'entr�e disktab de votre disque. Pour illustrer notre propos, supposons que vous avez un disque rz26 (un disque de 1Go) sur lequel vous voulez installer Linux. L'entr�e disktab sous Digital Unix v3.2 ressemble � (voyez le fichier /etc/disktab) :

rz26|RZ26|DEC RZ26 Winchester:\
        :ty=winchester:dt=SCSI:ns#57:nt#14:nc#2570:\
        :oa#0:pa#131072:ba#8192:fa#1024:\
        :ob#131072:pb#262144:bb#8192:fb#1024:\
        :oc#0:pc#2050860:bc#8192:fc#1024:\
        :od#393216:pd#552548:bd#8192:fd#1024:\
        :oe#945764:pe#552548:be#8192:fe#1024:\
        :of#1498312:pf#552548:bf#8192:ff#1024:\
        :og#393216:pg#819200:bg#8192:fg#1024:\
        :oh#1212416:ph#838444:bh#8192:fh#1024:

Les champs int�ressants ici sont oit/?/; et p?, o� ? d�signe une lettre de l'intervalle a-h (les huit premi�res partitions). La valeur o indique l'adresse du d�but de la partition (en nombre de secteurs) et la valeur p donne la taille de la partition (�galement en nombre de secteurs). Reportez-vous � disktab(4) pour plus d'informations. Notez que Digital Unix aime d�finir des partitions qui se chevauchent. Pour les entr�es ci-dessus, l'organisation des partitions ressemble � cela (vous pouvez v�rifier en ajoutant les diverses valeurs o et p) :

  a     b         d           e           f
|---|-------|-----------|-----------|-----------|

                        c
|-----------------------------------------------|

                     g                 h
            |-----------------|-----------------|

Digital Unix insiste pour que la partition a commence � l'adresse 0 et que la partition c couvre l'�tendue du disque. A part cela, vous pouvez organiser la table des partitions comme bon vous semble.

Supposons que vous avez Digital Unix utilisant la partition g et que vous voulez installer Linux sur la partition h avec la partition b comme partition de swap. Pour obtenir cette organisation sans d�truire la partition Digital Unix existante, vous devez configurer explicitement les types des partitions. Vous pouvez r�aliser ceci en ajoutant un champ t pour chaque partition. Dans notre cas, nous ajoutons la ligne suivante � l'entr�e disktab.

        :ta=unused:tb=swap:tg=4.2BSD:th=reservd8:

Pourquoi avons-nous marqu� la partition h comme "reservd8" plutôt que comme "ext2" ? Bon, Digital Unix ne connait rien de Linux. Une partition de type "ext2" correspond � une valeur num�rique de 8, et Digital Unix utilise la châne "reservd8" pour cette valeur. Donc, dans le langage de Digital Unix, "reservd8" signifie "ext2". Ceci �tait la partie hardue. Maintenant, il ne nous reste plus qu'� installer la nouvelle entr�e disktab sur le disque. Consid�rons que le disque � l'ID SCSI 5. Dans ce cas, nous faisons :

disklabel -rw /dev/rrz5c rz26

Vous pouvez v�rifier que tout va bien en lisant le disklabel grâce � la commande disklabel -r /dev/rrz5c. A ce point, vous pouvez vouloir red�marrer Digital Unix et vous assurer que la partition Digital Unix est encore pr�sente et en bon �tat. Si c'est le cas, vous pouvez arr�ter la machine et commencer l'installation de LInux. Prenez soin de sauter l'�tape de partitionnement du disque lors de la proc�dure d'installation. Sachant que nous avons d�j� install� une table de partitions correcte, vous devriez être capable de proc�der � cette op�ration et de s�lectionner la huiti�me partition comme partition racine de Linux et la deuxi�me comme partition de swap. Si le disque est le deuxi�me disque SCSI de la machine, les noms de p�riph�riques pour ces deux partitions seront /dev/sdb8 et /dev/sdb2, respectivement (notez que Linux utilise des lettre pour d�signer les disques et des num�ros pour d�signer les partitions, exactement � l'inverse de Digital Unix ; le sch�ma de Linux a plus de sens bien sûr ;-).

4.2 Installer aboot

Premier obstacle : avec le firmware --> -- SRM, vous ne pouvez d�marrer qu'un et un seul syst�me d'exploitation par disque. Pour cette raison, il est g�n�ralement pr�f�rable de disposer d'au moins deux disques SCSI dans une machine sur laquelle vous d�sirez utiliser aussi bien Linux que Digital Unix. Bien sûr vous pouvez aussi d�marrer Linux depuis une disquette si la vitesse importe peu, ou par un r�seau, si vous disposez d'un serveur bootp. Mais dans cette partie, nous consid�rerons que vous souhaitez d�marrer Linux depuis un disque contenant une ou plusieurs partitions Digital Unix.

Deuxi�me obstacle : installer aboot sur un disque partag� avec Digital Unix rend les premi�re et troisi�me partitions inutilisables (sachant qu'elles doivent commencer � l'adresse 0). Pour cette raison, nous vous recommandons de changer la taille de la partition a � une valeur juste suffisament �lev�e pour contenir aboot (1Mo devrait convenir).

Une fois que ces deux obstacles sont surmont�s, installer aboot est aussi simple que d'habitude : comme les partitions a et c vont recouvrir aboot , nous devons sp�cifier � swriteboot que ceci est intentionnel . Nous pouvons le faire sous Linux avec une ligne de commande de la forme suivante (de nouveau, nous supposerons que l'on veut installer aboot sur le deuxi�me disque SCSI) :

swriteboot -f1 -f3 /dev/sdb bootlx

Le param�tre -f1 signifie que nous voulons forcer l'�criture de bootlx même s'il recouvre la premi�re partition. La même chose s'applique � la troisi�me partition.

C'est tout. Vous devriez d�sormais pouvoir arr�ter le syst�me et lancer Linux depuis le disque dur. Dans notre exemple, la ligne de commande SRM pour le faire serait :

boot dka5 -fi 8/vmlinux.gz -fl root=/dev/sdb8