SRM Firmware Howto Version originale : David Mosberger (Traduction francaise : Nicolas Jadot (njadot@etu.info.unicaen.fr)) v0.5, 17 August 1996 Ce document decrit la maniere de demarrer une station Linux/Alpha utilisant le _f_i_r_m_w_a_r_e SRM, lequel est normalement utilise pour demar- rer Digital Unix. (NDT : le _f_i_r_m_w_a_r_e est un micro-code embarque sur une puce, en quelque sorte l'equivalent du BIOS des PC) En general, il est preferable d'utiliser MILO a la place du programme aboot sachant que MILO est parfaitement adapte aux besoins de Linux. Cependant, MILO n'existe pas sur tous les systemes et ne permet pas encore de demarrer sur un reseau. Dans ces cas la, utiliser la console SRM est peut-etre la bonne solution. A moins que vous soyiez interesses par les details techniques, vous pouvez passer directement a la section ``'' 11.. CCoommmmeenntt SSRRMM ddeemmaarrrree--tt--iill uunn ssyysstteemmee dd''eexxppllooiittaattiioonn ?? Toutes les versions de SRM peuvent demarrer a partir d'un disque SCSI et les versions destinees aux plates-formes recentes, comme les Noname et AlphaStations, peuvent de plus demarrer depuis une disquette. Le demarrage reseau via bootp est egalement supporte. Notez que les anciennes versions de SRM (notamment celles pour Jensen) _n_e _p_o_u_v_a_i_e_n_t _p_a_s demarrer depuis une disquette. Le demarrage depuis un disque IDE n'est pas supporte. Le demarrage de Linux avec SRM s'effectue en deux etapes : d'abord, SRM charge et transfere le controle a un chargeur secondaire. Ensuite, ce chargeur secondaire met en place l'environnement de Linux, lit l'image du noyau depuis un systeme de fichiers sur disque et donne la main a Linux. A l'heure actuelle il existe deux chargeurs secondaires pour Linux : le chargeur _b_r_u_t fourni avec le noyau Linux et aboot, distribue separement. Ces deux chargeurs sont decrits en details ci-dessous. 11..11.. CChhaarrggeerr llee cchhaarrggeeuurr sseeccoonnddaaiirree SRM est ignorant des systemes de fichiers et des partitions des disques. Il s'attend simplement a ce que le chargeur secondaire occupe un certain nombre de secteurs physiques consecutifs, commencant a une adresse donnee. L'information concernant la taille du chargeur secondaire et l'adresse de son premier secteur est stockee dans les 512 premiers octets. Plus precisement , l'entier long occupant l'adresse 480 contient la _t_a_i_l_l_e du chargeur secondaire et celui occupant l'adresse 488 donne le _n_o_m_b_r_e _d_e _s_e_c_t_e_u_r_s de decalage jusqu'au debut du chargeur. Le premier secteur contient egalement un drapeau a l'adresse 496 qui vaut toujours 0 et une somme de controle a l'adresse 504. Cette somme de controle 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 indique par la _t_a_i_l_l_e en commencant par celui indique dans le champ _n_u_m_e_r_o _d_e _s_e_c_t_e_u_r et les place en memoire _v_i_r_t_u_e_l_l_e a l'adresse 0x20000000. Si la lecture se termine avec succes, SRM effectue un saut a l'adresse 0x20000000. 22.. LLee cchhaarrggeeuurr bbrruutt Les sources de ce chargeur peuvent etre trouves dans le repertoire linux/arch/alpha/boot des sources du noyau Linux. Ce programme charge le noyau Linux en lisant START_SIZE octets en commencant a l'adresse BOOT_SIZE+512 (egalement en octets). Les constantes START_SIZE et BOOT_SIZE sont definies dans le fichier d'en-tete linux/include/asm-alpha/system.h. START_SIZE doit etre au moins aussi eleve que la taille de l'image du noyau (i.e, la somme des tailles des segments .text, .data, et .bss ). De meme, BOOT_SIZE doit etre au moins aussi eleve 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 defaut sont 2Mo pour START_SIZE et 16Ko pour BOOT_SIZE. Notez que si vous voulez demarrer depuis une disquette de 1.44Mo, vous devez reduire START_SIZE a 1400Ko et vous assurer que la taille du noyau que vous voulez demarrer ne depasse 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 : ttoooollss//llxxbboooott: Le premier secteur du disque. Il contient l'adresse et la taille du prochain fichier au format decrit ci-dessus. ttoooollss//bboooottllxx: Le lanceur brut qui chargera le fichier ci-dessous vvmmlliinnuuxx..nnhh: L'image brute du noyau constituee des segments .text, .data et .bss du fichier objet /usr/src/linux/vmlinux. L'extension .nh indique que ce fichier n'a pas l'entete d'un fichier objet. La concatenation de ces trois fichiers devrait etre ecrite sur le disque a partir duquel vous voulez demarrer. Par exemple, pour demarrer depuis une disquette, inserez une disquette vierge dans le lecteur, soit /dev/fd0 et ensuite tapez : cat tools/lxboot tools/bootlx vmlinux >/dev/fd0 Vous pouvez maintenant arreter le systeme et demarrer depuis une disquette en utilisant la commande boot dva0. 33.. LLee cchhaarrggeeuurr aabboooott Si vous utilisez le _f_i_r_m_w_a_r_e SRM, aboot est la meilleure facon de demarrer Linux. Il supporte : +o demarrage direct depuis divers systemes de fichiers (ext2, ISO9660, et UFS, le systeme de fichiers de Digital Unix), +o lancement de fichiers objets executables (ELF et ECOFF), +o lancement de noyaux compresses, +o demarrage par reseau (en utilisant le protocole bootp), +o table de partitions au format Digital Unix (compatible avec les tables de partitions de BSD), +o demarrage interactif et configurations par defaut des consoles SRM qui n'acceptent pas les longues chaines d'option. 33..11.. SSee pprrooccuurreerr eett iinnssttaalllleerr aabboooott Les codes sources les plus recents d'aboot sont disponibles a l'adresse ftp://ftp.azstarnet.com/pub/linux/axp/aboot . La description de ce manuel s'applique a aboot pour les versions 0.5 et suivantes. Une fois que vous avez telecharge 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-a-vis de votre environnement . Normalement, vous ne devriez pas avoir a changer quoi que ce soit pour compiler sous Linux, mais c'est toujours une bonne chose de verifier. Si la configuration vous convient, tapez simplement make pour lancer la compilation (si vous n'effectuez pas cette operation sous Linux, sachez que aboot requiert GNU make). Apres l'execution de make, le repertoire aboot devrait contenir les fichiers suivants : aabboooott L'executable reel (fichier objet ECOFF ou ELF), bboooottllxx Comme ci-dessus, mais ce fichier ne contient que les segments text, data et bss (ce fichier n'est pas un fichier objet), ssddiisskkllaabbeell//wwrriitteebboooott Un utilitaire pour installer aboot sur un disque dur, ttoooollss//ee22wwrriitteebboooott Un utilitaire pour installer aboot sur un systeme de fichiers ext2 (n'est en general utilise que pour les disquettes), ttoooollss//iissoommaarrkkbboooott Un utilitaire pour installer aboot sur un systeme de fichiers iso9660 (utilise par les distributeurs de CD-ROM), ttoooollss//aabboooottccoonnff Un utilitaire pour configurer aboot s'il est installe. 33..22.. IInnssttaallllaattiioonn ssuurr ddiissqquueettttee Le lanceur peut etre installe sur une disquette en utilisant la commande e2writeboot (note : ceci ne peut se faire sur un Jensen car son _f_i_r_m_w_a_r_e n'implante pas le demarrage depuis une disquette). Cette commande necessite que le disque ne soit pas trop fragmente car elle a besoin de trouver suffisament de secteurs contigus pour stocker l'image entiere de aboot (actuellement, environ 90Ko). Si e2writeboot echoue a cause de ca, reformatez la disquette et reessayez (par ex., avec fdformat(1)). Par exemple, la procedure suivante installe aboot sur une disquette en supposant que la disquette est dans le lecteur correspondant a /dev/fd0 : fdformat /dev/fd0 mke2fs /dev/fd0 e2writeboot /dev/fd0 bootlx 33..33.. IInnssttaallllaattiioonn ssuurr ddiissqquuee dduurr Sachant que la commande e2writeboot peut echouer sur un disque hautement fragmente et comme le reformattage d'un disque dur ne se fait pas sans peine, il est generalement plus sur d'installer aboot sur un disque dur en utilisant la commande swriteboot. swriteboot necessite que les premiers secteurs soient reserves aux procedures de demarrage. Nous suggerons que le disque soit partitionne de maniere a ce que la premiere partition commence a une adresse correspondant a 2048 secteurs. Cela laisse 1Mo d'espace ibre pour stocker aboot. Sur un disque partitionne de cette facon , il est alors possible d'installer aboot comme decrit ci-dessous (en supposant que le disque correspond a /dev/sda.) : swriteboot /dev/sda bootlx Sur un Jensen, vous devrez laisser un peu plus d'espace, sachant que vous devrez egalement stocker le noyau a cet endroit - 2Mo devraient suffire en utilisant une image compressee. Utilisez swriteboot comme decrit a la section ``'' pour ecrire bootlx avec le noyau Linux. 33..44.. IInnssttaallllaattiioonn ssuurr CCDD--RROOMM Pour construire un CD-ROM amorcable avec SRM, construisez simplement aboot comme decrit ci-dessus. Assurez-vous ensuite que le fichier bootlx est present sur le systeme de fichiers iso9660 (e.g., copiez bootlx dans le repertoire ou est monte le systeme de fichiers) , et lancez mkisofs sur ce repertoire). Apres cela, la seule chose restant a faire est de marquer le systeme de fichiers comme amorcable avec SRM. Cela est realise grace a une commande de la forme : isomarkboot filesystem bootlx La commande ci-dessus necessite que filesystem est un fichier contenant le systeme de fichiers iso9660 et que bootlx a ete copie dans la racine de ce systeme de fichiers. C'est tout ! 33..55.. CCoonnssttrruuiirree uunn nnooyyaauu LLiinnuuxx Un noyau Linux amorcable peut etre construit par les etapes suivantes. Durant le make config, assurez-vous de repondre "oui" (_"_y_e_s_") a la question concernant le lancement du noyau par SRM. cd /usr/src/linux make config make dep make boot La derniere commande construira le fichier arch/alpha/boot/vmlinux.gz qui peut alors etre copie sur le disque a partir duquel vous desirez demarrer. Dans notre exemple precedent concernant la disquette, cela donnerai : mount /dev/fd0 /mnt cp arch/alpha/boot/vmlinux.gz /mnt umount /mnt 33..66.. DDeemmaarrrreerr LLiinnuuxx Avec le _f_i_r_m_w_a_r_e SRM et aboot installe, le demarrage de Linux s'effectue generalement avec une commande de la forme : boot _d_e_v_i_c_e_n_a_m_e -fi _f_i_l_e_n_a_m_e -fl _f_l_a_g_s Les arguments _f_i_l_e_n_a_m_e et _f_l_a_g_s sont optionels. S'ils ne sont pas specifies, SRM utilise les valeurs par defaut contenues dans les variables d'environnement BOOT_OSFILE et BOOT_OSFLAGS. La syntaxe et la signification de ces deux arguments est decrite plus en detail ci- dessous. 33..66..11.. NNoomm dduu ffiicchhiieerr bboooott L'argument _f_i_l_e_n_a_m_e est de la forme : [_n/]_f_i_l_e_n_a_m_e _n est un simple nombre dans l'intervalle 1..8 qui donne le numero de la partition de demarrage. _f_i_l_e_n_a_m_e est le chemin d'acces au fichier a lancer. Par exemple, pour demarrer depuis la deuxieme partition du sixieme disque SCSI, vous entreriez : boot dka600 -file 2/vmlinux.gz Ou, pour demarrer depuis le premier lecteur de disquette : boot dva0 -file vmlinux.gz Si un disque n'a pas de table des partitions, aboot considere que le disque contient une partition ext2 commencant au premier bloc du disque. Cela permet de demarrer depuis une disquette. Le numero de partition 0 est utilise pour demander le demarrage depuis un disque qui ne contient pas (encore) de systeme de fichiers. Si l'on specifie le numero de "partition" 0, aboot considere que le noyau Linux suit directement l'image de aboot. Une telle chose peut etre realisee avec la commande swriteboot. Par exemple, pour configurer un demarrage sans systeme de fichiers depuis /dev/sda, on pourrait utiliser la commande : swriteboot /dev/sda bootlx vmlinux.gz Demarrer un systeme de cette facon n'est pas obligatoirement necessaire. La raison d'etre de cette fonctionnalite est de permettre l'installation de Linux sur un systeme qui ne peut demarrer depuis une disquette (e.g., le Jensen). 33..66..22.. DDrraappeeaauuxx ddee ddeemmaarrrraaggee Plusieurs drapeaux de demarrage peuvent etre specifies. La syntaxe en est : -flags "options..." Ou "options..." est une combinaison des options suivantes (separees par des espace). Il y a encore plus d'options, en fonction des pilotes que le noyau a installe. Les options listees ci-apres ne sont la que pour illustrer l'idee generale : llooaadd__rraammddiisskk==11 Copie le systeme de fichiers racine depuis une disquette vers un disque virtuel en memoire avant de lancer le systeme. Ce disque virtuel sera utilise en lieu et place du peripherique racine. Ceci est utile pour demarrer Linux sur une machine qui ne possede qu'un lecteur de disquettes. ffllooppppyy==_s_t_r rroooott==_d_e_v Selectionne le peripherique _d_e_v comme systeme de fichiers racine. Le peripherique peut etre specifie comme la combinaison des numeros _m_a_j_o_r_/_m_i_n_o_r du fichier de peripherique en hexadecimal (e.g., 0x802 pour /dev/sda2) ou un nom de fichier de peripherique (e.g.,/dev/fd0, /dev/sda2). ssiinnggllee Lance le systeme en mode mono-utilisateur. kkggddbb Autorise _k_e_r_n_e_l_-_g_d_b (ne fonctionne que si CONFIG_KGDB est active ; un deuxieme systeme Alpha doit etre connecte par voie serie pour que cela fonctionne). Quelques implementations de SRM (e.g., celle du Jensen) sont limitees et n'autorisent que les chaines d'options de courte longueur (e.g., au plus 8 caracteres). Dans ce cas la, aboot peut etre demarre avec le drapeau de demarrage "i". Avec ce drapeau, aboot demandera a l'utilisateur d'entrer une chaine d'options pouvant atteindre 256 caracteres. Par exemple : boot dka0 -fl i aboot> 3/vmlinux.gz root=/dev/sda3 single Comme demarrer de cette facon devient rapidement penible , aboot autorise l'utilisateur a definir des raccourcis pour les lignes de commande frequemment utilisees. En particulier, une option donnee par un chiffre -- option --> (0-9) demande a aboot d'utiliser l'option correspondante dans le fichier /etc/aboot.conf. Un exemple de fichier aboot.conf est donne 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 a la commande de demarrage donnee ci-dessus. Il est cependant facile d'oublier la correspondance entre les numeros et les chaines d'options. Pour eviter ce probleme, demarrez avec l'option "h" et aboot affichera le contenu de /etc/aboot.conf avant d'afficher l'invite demandant la chaine d'option entiere. En conclusion, meme si aboot demande l'entree d'une chaine d'options, il est possible d'entrer un simple caractere ("i", "h", ou "0"-"9") pour obtenir le meme resultat que si le drapeau avait ete specifie sur la ligne de commande de demarrage. Par exemple, vous pouvez demarrer avec le drapeau "i", taper ensuite "h" (suivi par entree) pour vous rappeler le contenu de /etc/aboot.conf 33..66..22..11.. SSeelleeccttiioonnnneerr llaa ppaarrttiittiioonn ddee //eettcc//aabboooott..ccoonnff Quand aboot est installe sur un disque dur, il a besoin de savoir sur quel partition il lui faut chercher le fichier /etc/aboot.conf. Nouvellement compile, aboot cherchera sur la deuxieme partition (/dev/sda2). Comme il serait contraignant d'avoir a recompiler aboot uniquement pour changer le numero de la partition, abootconf autorise a directement modifier aboot deja installe. Par exemple, si vous desiriez changer aboot afin qu'il utilise la _t_r_o_i_s_i_e_m_e partition du disque /dev/sda, vous utiliseriez la commande : abootconf /dev/sda 3 Vous pouvez verifier le reglage courant simplement en omettant le numero de partition. Alors, abootconf /dev/sda affichera la partition actuellement selectionnee. Notez que aboot etre deja installe pour que cette commande reussisse. Aussi, lors de l'installation d'un nouvel aboot, le numero de partition redeviendra celui par defaut (i.e., il sera necessaire de relancer abootconf). Depuis la version 0.5 de aboot, il est egalement possible de selectionner la partition contenant le fichier aboot.conf depuis la ligne de commande de demarrage. Cela peut etre fait avec une ligne de commande de la forme _a:_b ou _a est le numero de la partition contenant /etc/aboot.conf et _b est une option d'une lettre comme decrit plus haut (0-9, i, ou h). Par exemple, si vous tapez boot -fl "3:h" dka100 le systeme demarre depuis SCSI ID 1, charge /etc/aboot.conf depuis la troisieme partition, affiche son contenu a l'ecran et attend que vous entriez les options de demarrage. 33..77.. DDeemmaarrrraaggee rreesseeaauu Deux etapes preliminaires sont necessaires avant que Linux puisse demarrer par un reseau. Premierement, vous devrez positionner les variables d'environnement de SRM pour permettre le demarrage _v_i_a le protocole bootp et deuxiemement vous devrez configurer une autre machine comme serveur de demarrage. Reportez-vous a la documentation de SRM fournie avec votre machine pour toute information sur la mise en place de bootp. Configurer le serveur de demarrage depend etroitement du systeme d'exploitation de cette machine, mais typiquement cela necessite de lancer le programme bootpd en tache de fond apres avoir configure le fichier /etc/bootptab. Le fichier bootptab possede une entree par machine cliente autorisee a demarrer depuis le serveur. Par exemple, si vous voulez demarrer la machine myhost.cs.arizona.edu, une entree de la forme suivante serait necessaire : myhost.cs.arizona.edu:\ :hd=/remote/:bf=vmlinux.bootp:\ :ht=ethernet:ha=08012B1C51F8:hn:vm=rfc1048:\ :ip=192.12.69.254:bs=auto: Cette entree considere que l'adresse Ethernet de la machine est 08012B1C51F8 et que son adresse IP est 192.12.69.254. L'adresse Ethernet peut etre trouvee grace a la commande show device de la console SRM ou, si Linux est lance, avec la commande ifconfig. L'entree precise egalement que si le client ne declare pas le contraire, le fichier qui sera lance sera le fichier vmlinux.bootp du repertoire /remote. Pour plus d'informations sur la configuration de bootpd, reportez-vous a sa page de manuel. Ensuite, construiser aboot grace a la commande make netboot. Assurez- vous que le noyau que vous desirez lancer a deja ete construit. Par defaut, le Makefile du programme aboot utilise le noyau /usr/src/linux/arch/alpha/boot/vmlinux.gz (editez le Makefile si vous desirez utiliser un autre chemin d'acces). Le resultat de make netboot est un fichier nomme vmlinux.bootp contenant aboot _e_t le noyau Linux, pret pour le demarrage par reseau. Enfin, copiez vmlinux.bootp dans le repertoire du serveur de demarrage. Dans l'exemple plus haut, vous l'auriez copie dans le repertoire /remote/. Ensuite, allumez la machine client et demarrez la, en specifiant l'adaptateur Ethernet comme peripherique de demarrage. SRM nomme typiquement le premier adaptateur Ethernet ewa0, donc, pour demarrer depuis ce peripherique, vous utiliserez la commande : boot ewa0 Les options -fi et -fl sont utilisable comme d'habitude. En particulier, vous pouvez demander a aboot d'attendre l'entree d'arguments pour le noyau Linux en specifiant l'option -fl i. 44.. PPaarrttaaggeerr uunn ddiissqquuee aavveecc DDiiggiittaall UUnniixx Malheureusement, Digital Unix ne sait rien de Linux, aussi, partager un disque unique entre les deux systemes n'est pas totalement simple. Cependant, ce n'est pas une tache difficile si vous suivez les conseils prodigues dans cette section. Nous considererons que vous utilisez la version 0.5 ou posterieure de aboot. 44..11.. PPaarrttiittiioonnnneerr llee ddiissqquuee Premierement et avant tout : n'utilisez _j_a_m_a_i_s les programmes de partitionnement de Linux (minlabel ou fdisk) sur un disque egalement utilise par Digital Unix. Le programme Linux minlabel utilise le meme format de table de partitions que le programmme disklabel de Digital Unix, mais il existe des incompatibilites avec les donnees ecrites par minlabel, alors Digital Unix refusera tout simplement la table de partitions engendree par minlabel. Pour configurer une partition Linux ext2 sous Digital Unix, vous allez devoir changer l'entree _d_i_s_k_t_a_b 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'entree _d_i_s_k_t_a_b sous Digital Unix v3.2 ressemble a (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 interessants ici sont oit/?/; et p_?, ou _? designe une lettre de l'intervalle a-h (les huit premieres partitions). La valeur o indique l'adresse du debut de la partition (en nombre de secteurs) et la valeur p donne la taille de la partition (egalement en nombre de secteurs). Reportez-vous a disktab(4) pour plus d'informations. Notez que Digital Unix _a_i_m_e definir des partitions qui se chevauchent. Pour les entrees ci-dessus, l'organisation des partitions ressemble a cela (vous pouvez verifier 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 a l'adresse 0 et que la partition c couvre l'etendue 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 detruire la partition Digital Unix existante, vous devez configurer explicitement les types des partitions. Vous pouvez realiser ceci en ajoutant un champ t pour chaque partition. Dans notre cas, nous ajoutons la ligne suivante a l'entree _d_i_s_k_t_a_b. :ta=unused:tb=swap:tg=4.2BSD:th=reservd8: Pourquoi avons-nous marque la partition h comme "reservd8" plutot que comme "ext2" ? Bon, Digital Unix ne connait rien de Linux. Une partition de type "ext2" correspond a une valeur numerique de 8, et Digital Unix utilise la chane "reservd8" pour cette valeur. Donc, dans le langage de Digital Unix, "reservd8" signifie "ext2". Ceci etait la partie hardue. Maintenant, il ne nous reste plus qu'a installer la nouvelle entree _d_i_s_k_t_a_b sur le disque. Considerons que le disque a l'ID SCSI 5. Dans ce cas, nous faisons : disklabel -rw /dev/rrz5c rz26 Vous pouvez verifier que tout va bien en lisant le _d_i_s_k_l_a_b_e_l grace a la commande disklabel -r /dev/rrz5c. A ce point, vous pouvez vouloir redemarrer Digital Unix et vous assurer que la partition Digital Unix est encore presente et en bon etat. Si c'est le cas, vous pouvez arreter la machine et commencer l'installation de LInux. Prenez soin de sauter l'etape de partitionnement du disque lors de la procedure d'installation. Sachant que nous avons deja installe une table de partitions correcte, vous devriez etre capable de proceder a cette operation et de selectionner la huitieme partition comme partition racine de Linux et la deuxieme comme partition de swap. Si le disque est le deuxieme disque SCSI de la machine, les noms de peripheriques pour ces deux partitions seront /dev/sdb8 et /dev/sdb2, respectivement (notez que Linux utilise des lettre pour designer les disques et des numeros pour designer les partitions, exactement a l'inverse de Digital Unix ; le schema de Linux a plus de sens bien sur ;-). 44..22.. IInnssttaalllleerr aabboooott _P_r_e_m_i_e_r _o_b_s_t_a_c_l_e : avec le _f_i_r_m_w_a_r_e --> -- SRM, vous ne pouvez demarrer qu'un et un seul systeme d'exploitation par disque. Pour cette raison, il est generalement preferable de disposer d'au moins deux disques SCSI dans une machine sur laquelle vous desirez utiliser aussi bien Linux que Digital Unix. Bien sur vous pouvez aussi demarrer Linux depuis une disquette si la vitesse importe peu, ou par un reseau, si vous disposez d'un serveur bootp. Mais dans cette partie, nous considererons que vous souhaitez demarrer Linux depuis un disque contenant une ou plusieurs partitions Digital Unix. _D_e_u_x_i_e_m_e _o_b_s_t_a_c_l_e : installer aboot sur un disque partage avec Digital Unix rend les premiere et troisieme partitions inutilisables (sachant qu'elles doivent commencer a l'adresse 0). Pour cette raison, nous vous recommandons de changer la taille de la partition a a une valeur juste suffisament elevee pour contenir aboot (1Mo devrait convenir). Une fois que ces deux obstacles sont surmontes, installer aboot est aussi simple que d'habitude : comme les partitions a et c vont recouvrir aboot , nous devons specifier a 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 deuxieme disque SCSI) : swriteboot -f1 -f3 /dev/sdb bootlx Le parametre -f1 signifie que nous voulons forcer l'ecriture de bootlx meme s'il recouvre la premiere partition. La meme chose s'applique a la troisieme partition. C'est tout. Vous devriez desormais pouvoir arreter le systeme 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 .