  SRM Firmware Howto
  Version  originale  : David Mosberger <mailto:davidm@azstar-
  net.com>   (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 ``''

  11..  CCoommmmeenntt SSRRMM ddeemmaarrrree--tt--iill uunn ssyysstteemmee dd''eexxppllooiittaattiioonn ??

  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.

  11..11..  CChhaarrggeerr llee cchhaarrggeeuurr sseeccoonnddaaiirree

  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.

  22..  LLee cchhaarrggeeuurr bbrruutt

  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 :

     ttoooollss//llxxbboooott:
        Le premier secteur du disque. Il contient l'adresse et la taille
        du prochain fichier au format decrit ci-dessus.

     ttoooollss//bboooottllxx:
        Le lanceur brut qui chargera le fichier ci-dessous

     vvmmlliinnuuxx..nnhh:
        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.

  33..  LLee cchhaarrggeeuurr aabboooott

  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.

  33..11..  SSee pprrooccuurreerr eett iinnssttaalllleerr aabboooott

  Les  codes  sources  les  plus  recents  d'aboot  sont  disponibles  a
  l'adresse                  ftp://ftp.azstarnet.com/pub/linux/axp/aboot
  <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 :

     aabboooott
        L'executable reel (fichier objet ECOFF ou ELF),

     bboooottllxx
        Comme ci-dessus, mais ce fichier ne contient  que  les  segments
        text, data et bss (ce fichier n'est pas un fichier objet),

     ssddiisskkllaabbeell//wwrriitteebboooott
        Un utilitaire pour installer aboot sur un disque dur,

     ttoooollss//ee22wwrriitteebboooott
        Un  utilitaire  pour  installer aboot sur un systeme de fichiers
        ext2 (n'est en general utilise que pour les disquettes),

     ttoooollss//iissoommaarrkkbboooott
        Un utilitaire pour installer aboot sur un  systeme  de  fichiers
        iso9660 (utilise par les distributeurs de CD-ROM),

     ttoooollss//aabboooottccoonnff
        Un utilitaire pour configurer aboot s'il est installe.

  33..22..  IInnssttaallllaattiioonn ssuurr ddiissqquueettttee

  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

  33..33..  IInnssttaallllaattiioonn ssuurr ddiissqquuee dduurr

  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.

  33..44..  IInnssttaallllaattiioonn ssuurr CCDD--RROOMM

  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 !

  33..55..  CCoonnssttrruuiirree uunn nnooyyaauu LLiinnuuxx

  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

  33..66..  DDeemmaarrrreerr LLiinnuuxx

  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.

  33..66..11..  NNoomm dduu ffiicchhiieerr bboooott

  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).

  33..66..22..  DDrraappeeaauuxx ddee ddeemmaarrrraaggee

  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 :

     llooaadd__rraammddiisskk==11
        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.

     ffllooppppyy==_s_t_r

     rroooott==_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).

     ssiinnggllee
        Lance le systeme en mode mono-utilisateur.

     kkggddbb
        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

  33..66..22..11..  SSeelleeccttiioonnnneerr llaa ppaarrttiittiioonn ddee //eettcc//aabboooott..ccoonnff

  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.

  33..77..  DDeemmaarrrraaggee rreesseeaauu

  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.

  44..  PPaarrttaaggeerr uunn ddiissqquuee aavveecc DDiiggiittaall UUnniixx

  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.

  44..11..  PPaarrttiittiioonnnneerr llee ddiissqquuee

  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 ;-).

  44..22..  IInnssttaalllleerr aabboooott

  _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

