  Utilisation de MILO (Alpha Miniloader Howto)
  David A. Rusling, david.rusling@reo.mts.dec.com
  v0.84, 6 Dcembre 1996

  Ce document expose le fonctionnement du Miniloader, un programme pour
  les machines Alpha qui sert  initialiser le systme et dmarrer
  Linux. Le "Alpha Linux Miniloader" (pour tre exact) est galement
  dnomm MILO.
  ______________________________________________________________________

  Table des matires


  1. Introduction

     1.1 Droits d'auteurs (Copyright)
     1.2 Nouvelles versions de ce document

  2. Qu'est-ce que MILO ?

  3. Images prcompiles de MILO

  4. Comment compiler MILO ?

  5. Comment charger MILO ?

     5.1 Chargement de MILO depuis la console ARC pour Windows NT
     5.2 Dmarrage de MILO depuis l'AlphaBIOS Windows NT
     5.3 Dmarrage de MILO depuis le Debug Monitor des cartes d'valuation
     5.4 Chargement de MILO depuis une disquette de dmarrage failsafe
     5.5 Dmarrage de MILO  partir de la mmoire Flash
     5.6 Dmarrage de MILO par le biais de la console SRM
     5.7 Informations spcifiques  certains systmes
        5.7.1 AXPpci33 (Noname)
        5.7.2 AlphaPC64 (Cabriolet)
        5.7.3 EB 66+
        5.7.4 EB 64+ / Aspen Alpine
        5.7.5 Universal Desktop Box (Multia)
        5.7.6 EB 164
        5.7.7 PC164
        5.7.8 XL266
        5.7.9 Platform2000

  6. L'interface utilisateur de MILO

     6.1 La commande help
     6.2 Dmarrage de Linux
     6.3 Redmarrage de Linux
     6.4 La commande ''bootopt''

  7. Excution du gestionnaire de mmoire flash

     7.1 La commande ''help''
     7.2 La commande ''list''
     7.3 La commande ''program''
     7.4 La commande ''environment''
     7.5 La commande ''bootopt''
     7.6 La commande ''quit''

  8. Restrictions

  9. Dpannage

  10. Remerciements


  ______________________________________________________________________

  11..  IInnttrroodduuccttiioonn

  Ce document expose le fonctionnement du logiciel MILO (Miniloader)
  pour Alpha AXP. Ce logiciel de console a pour fonction d'initialiser
  le systme Alpha AXP, de charger et dmarrer Linux et, pour finir, il
  met un PALcode  disposition de Linux.


  11..11..  DDrrooiittss dd''aauutteeuurrss ((CCooppyyrriigghhtt))

  Ce document a t ralis en 1995, 1996, 1997 par David A Rusling. (c)
  Copyright 1995, 1996, 1997.

  Document traduit de l'anglais en 1997 par Frdric Aime
  (fred@castor.unice.fr) et "Les ditions du Soleil" (c) Copyright "Les
  ditions du Soleil" 1997. Maintenance de la version SGML par Miodrag
  Vallat (miodrag@multimania.com).


  CCooppyyrriigghhtt.. Comme il en est de tous les documents HOWTO pour Linux,
  cette documentation peut tre reproduite, distribue intgralement ou
  en partie seulement sur n'importe quel mdia, physique ou
  lectronique, du moment que cet avertissement sur les droits d'auteur
  est prsent sur toutes les copies. L'utilisation commerciale est
  autorise et encourage ; cependant l'auteur est _d__s_i_r_e_u_x d'tre
  averti de ces utilisations. Vous pouvez traduire ce document dans
  n'importe quelle langue  partir du moment o cette note ainsi que la
  dcharge de responsabilit  sont conserves intacte et qu'une notice
  prsentant le traducteur y figure.


  DDcchhaarrggee ddee rreessppoonnssaabbiilliitt.. Bien qu'ayant essay d'inclure les
  informations les plus prcises et correctes  ma disposition, je ne
  peux garantir que l'utilisation faite de ce document n'aboutisse pas 
  des pertes de donnes ou de matriels. Je n'apporte ABSOLUMENT AUCUNE
  GARANTIE quant aux informations contenues dans ce document ; de ce
  fait je ne pourrais tre tenu, en aucun cas, pour responsable des
  consquences de son utilisation.


  11..22..  NNoouuvveelllleess vveerrssiioonnss ddee ccee ddooccuummeenntt

  La dernire version de ce document est disponible  l'adresse
  suivante : <ftp://gatekeeper.dec.com/pub/Digital/Linux-
  Alpha/Miniloader/docs> et David Mosberger-Tang a eu l'amabilit de
  l'inclure sous la forme d'une page Web sur l'excellent site Linux pour
  Alpha : <http://www.azstarnet.com/axplinux>.


  22..  QQuu''eesstt--ccee qquuee MMIILLOO ??

  Sur machines Intel, le BIOS configure le systme et ensuite charge,
  depuis le secteur d'amorage d'un disque DOS, une image  excuter.
  Cela est en quelque sorte la fonction principale de MILO sur un
  systme Alpha. Il existe toutefois un certain nombre de diffrences
  entre BIOS et MILO, notamment le fait que MILO intgre certains
  pilotes de priphriques Linux inchangs. MILO est un logiciel appel
  FirmWare,  l'inverse de LILO qui dpend du logiciel FirmWare BIOS
  responsable de son chargement et de son excution en mmoire centrale.
  Les principales fonctions de MILO sont :


  1. PALcode ;

  2. Initialisation du gestionnaire de mmoire. (construction des tables
     de pages et mise en service de l'adressage virtuel) ;

  3. Logiciel d'affichage (Code d'mulation BIOS et TGA (21030)) ;

  4. Une partie du noyau Linux. Incluant, par exemple, un gestionnaire
     d'interruption qui fait office de noyau Linux ;

  5. Gestionnaires de priphriques en mode bloc (par exemple le pilote
     de disquettes) ;

  6. Un support des systmes de fichiers (ext2, MS-DOS et ISO9660) ;

  7. Un logiciel d'interface utilisateur (MILO) ;

  8. Une interface avec le noyau (configure le HWRPB et la cartographie
     de la mmoire spcifiques  linux) ;

  9. Configuration de la NVRAM (mmoire non volatile) pour la gestion de
     variables d'environnement.


  Les paragraphes suivants dcrivent ces fonctionnalits plus en dtail.


  Le PALcode peut tre peru comme une minuscule couche logicielle qui
  prpare le processeur Alpha en vue de l'utilisation d'un systme
  d'exploitation spcifique. Il fonctionne dans un mode spcial du
  processeur (PALmode) qui a certaines limitations mais utilise les
  instructions standard des processeurs Alpha,  plus cinq instructions
  supplmentaires. De cette manire le processeur Alpha peut excuter
  une grande diversit de systmes d'exploitation tels que Windows NT,
  OpenVMS, Digital Unix et bien sr Linux. Le PALcode que MILO utilise
  (et in extenso Linux lui-mme) est, comme le reste de MILO un
  freeware. Il est inspir d'un exemple de PALcode pour Digital Unix que
  Digital fournissait avec ses premires cartes d'valuation. Les
  diffrences entre les PALcode sont dues  des diffrences qui existent
  dans la cartographie de la mmoire, dans la gestion des interruptions
  entre les diffrentes versions du processeur Alpha (par exemple le
  21066 possde une cartographie des entres-sorties diffrente de
  l'association du 21064 avec les contrleurs E/S de la famille 2107x,
  en effet le 21066 intgre un quivalent de ce contrleur sur son
  support).


  Pour que MILO fonctionne correctement il lui faut savoir quelle est la
  quantit de mmoire disponible,  quel endroit Linux peut
  ventuellement tre charg en mmoire, et il doit, de plus, tre
  capable d'allouer temporairement de la mmoire pour les pilotes de
  priphriques Linux. Le code contient une cartographie de la mmoire
  qui comporte des espaces disponibles pour une allocation de pages
  mmoire permanentes ou temporaires. Lorsqu'il dmarre, MILO se
  dcompresse  l'emplacement mmoire adquat. Lorsqu'il transfre le
  contrle au noyau Linux, il rserve un espace pour une instance
  compresse de lui-mme, pour le PALcode (indispensable au
  fonctionnement du noyau) ainsi que quelques structures de donnes.
  Cela laisse la quasi-totalit de la mmoire centrale libre pour Linux.


  L'opration finale du gestionnaire mmoire est de configurer et
  d'activer l'adressage virtuel afin que les structures de donnes
  attendues par Linux soient  leur place en mmoire virtuelle.


  MILO contient du code d'initialisation de l'affichage qui prpare le
  systme graphique  l'utilisation de Linux.  Il dtectera et utilisera
  un adaptateur VGA s'il est prsent, sinon il essaiera d'utiliser le
  pilote TGA (21030). S'il y a chec de cette initialisation, MILO
  considrera qu'il n'y a aucun priphrique graphique sur le systme.
  L'mulation BIOS incluse dans MILO est en fait celle de Digital qui
  est capable de supporter la plupart, voire la totalit, des cartes
  graphiques disponibles.


  Les pilotes de priphriques de Linux rsident dans le noyau dont ils
  attendent un certain nombre de services. Certains de ces services sont
  directement fournis par le code du noyau Linux inclus dans MILO.  Par
  exemple la gestion des interruptions est ralise par un ensemble de
  fonctions similaires  celles du vrai noyau Linux.


  La fonctionnalit la plus puissante de MILO est de permettre
  l'inclusion de n'importe quel pilote Linux sans apporter de
  modifications.  Cela lui offre la possibilit d'tre compatible avec
  n'importe quel priphrique compatible avec Linux. MILO contient, en
  standard, tous les pilotes de priphriques en mode bloc du noyau
  Linux.


  MILO charge le noyau Linux depuis un vrai systme de fichiers plutt
  que depuis un secteur d'amorage ou d'autres emplacements tranges. Il
  supporte les systmes de fichiers MSDOS, EXT2 et ISO9660. Les fichiers
  GZIPps sont galement reconnus et recommands, en particulier lors
  d'un chargement  partir d'une disquette qui reste un support
  relativement lent. MILO les reconnat grce  leur suffixe _._g_z.


  Un gestionnaire de clavier rudimentaire est inclus dans MILO si bien
  qu'avec un pilote de priphrique vido d'une simplicit gale il
  dispose d'une interface utilisateur simple.  Cette interface permet de
  lister les systmes de fichiers disponibles par le biais de pilotes de
  priphriques configurs, de dmarrer Linux ou des utilitaires de
  mises  jour de la mmoire flash, de dfinir des variables
  d'environnement agissant sur le dmarrage du systme. Comme avec LILO
  vous pouvez transmettre des arguments au noyau.


  MILO doit renseigner le noyau Linux sur la nature du matriel sous-
  jacent (type de carte mre, quantit de mmoire RAM totale et quantit
  libre). Il effectue cela en utilisant les informations contenues dans
  le HWRPB.  Celles-ci sont disposes aux emplacements appropris en
  mmoire virtuelle juste avant que le contrle du systme ne soit
  transfr au noyau Linux.


  33..  IImmaaggeess pprrccoommppiilleess ddee MMIILLOO

  Si vous envisagez d'utiliser Linux sur un systme Alpha standard, un
  ensemble d'images prcompiles "standard" est  votre disposition.
  Celles-ci ainsi que leurs sources et bien d'autres choses
  intressantes sont disponibles  l'adresse suivante :
  <ftp://gatekeeper.dec.com/pub/Digital/Linux-Alpha/Miniloader>.


  Le sous-rpertoire images contient un rpertoire par type de systme
  standard (ex : AlphaPC64) adoptant les conventions de nomenclatures
  suivantes :


  1. MILO - Image de MILO, celle-ci peut tre dmarre de diverses
     manires ;

  2. fmu.gz - Utilitaire de gestion de la mmoire flash ;

  3. MILO.dd - Image d'une disquette bootable de MILO, pouvant tre
     reproduite grce  rawrite.exe sous DOS ou dd sous Linux.


  Le sous-rpertoire test-images contient un ensemble d'images
  exprimentales sous la mme forme que les prcdentes. Bien
  qu'exprimentales, ces images tendent  contenir les dernires
  fonctionnalits.


  44..  CCoommmmeenntt ccoommppiilleerr MMIILLOO ??

  La compilation de MILO s'effectue de manire indpendante du noyau.
  tant donn qu'il requiert des parties du noyau pour fonctionner, vous
  devrez, en premier lieu, configurer un noyau qui corresponde au
  systme auquel MILO est destin. Cela correspond  attribuer le mme
  numro de version  MILO que celui du noyau utilis pour le
  construire. Ainsi MILO-2.0.25.tar.gz sera compil  l'aide de
  linux-2.0.25.tar.gz. MILO peut tre compil correctement avec une
  version plus rcente du noyau, mais avec celle-ci ce ne sera pas le
  cas. tant donn que les librairies dynamiques sont compltement
  fonctionnelles, il existe deux versions des sources de MILO. Pour
  effectuer la compilation de MILO dans sa version ELF vous devez
  premirement extraire les sources standard puis appliquer un patch 
  ces dernires, correspondant au numro de version du patch ELF. Je
  considrerai, dans la suite de ce document, que les sources et les
  fichiers objets du noyau sont situs dans le rpertoire
  /usr/src/linux, et que le noyau a t correctement compil  l'aide de
  la commande make boot.


  Pour compiler MILO, allez dans le rpertoire contenant les sources de
  MILO et faites appel  la commande make de la manire suivante :


       $ make KSRC=/usr/src/linux config





  De mme que pour la compilation du noyau, le systme vous posera un
  certain nombre de questions.



       Echo output to the serial port (MINI_SERIAL_ECHO) [y]





  Il est utile d'utiliser le port srie comme redirection de la fonction
  du noyau printk ; celle-ci est effectue vers le port /dev/ttyS0. Si
  vous pouvez (et souhaitez) le faire, entrez 'y', sinon COM1 comme
  cho.





       Use Digital's BIOS emulation code (not free) \
                          (MINI_DIGITAL_BIOS_EMU) [y]

  Ce code est inclus en tant que bibliothque de fonctions dont la
  distribution est gratuite si elle est utilise sur une machine  base
  de processeur Alpha. Les sources n'en sont pas disponibles. Si vous
  rpondez 'n', l'mulation BIOS quivalente freeware sera compile.
  Sachez que vous ne pouvez pas encore choisir le systme de Digital
  utilisant le systme ELF (la bibliothque n'est pas encore prte).
  Vous devrez donc rpondre 'n'  cette question.



       Build PALcode from sources (Warning this is dangerous) \
                          (MINI_BUILD_PALCODE_FROM_SOURCES) [n]





  Vous ne devrez utiliser cette option que si vous avez chang les
  sources du PALcode ; dans tous les autres cas, utilisez la version
  standard prcompile du PALcode fourni avec MILO.


  Tout est dsormais prt, vous pouvez lancer la compilation :


       $ make KSRC=/usr/src/linux





  Lorsque la compilation s'est acheve avec succs, l'image de MILO est
  crite dans le fichier milo. Il y a un grand nombre de fichiers
  appels milo.*, ceux-ci devront tre ignors.


  55..  CCoommmmeenntt cchhaarrggeerr MMIILLOO ??

  La manire la plus courante et la plus simple pour charger MILO est de
  le faire  partir de la console ARC. Cependant il est possible de
  raliser cette opration de diverses manires :

    une disquette bootable dite failsafe ;

    firmware ARC pour Windows NT ;

    Windows NT AlphaBlOS ;

    Console SRM de Digital ;

    un Debug Monitor existant sur les cartes d'valuations de Digital,

    flash/ROM.


  55..11..  CChhaarrggeemmeenntt ddee MMIILLOO ddeeppuuiiss llaa ccoonnssoollee AARRCC ppoouurr WWiinnddoowwss NNTT

  La plupart, sinon la totalit, des systmes  base d'Alpha AXP
  intgrent le firmware ARC pour Windows NT et cela est la mthode
  recommande pour dmarrer MILO et de surcrot Linux. Une fois que vous
  disposez de ce firmware et de la version adquate de MILO, la mthode
  est compltement gnrique.


  Le firmware ARC pour Windows NT offre un environnement dans lequel les
  programmes peuvent demander  celui-ci d'effectuer des oprations. Le
  programme OSLoader de Windows NT ralise exactement cela. Linload.exe
  est comparable mais beaucoup plus simple, il fait juste ce qui est
  ncessaire au chargement et  l'excution de MILO. Il charge le
  fichier image adquat en mmoire  l'adresse 0x00000000 puis il
  excute les deux instructions swap-PAL puis PALcall  cette adresse.
  MILO, comme Linux, utilise un PALcode diffrent de celui utilis par
  Windows NT, cela expliquant pourquoi l'instruction swap est
  ncessaire.  MILO se reloge lui-mme  l'adresse 0x200000 puis
  poursuit la rinitialisation du PALcode  cette nouvelle adresse.


  Avant d'ajouter des options de dmarrage pour Linux, vous devrez
  copier linload.exe et MILO  un endroit que la console ARC pourra
  lire.  Dans l'exemple suivant on suppose que le dmarrage s'effectue 
  partir d'une disquette au format DOS.


  1. Choisissez "Supplementary menu..."

  2. Au "Supplementary menu" choisissez "Set up the system..."

  3. Au "Setup menu" choisissez "Manage boot selection menu..."

  4. Dans "Boot selections menu" choisissez "Add a boot selection"

  5. Choisissez "Floppy Disk 0"

  6. Entrez "linload.exe" dans la rubrique OSLOADER

  7. Rpondez "yes"  la question suivante (qui stipule que linload.exe
     est au mme endroit que le systme d'exploitation ; pour la console
     ARC, MILO est vu comme un systme d'exploitation  part entire)

  8. Entrez '\' ensuite (stipulant que la racine du systme est la
     racine de notre disquette)

  9. Entrez le nom de ce choix de dmarrage (Linux par exemple !)

  10.
     Rpondez 'No'  la question 'Initialize debugger at boot time ?'

  11.
     Vous vous retrouvez maintenant dans la section "Boot selections
     menu" : choisissez "Change a boot selection option" et slectionnez
     le nom que vous avez choisi ci-dessus dans le but de l'diter.

  12.
     Avec les flches, slectionnez "OSLOADFILENAME" puis saisissez le
     nom de l'image MILO que vous souhaitez utiliser. Par exemple
     noname.arc ou milo suivi de Entre.

  13.
     Retournez  la section "Boot Selections menu"  l'aide de la touche
     Esc

  14.
     Tapez la touche Esc de nouveau et choisissez "Supplementary menu,
     and save changes"

  15.
     Retournez au "Boot menu" et vous pouvez alors essayer de dmarrer
     MILO.


  Aprs avoir ralis cela, vous devriez avoir un 'boot selection' de la
  forme :
       LOADIDENTIFIER=Linux
       SYSTEMPARTITION=multi(0)disk(0)fdisk(0)
       OSLOADER=multi(0)disk(0)fdisk(0)\linload.exe
       OSLOADPARTITION=multi(0)disk(0)fdisk(0)
       OSLOADFILENAME=\noname.arc
       OSLOADOPTIONS=





  Vous pouvez dsormais dmarrer MILO (puis Linux). Vous pouvez aussi
  charger linload.exe et MILO depuis un systme de fichiers que Windows
  NT comprend. Par exemple NTFS ou DOS sur un disque dur.


  Le contenu de la variable OSLOADOPTIONS est pass  MILO qui
  l'interprte comme une commande. Donc, pour dmarrer Linux sans
  attente, il faudra fournir une valeur du type :



       boot sda2:vmlinux.gz root=/dev/sda2





  Reportez-vous  la section ``L'interface utilisateur de MILO'' pour de
  plus amples renseignements sur les commandes disponibles.


  Une autre mthode de dmarrage de MILO via la console ARC (bien que
  tortueuse) est d'appeler MILO fwupdate.exe puis de choisir l'option
  'Upgrade Firmware'.


  55..22..  DDmmaarrrraaggee ddee MMIILLOO ddeeppuuiiss ll''AAllpphhaaBBIIOOSS WWiinnddoowwss NNTT

  Avec l'apparition des machines de la srie XLT, Digital a chang la
  console ARC pour ses systmes Windows NT et l'a remplace par
  l'AlphaBIOS. Cette nouvelle console offre l'avantage d'une plus grande
  convivialit. Ce changement d'interface implique un changement de
  procdure de configuration pour ceux qui souhaitent dmarrer Linux
  pour Alpha dans ce contexte.

  La premire chose  faire est d'installer la dernire version de
  l'AlphaBIOS sur votre systme. Celle-ci est disponible  l'adresse
  suivante : <http://www.windows.digital.com/support/sysoft.htp>.

  Tlchargez le fichier ZIP, dcompactez-le et installez-le comme suit
  :

  1. Copiez le fichier sur une disquette DOS ;

  2. Allumez l'ordinateur et insrez la disquette. Lors de l'affichage
     des premires informations  l'cran, enfoncez la touche F2 pour
     entrer dans le setup ;

  3. Choisissez "Upgrade AlphaBIOS" ;

  4. Suivez les instructions.

  Une fois que l'AlphaBIOS est mis  jour, vous pouvez dmarrer votre
  machine comme suit :

  1. Crez une disquette DOS contenant les fichiers linload.exe et
     milo ;

  2. Allumez le systme et entrez dans le setup ;

  3. Choisissez "Utilities->OS Selection Setup" ;

  4. Appuyez sur INSERT pour ajouter une nouvelle entre ;

  5. Pour "Boot Name" entrez un nom de votre choix (ici Linux) puis
     pressez Tab pour changer de champ ;

  6. Avec les flches, choisissez 'A:' pour la variable "Boot File is",
     passez au champ suivant ;

  7. Entrez "linload.exe".  Deux fois TAB ;

  8. Entrez "\" pour la variable "OS Path load file" ;

  9. Pressez ENTREE pour valider.

   ce moment l'AlphaBIOS devrait afficher une bote de dialogue
  angoissante indiquant : "Warning: Operating System Selection not
  valid!".  Ne tenez pas compte de cette erreur (cela ne pose de
  problme qu' NT), pressez Entre pour valider.

  1. Pressez F10 puis Entre pour valider ces changements ;

  2. Pressez Esc jusqu' arriver  l'cran d'accueil ;

  3. Choisissez,  l'aide des flches, l'entre que vous venez de
     saisir, pressez Entre pour lancer MILO.

  Si la premire partition de votre disque dur est un systme de
  fichiers DOS de petite taille destin au dmarrage (ainsi que la
  procdure d'installation le recommande), lorsque Linux sera install,
  vous devrez y copier linload.exe et MILO. Au dmarrage suivant, vous
  devrez configurer votre firmware de telle sorte qu'il aille chercher
  ces programmes  l'emplacement voulu. Pour ce faire je vous recommande
  d'utiliser la dmarche suivante :

  1. Entrez dans le setup (F2  l'cran de dmarrage) ;

  2. Choisissez "Utilities->OS Selection setup" ;

  3. Slectionnez l'entre correspondant  Linux, puis pressez F6 pour
     la modifier ;

  4. Placez le curseur sur l'entre correspondant  la partie
     priphrique de la ligne "Boot File" (device pour les versions en
     Anglais).  Avec les flches, choisissez la partition sur laquelle
     rsident linload.exe et MILO. Appuyez sur Entre pour valider.

  5. Si vous souhaitez que votre systme dmarre automatiquement aprs
     le chargement de MILO positionnez-vous ( l'aide de la touche TAB)
     sur la variable "OS Options" puis spcifiez ici quelle est la ligne
     de commande  fournir  MILO, par exemple : "boot sda2:vmlinux.gz".
     Pressez Entre pour valider ;

  6. Utilisez la touche F10 pour sauvegarder les modifications.

  Cela fait que l'utilisation de Linux sur une plate-forme utilisant
  AlphaBIOS devient quasiment identique  celles utilisant la console
  ARC.


  55..33..  dd''vvaalluuaattiioonn DDmmaarrrraaggee ddee MMIILLOO ddeeppuuiiss llee DDeebbuugg MMoonniittoorr ddeess
  ccaarrtteess

  Les cartes d'valuation (et souvent les cartes conues  partir de
  leur exemple) proposent un logiciel appel "debug monitor". Reportez-
  vous  la documentation de votre systme avant d'envisager cette
  possibilit. Les systmes suivants _p_r_o_p_o_s_e_n_t cette fonctionnalit :

    AlphaPC64 (Section ``AlphaPC64 (Cabriolet)'')

    EB64+ (Section ``EB 64+'')

    EB66+ (Section ``EB 66+'')

    EB164 (Section ``EB 164'')

    PC164 (Section ``PC164'')


  Sachez avant toute chose que, sur certaines anciennes versions, ce
  logiciel n'inclut pas de gestionnaire cran / clavier. Vous devrez
  donc vous prparer  connecter un terminal srie  votre systme. Son
  interface est trs simple et une commande d'aide (help) documente une
  grande quantit de commandes. Les plus intressantes de ces commandes
  incluent les mots boot et load.


  Le debug monitor peut charger une image  partir du rseau (netboot)
  ou d'une disquette (flboot). Dans tous les cas, l'image doit tre
  charge  l'adresse 0x200000 (utilisez la commande bootadr 200000).


  Si l'image se trouve sur une disquette (notez que le seul format de
  disquette reconnu est DOS) vous devrez utiliser la commande suivante :



       AlphaPC64> flboot <MILO-image-name>





  55..44..  CChhaarrggeemmeenntt ddee MMIILLOO ddeeppuuiiss uunnee ddiissqquueettttee ddee ddmmaarrrraaggee ffaaiillssaaffee

  D'aprs les informations _d_o_n_t _j_e _d_i_s_p_o_s_e, seul l'AXPpci33 propose la
  reconnaissance de secteur d'amorage de type failsafe floppy (Section
  ``AXPpci33 (Noname)'').


  Si vous ne disposez pas d'une image MILO standard prcompile, vous
  devrez confectionner une disquette au format SRM. Une fois MILO
  compil, vous devrez excuter les instructions suivantes sous Digital
  Unix :



       fddisk -fmt /dev/rfd0a
       cat mboot bootm > /dev/rfd0a
       disklabel -rw rfd0a lrx231 mboot bootm






  Ou bien les commandes suivantes sous Linux :



       cat mboot bootm > /dev/fd0





  Si vous disposez d'une image MILO prcompile vous pourrez construire
  la disquette de la manire suivante :



       dd if=MILO.dd of=/dev/fd0





  55..55..  DDmmaarrrraaggee ddee MMIILLOO  ppaarrttiirr ddee llaa mmmmooiirree FFllaasshh

  Il existe certains systmes qui permettent d'intgrer MILO directement
  dans la PROM Flash, permettant ainsi le dmarrage direct de Linux
  (sans avoir  utiliser de console du type ARC) :

    AlphaPC64 (Section ``AlphaPC64 (Cabriolet)'')

    EB64+ (Section ``EB 64+'')

    EB66+ (Section ``EB 66+'')

    EB164 (Section ``EB 164'')

    PC164 (Section ``PC164'')


  55..66..  DDmmaarrrraaggee ddee MMIILLOO ppaarr llee bbiiaaiiss ddee llaa ccoonnssoollee SSRRMM

  La console SRM (abrviation de System Reference Manual) ne reconnat
  aucun systme de fichiers ni mme aucune partition disque. Elle
  s'attend tout simplement  trouver le logiciel d'amorage  une
  position physique dmarrant  un emplacement donn (il s'agit d'un
  offset ou position relative). L'information dcrivant ce logiciel
  d'amorage (sa taille et sa position relative) est dcrite dans le
  premier bloc de 512 octets du disque. Pour charger MILO depuis la SRM
  vous devez gnrer cette structure de donnes en bonne et due forme
  sur un support que la console peut atteindre. Cela explique
  l'existence des fichiers mboot et bootm.


  Pour charger MILO depuis un priphrique de dmarrage, compilez mboot
  et bootm puis crivez-les sur disque  l'aide de la commande
  suivante :



       $ cat mboot bootm > /dev/fd0





  ou bien tlchargez une image approprie de MILO  partir d'un site
  Web, puis utilisez soit RAWRITE.EXE soit dd pour l'inscrire sur
  disque.


  Cela fait, vous pouvez envisager de dmarrer MILO depuis la console
  SRM, puis d'utiliser une de ses nombreuses commandes pour dmarrer.
  Par exemple, pour dmarrer depuis une disquette, vous devrez effectuer
  l'opration suivante :



       >>>boot dva0
       (boot dva0.0.0.0.1 -flags 0)
       block 0 of dva0.0.0.0.1 is a valid boot block
       reading 621 blocks from dva0.0.0.0.1
       bootstrap code read in
       base = 112000, image-start = 0, image-bytes 4da00
       initializing HWRPB at 2000
       initializing page table at 104000
        initializing machine state
       setting affinity to the primary CPU
       jumping to bootstrap code
       MILO Stub: V1.1
       Unzipping MILO into position
       Allocating memory for unzip
       ####...





  Les systmes suivants sont compatibles avec la console SRM :

    Noname (Section ``AXPpci33 (Noname)'')

    AlphaPC64 (Section ``AlphaPC64 (Cabriolet)'')

    EB164 (Section ``EB 164'')

    PC164 (Section ``PC164'')


  55..77..  IInnffoorrmmaattiioonnss ssppcciiffiiqquueess  cceerrttaaiinnss ssyyssttmmeess

  55..77..11..  AAXXPPppccii3333 ((NNoonnaammee))

  La carte Noname est capable de charger MILO depuis une console ARC ou
  SRM ou depuis une disquette failsafe. Un utilitaire de gestion de la
  mmoire PROM flash, excutable depuis MILO permet de copier ce dernier
  en mmoire flash. En revanche, nous tenons  vous avertir que cette
  manipulation est trs prilleuse car la Noname ne comportant que 256
  Ko de mmoire flash, elle ne peut contenir qu'une image en PROM. Si
  l'image que vous copiez en flash est corrompue, votre systme ne
  dmarrera plus.


  La mthode de dmarrage des cartes Noname est contrle par les
  jumpers J29 et J28. Ils sont disposs comme suit :









  Numro de broche   4
       J29       2 x x x 6
                 1 x x x 5

       J28       2 x x x 6
                 1 x x x 5
                     3





  Les deux options de configuration qui nous intressent sont sur J28,
  dont les plots 1-3, qui dmarrent la console depuis la flash et J29,
  dont les plots 1-3 permettent de dmarrer la console depuis une
  disquette. La seconde option est celle dont vous avez besoin pour
  dmarrer MILO la premire fois.  Une fois que les jumpers auront t
  configurs pour l'utilisation d'une disquette de dmarrage, insrez la
  disquette contenant MILO en version bootable dans le lecteur puis
  relancez l'ordinateur. En l'espace de quelques secondes (aprs
  l'extinction de la lumire du lecteur), vous devrez constater que
  l'cran passe du noir au blanc et y lire les informations relatives 
  l'excution de MILO.  Si les aspects techniques vous intressent,
  sachez que la carte Noname charge le contenu de la disquette 
  l'adresse 0x104000 et les images provenant de la mmoire flash en
  0x100000. Pour cette raison, MILO intgre son PALcode  l'adresse
  0x200000. Lors de son dmarrage, il se reloge lui-mme  l'adresse
  correcte.


  55..77..22..  AAllpphhaaPPCC6644 ((CCaabbrriioolleett))

  L'AlphaPC64 est dot, en standard, du Firmware Windows NT (Section
  ``Chargement de MILO depuis la console ARC pour Windows NT''), de la
  console SRM (Section ``Dmarrage de MILO par le biais de la console
  SRM'') et du Debug Monitor (Section ``Dmarrage de MILO depuis le
  debug monitor des cartes d'valuation'').  Ces images sont en flash et
  il reste de la place dans cette mmoire pour ajouter l'image de MILO
  de manire  pouvoir dmarrer MILO directement depuis la PROM. Un
  utilitaire de gestion de la mmoire flash est disponible sous MILO,
  ainsi il est possible d'intgrer MILO  la mmoire flash lorsque
  celui-ci s'excute (Section ``Excution du gestionnaire de mmoire
  flash'').  Ce procd accepte l'utilisation de variables
  d'environnement MILO.


  Il est possible de choisir parmi les options de dmarrage (ARC, SRM,
  MILO) en utilisant une combinaison de jumpers et de dfinir des
  options de dmarrage qui seront sauvegardes dans la NVRAM de
  l'horloge TOY ("CMOS").

  Il s'agit du jumper J2 ; les bits 6 et 7 ont la fonction suivante :

    SP Bit 6 doit toujours tre ouvert (pas de jumper) ; dans le cas
     contraire le mini-debugger sera excut.

    SP Bit 7 ferm : Excuter l'image dfinie dans la NVRAM

    SP Bit 7 ouvert : Excuter la premire image.


  Donc, si le SP Bit 7 est ouvert, le Debug Monitor sera excut car il
  est toujours positionn en premire place dans la PROM. Et si le SP
  Bit 7 est ferm, l'image excute sera celle dfinie dans l'horloge
  systme (TOY). L'ARC, le Debug Monitor et MILO acceptent cette
  option ; il faut, cependant, tre trs prudent lors de son
  utilisation. Par exemple, vous ne pouvez pas dfinir d'option qui vous
  permettra de dmarrer MILO au dmarrage suivant : lors de
  l'utilisation de la console ARC, cette dernire vous permet de passer
  en mode Debug Monitor ou ARC lors du dmarrage, mais elle ne permet
  pas de passer en mode MILO.


  Pour inclure MILO dans la mmoire flash via le Debug Monitor, vous
  aurez besoin d'une image adquate (dite flashable).  La commande de
  compilation est : make MILO.rom, mais vous pouvez aussi construire une
  image rom  l'aide de l'outil makerom du Debug Monitor.


  > makerom -v -i7 -1200000 MILO -o mini.flash




  (tapez makerom pour comprendre ce que signifient les paramtres, '7'
  reprsente un identificateur d'image flash utilis par la SROM et
  -l200000 indique l'adresse de chargement de cette image).


  Pour charger cette image en mmoire, utilisez une des commandes
  flload, netload, ...  l'adresse 0x200000, puis insrez l'image en
  mmoire flash de la manire suivante :



       AlphaPC64> flash 200000 8





  200000 est l'adresse de chargement et 8 est le numro du segment de
  mmoire  utiliser.  Il y a 16 segments de 64 Ko (soit 512 Ko) dans la
  SROM. (Le Debug Monitor est au segment 0 et l'ARC au segment 4).


  Dfinissez l'image que la SROM va excuter au dmarrage en donnant une
  valeur  la variable TOY bootopt :



       AlphaPC64> bootopt 131




  (131 indique la 3me image, 129 la 1re image, 130 la 2me, etc...)


  teignez la machine, mettez le jumper 7 en place et redmarrez la
  machine. Vous devrez alors pouvoir observer MILO s'excuter.
  Flicitations ! Vous pouvez remonter la machine (enfin !). Si ce n'est
  pas le cas, conservez le tournevis pour plus tard, et enlevez 
  nouveau le jumper 7 pour redmarrer en mode Debug Monitor, reprenez
  les tapes les unes  la suite des autres, mthodiquement, en prenant
  garde de ne rien oublier.


  55..77..33..  EEBB 6666++

  La carte EB66+, comme toutes les cartes d'valuation de Digital,
  contient le Debug Monitor, et de ce fait celui-ci va nous permettre de
  charger MILO. Souvent (mais pas toujours), les cartes drives des
  cartes d'valuation possdent ce logiciel. Habituellement, ces cartes
  contiennent la console ARC. Un utilitaire de gestion de la mmoire
  flash est disponible sous MILO, ainsi il est possible d'intgrer MILO
   la mmoire flash lorsque celui-ci s'excute (Section ``Excution du
  gestionnaire de mmoire flash''). Ce systme accepte les variables
  d'environnement MILO.


  Ces cartes disposent de plusieurs images en mmoire flash contrles
  par jumper. Les deux bancs de jumpers sont J18 et J16 et se situent au
  centre bas de la carte (considrant que le processeur Alpha se situe
  en haut de la carte). Vous pouvez choisir l'option de dmarrage par
  ces jumpers (et MILO lorsqu'il est charg) ainsi qu'une variable
  d'environnement sauvegarde dans la mmoire non volatile (NVRAM TOY).


  jumper 7-8 Ferm signifie qu'il faut utiliser l'image dsigne par la
  variable bootopt, lorsqu'il est ouvert le Debug Monitor est excut.


  Pour le reste de la configuration, reportez vous au paragraphe
  prcdent traitant de l'AlphaPC64 (Section ``AlphaPC64 (Cabriolet)'').


  55..77..44..  EEBB 6644++ // AAssppeenn AAllppiinnee

  Cette carte est trs similaire  l'AlphaPC64 except qu'elle ne
  contient pas de mmoire flash utilisable par MILO. Cette carte possde
  deux ROMS, l'une contenant l'ARC, l'autre contenant le Debug Monitor.


  L'Aspen Alpine, quant  elle, ne contient qu'une ROM o est grave la
  console ARC.


  55..77..55..  UUnniivveerrssaall DDeesskkttoopp BBooxx ((MMuullttiiaa))

  C'est une station ultra compacte  base d'AXP 21066 qui intgre un
  sous-systme graphique TGA (21030). De plus il n'y a de place que pour
  une carte graphique PCI demi-hauteur. Elle utilise la console ARC
  (Windows NT) et il est donc recommand de l'utiliser pour le dmarrage
  de MILO (Section ``Chargement de MILO depuis la console ARC pour
  Windows NT'').


  55..77..66..  EEBB 116644

  La carte EB164, comme toutes les cartes d'valuation de Digital,
  contient le Debug Monitor, et de ce fait celui-ci va nous permettre de
  charger MILO. Souvent (mais pas toujours) les cartes drives des
  cartes d'valuation possdent ce logiciel. Habituellement, ces cartes
  contiennent la console ARC. Un utilitaire de gestion de la mmoire
  flash est disponible sous MILO, ainsi il est possible d'intgrer MILO
   la mmoire flash lorsque celui-ci s'excute (Section ``Excution du
  gestionnaire de mmoire flash''). Ce systme accepte les variables
  d'environnement MILO. La console SRM est, de plus, disponible (Section
  ``Dmarrage de MILO par le biais de la console SRM'').


  Ces cartes disposent de plusieurs images en mmoire flash contrles
  par jumper. Le banc de deux jumpers s'appelle J1 et se situe en bas 
  gauche de la carte (considrant que le processeur Alpha se situe en
  haut de la carte). Vous pouvez choisir l'option de dmarrage par ces
  jumpers (et MILO lorsqu'il est charg) ainsi qu'une variable
  d'environnement sauvegarde dans la mmoire non volatile (NVRAM TOY).
  jumper SP-11 de J1 ferm signifie qu'il faut utiliser l'image dsigne
  par la variable bootopt ; lorsqu'il est ouvert le Debug Monitor est
  excut.


  Pour le reste de la configuration, reportez-vous au paragraphe
  prcdent traitant de l'AlphaPC64 (Section ``AlphaPC64 (Cabriolet)'').


  55..77..77..  PPCC116644

  La carte PC164, comme toutes les cartes d'valuation de Digital,
  contient le Debug Monitor, et de ce fait celui-ci va nous permettre de
  charger MILO. Souvent (mais pas toujours) les cartes drives des
  cartes d'valuation possdent ce logiciel. Habituellement, ces cartes
  contiennent la console ARC. Un utilitaire de gestion de la mmoire
  flash est disponible sous MILO, ainsi il est possible d'intgrer MILO
   la mmoire flash lorsque celui-ci s'excute (Section ``Excution du
  gestionnaire de mmoire flash''). Ce systme accepte les variables
  d'environnement MILO. La console SRM est, de plus, disponible (Section
  ``Dmarrage de MILO par le biais de la console SRM'').


  Ces cartes disposent de plusieurs images en mmoire flash contrles
  par jumpers. Le banc principal de jumpers s'appelle J30, il contient
  les jumpers de configuration. Le jumper CF6 ferm signifie que le
  systme dmarrera le Debug Monitor, il est par dfaut ouvert.


  Pour le reste de la configuration, reportez-vous au paragraphe
  prcdent traitant de l'AlphaPC64(Section ``AlphaPC64 (Cabriolet)'').


  55..77..88..  XXLL226666

  Le XL266 est un des systmes connus sous le nom d'Avanti. Il possde
  une carte fille sur laquelle rsident le processeur Alpha et le cache
  qui se connecte  la carte mre. Cette carte remplace une carte fille
  Pentium quivalente.


  Certains de ces systmes sont vendus avec la console SRM, mais
  certains autres ne sont livrs qu'avec la console ARC (Section
  ``Chargement de MILO depuis la console ARC pour Windows NT'').


  Voici une liste compatible avec cette srie :

    AlphaStation 400 (Avanti),

    AlphaStation 250,

    AlphaStation 200 (Mustang),

    XL. Il en existe deux modles, XL266 et XL233 qui ne diffrent que
     par la vitesse du processeur et la taille de la mmoire cache.


  NNoottee :: Le systme que j'utilise pour dvelopper et tester MILO est un
  XL266 ; de ce fait, c'est le seul sur lequel je peux garantir un
  fonctionnement correct. Cela dit les autres systmes sont,
  techniquement, quivalents. Ils possdent les mmes chipsets et les
  mmes mcanismes d'interruptions.



  55..77..99..  PPllaattffoorrmm22000000

  Il s'agit d'un systme  base de processeur 21066  233 Mhz.


  66..  LL''iinntteerrffaaccee uuttiilliissaatteeuurr ddee MMIILLOO

  Aprs avoir correctement install MILO (Abrv. de MIniLOader) vous
  devrez obtenir l'invite de commande de MILO. Il y a une interface de
  commandes trs simple que vous pouvez utiliser dans le but de dmarrer
  une image Linux particulire. Utilisez la commande help pour obtenir
  une description sommaire des commandes.


  66..11..  LLaa ccoommmmaannddee hheellpp

  Probablement la commande la plus utile de MILO.




       MILO> help
       MILO command summary:
       ls [-t fs] [dev:[dir]]
                               - List files in directory on device
       boot [-t fs] [dev:file] [boot string]
                               - Boot Linux from the specified device and file
       run [-t fs] dev:file
                               - Run the standalone program dev:file
       show                    - Display all known devices and file systems
       set VAR VALUE           - Set the variable VAR to the specified VALUE
       unset VAR               - Delete the specified variable
       reset                   - Delete all variables
       print                   - Display current variable settings
       help [var]              - Print this help text

       Devices are specified as: fd0, hda1, hda2, sda1...
       Use the '-t filesystem-name' option if you want to use
       anything but the default filesystem ('ext2').
       Use the 'show' command to show known devices and filesystems.
       Type 'help var' for a list of variables.





  NNoottee :: la commande bootopt n'apparat que pour les systmes AlphaPC64
  (et quivalents).


  PPrriipphhrriiqquueess.. Jusqu' ce que vous utilisiez une commande qui
  ncessite l'utilisation d'un des priphriques, aucune initialisation
  n'est ralise sur ces derniers. La premire commande show, ls, boot
  ou run provoquera l'initialisation des priphriques. Les pilotes de
  priphriques portent exactement les mmes noms que ceux de Linux.
  Donc le premier disque IDE sera appel hda et la premire partition
  sera hda1. Utilisez la commande show pour obtenir une liste des
  priphriques disponibles.


  SSyyssttmmeess ddee ffiicchhiieerrss.. MILO est compatible avec trois diffrents types
  de systmes de fichiers : MSDOS, EXT2 et ISO9660.  partir du moment
  o un priphrique est disponible pour lui, MILO est  mme de charger
  et d'excuter n'importe quelle image disponible. Le systme de
  fichiers par dfaut est EXT2. Toutes les commandes utilisant les
  systmes de fichiers permettent d'en prciser le type par le biais de
  l'option -t filesystem. Donc si vous souhaitez obtenir une liste du
  contenu d'un CDROM il suffit d'entrer la commande :



       MILO> ls -t iso9660 scd0:





  VVaarriiaabblleess.. MILO contient quelques variables qui aident au processus de
  dmarrage. Si vous dmarrez  partir de la console ARC, MILO utilisera
  les variables d'environnement dfinies par ce firmware. Pour certains
  systmes (tels que l'AlphaPC64), MILO dispose de son propre jeu de
  variables qui ne changent pas d'un dmarrage  l'autre. Ces variables
  sont :



       MILO> help var
       Variables that MILO cares about:
         MEMORY_SIZE           - System memory size in megabytes
         BOOT_DEV              - Specifies the default boot device
         BOOT_FILE             - Specifies the default boot file
         BOOT_STRING           - Specifies the boot string to pass to the kernel
         SCSIn_HOSTID          - Specifies the host id of the n-th SCSI controller.
         PCI_LATENCY           - Specifies the PCI master device latency
         AUTOBOOT              - If set, MILO attempts to boot on powerup
                                 and enters command loop only on failure.
         AUTOBOOT_TIMEOUT      - Seconds to wait before auto-booting on powerup.





  _A_T_T_E_N_T_I_O_N  l'utilisation de la variable AUTOBOOT sans dfinir de
  valeur dlai (AUTOBOOT_TIMEOUT) car MILO dmarrera aprs avoir attendu
  0 seconde. Ce n'est peut-tre pas ce que vous souhaitez.


  PCI_LATENCY reprsente le nombre de cycles PCI qu'un priphrique
  fonctionnant en bus master se rserve lorsqu'il acquiert le contrle
  du bus. La valeur par dfaut est de 32 et la maximum de 255. Dfinir
  une valeur leve revient  dire que chaque fois qu'un priphrique
  prend le contrle du bus PCI, il transfrera plus de donnes.
  Cependant cela signifie aussi qu'un priphrique devra attendre plus
  longtemps pour obtenir le contrle du bus.


  66..22..  DDmmaarrrraaggee ddee LLiinnuuxx

  La commande boot charge et dmarre un noyau Linux  partir d'un
  priphrique. Vous aurez besoin d'avoir un disque contenant ce noyau
  (SCSI, IDE, disquette dans un format reconnu par MILO). Ces images
  peuvent tre compresses  l'aide de gzip ; les premires versions de
  MILO reconnaissaient ces fichiers  l'aide de leur extension '.gz',
  tandis que les plus rcentes font appel  la signature du fichier.


  Il est important de retenir que la version de MILO ne ncessite pas de
  correspondance avec celle du noyau Linux que vous souhaitez charger.
  Vous dmarrez Linux avec la commande suivante :



  MILO> boot [-t file-system] device-name:file-name \
             [[boot-option] [boot-option]...]





  device-name reprsente le nom du priphrique que vous souhaitez
  utiliser, file-name le nom de fichier de l'image  charger en mmoire.
  Tous les arguments spcifis par la suite sont directement transmis au
  programme excut (ici le noyau Linux).


  Si vous installez Linux Red Hat pour Alpha vous devrez spcifier un
  priphrique racine (root device) et autres options :



       MILO> boot fd0:vmlinux.gz root=/dev/fd0 load_ramdisk=1





  MILO contient automatiquement les priphriques en mode bloc
  configurs dans vmlinux. J'ai test le pilote de disquette, de disque
  IDE ainsi qu'un certain nombre de pilotes SCSI (par exemple le
  NCR810), et ceux-ci fonctionnent bien. Il est de mme important
  d'attribuer un ID SCSI raisonnable  votre contrleur SCSI. Par dfaut
  MILO l'initialisera  la valeur maximale (7) qui, en principe, devrait
  fonctionner correctement. Nanmoins, si vous le souhaitez, vous pouvez
  spcifier l'ID SCSI de votre N-ime contrleur SCSI en dfinissant la
  variable SCSI_n_HOSTID ; par exemple pour prciser que l'ID SCSI du
  contrleur numro 0 est 7 utilisez la commande suivante :



       setenv SCSI0_HOSTID 7





  66..33..  RReeddmmaarrrraaggee ddee LLiinnuuxx

  Vous pouvez vouloir redmarrer Linux  l'aide de la commande shutdown
  -r now. Dans ce cas, le noyau Linux repasse le contrle  MILO (par
  une instruction HALT CallPAL entrypoint). MILO laisse une version de
  lui-mme compresse en mmoire pour cette seule raison et dtecte que
  le systme est redmarr par le biais du HWRPB (Hardware Restart
  Parameter Block). Dans ce cas vous pouvez  edmarrer  l'aide de la
  mme commande qui vous a servi au dmarrage prcdent. Il y a un dlai
  de 30 secondes qui vous permet d'interrompre ce processus et de
  dmarrer n'importe quel autre noyau de n'importe quelle autre manire.


  66..44..  LLaa ccoommmmaannddee ''''bboooottoopptt''''

  Pour les systmes utilisant la mmoire flash comme les AlphaPC64,
  EB164 et EB66+, il existe diffrentes options de dmarrage. Celles-ci
  sont modifiables  l'aide de la commande bootopt. Cette commande a un
  unique argument : il s'agit d'un nombre dcimal qui reprsente le type
  d'image  excuter au prochain redmarrage de la machine (Allumage /
  Extinction ou Reset).


  La valeur 00 active le Debug Monitor, 11 active la console ARC.


  Ce chiffre correspond en fait  la N-ime image prsente dans la PROM.
  Afin d'indiquer que l'action  effectuer est le dmarrage, il faut
  ajouter 128  ce chiffre pour obtenir la valeur  transmettre 
  bootopt. Vous aurez donc la commande suivante (sachant que MILO est la
  3me image en PROM) :



       MILO> bootopt 131




  Note : Soyez trs vigilant avec cette commande, une bonne rgle est de
  ne jamais utiliser la valeur 0 (Debug Monitor), mais utilisez plutt
  le systme des jumpers pour obtenir ce rsultat.


  77..  EExxccuuttiioonn dduu ggeessttiioonnnnaaiirree ddee mmmmooiirree ffllaasshh

  La commande run est utilise pour excuter le gestionnaire de mmoire
  flash. Avant de dmarrer, vous devrez disposer d'un priphrique
  accessible par MILO contenant le programme updateflash. Celui-ci
  (comme vmlinux) peut tre compress avec gzip. Vous devez excuter ce
  programme  l'aide de la commande suivante :



       MILO> run fd0:fmu.gz





  Une fois charg et initialis, le gestionnaire de mmoire flash vous
  donnera quelques informations concernant le priphrique flash, et
  vous proposera une invite de commandes.  nouveau la commande help est
  salvatrice.



       Linux MILO Flash Management Utility V1.0
       Flash device is an Intel 28f008SA
       16 segments, each of 0x10000 (65536) bytes
       Scanning Flash blocks for usage
       Block 12 contains the environment variables
       FMU>





  Notez que sur les systmes qui permettent la sauvegarde de variables
  d'environnement et qui disposent de plus d'un bloc de mmoire flash
  (par exemple l'AlphaPC64), le gestionnaire de mmoire flash cherchera
  un bloc disponible pour la sauvegarde des variables d'environnement de
  MILO. Si un tel bloc existe, le gestionnaire de mmoire flash vous
  indiquera son emplacement. Dans le cas contraire, vous devrez utiliser
  la commande environment pour dfinir un bloc et l'initialiser. Dans
  l'exemple ci-dessus le bloc numro 12 de la mmoire flash renferme les
  variables d'environnement de MILO.


  77..11..  LLaa ccoommmmaannddee ''''hheellpp''''



       FMU> help
       FMU command summary:

       list            - List the contents of flash
       program         - program an image into flash
       quit            - Quit
       environment     - Set which block should contain the environment variables
       bootopt num     - Select firmware type to use on next power up
       help            - Print this help text
       FMU>




  _N_o_t_e _: les commandes environment et bootopt ne sont disponibles que
  sur les systmes EB66+, EB164, PC164 et AlphaPC64 (ainsi que leur
  clones).


  77..22..  LLaa ccoommmmaannddee ''''lliisstt''''

  La commande ''list'' affiche les informations sur l'utilisation de la
  mmoire flash. Pour les systmes disposant de plus d'un bloc, l'usage
  de chaque bloc est affich.



       FMU> list
       Flash blocks:  0:DBM  1:DBM  2:DBM  3:WNT  4:WNT  5:WNT  6:WNT  7:WNT  8:MILO
               9:MILO 10:MILO 11:MILO 12:MILO 13:U 14:U 15:WNT
       Listing flash Images
         Flash image starting at block 0:
           Firmware Id: 0 (Alpha Evaluation Board Debug Monitor)
           Image size is 191248 bytes (3 blocks)
           Executing at 0x300000
         Flash image starting at block 3:
           Firmware Id: 1 (Windows NT ARC)
           Image size is 277664 bytes (5 blocks)
           Executing at 0x300000
         Flash image starting at block 8:
           Firmware Id: 7 (MILO/Linux)
           Image size is 217896 bytes (4 blocks)
           Executing at 0x200000
       FMU>





  77..33..  LLaa ccoommmmaannddee ''''pprrooggrraamm''''

  Le gestionnaire de mmoire flash contient une copie compresse d'une
  image flash de MILO. Cette commande vous permet de sauvegarder cette
  image dans la PROM. La commande vous permet de revenir en arrire,
  mais avant de l'utiliser vous devriez utiliser la commande list pour
  dfinir o il faut mettre MILO. Si MILO est dj dans la mmoire
  flash, le gestionnaire de mmoire flash vous demandera si vous
  souhaitez remplacer la version actuellement en PROM.




  FMU> program
  Image is:
      Firmware Id: 7 (MILO/Linux)
      Image size is 217896 bytes (4 blocks)
      Executing at 0x200000
  Found existing image at block 8
  Overwrite existing image? (N/y)? y
  Do you really want to do this (y/N)? y
  Deleting blocks ready to program: 8 9 10 11
  Programming image into flash
  Scanning Flash blocks for usage
  FMU>





  _!_!_! _I_M_P_O_R_T_A_N_T _!_!_! Attendez que cela soit fini avant d'teindre votre
  ordinateur.


  _!_!_! _I_M_P_O_R_T_A_N_T _!_!_! Je n'insisterai jamais assez sur le fait que vous
  devez tre extrmement prudent lorsque vous effectuez ce genre de
  manipulation. Une trs bonne rgle  respecter est de ne jamais
  effacer le Debug Monitor.


  77..44..  LLaa ccoommmmaannddee ''''eennvviirroonnmmeenntt''''

  Cette commande dtermine quel est le bloc qui recevra les variables
  d'environnement.


  77..55..  LLaa ccoommmmaannddee ''''bboooottoopptt''''

  Il s'agit de la mme commande que celle de MILO (Section ``La commande
  ''bootopt'''').


  77..66..  LLaa ccoommmmaannddee ''''qquuiitt''''

  Cette commande n'a que peu de sens, car la seule manire possible pour
  se retrouver sous MILO est de redmarrer le systme.


  88..  RReessttrriiccttiioonnss

  Malheureusement la perfection n'tant pas de ce monde, il existe des
  restrictions auxquelles il faut se plier.


  MILO n'est pas conu pour charger d'autres systmes d'exploitation que
  Linux, cependant il peut charger et excuter des images dont
  l'excution est possible au mme emplacement mmoire que Linux (c'est
   dire : 0xFFFFFC0000310000). C'est ce qui permet au gestionnaire de
  mmoire flash de fonctionner.


  Les sources du PALcode contenues dans miniboot/palcode/_t_o_t_o sont
  correctes, mais ce PALcode est problmatique lorsqu'il est compil
  avec la dernire version de gas.  Problme qui n'existe pas avec
  l'ancien excutable gas fourni avec les cartes d'valuation. J'essaie
  actuellement de trouver quelqu'un capable de rsoudre ce problme.
  Pour l'instant, j'ai fourni un PALcode prcompil pour les cartes
  supportant MILO et David Mosberger-Tang a une version de gas corrige
  sur son site ftp.
  99..  DDppaannnnaaggee

  Voici un ensemble de problmes courants que certaines personnes ont
  rencontrs ; vous trouverez, ensuite, leur solution.


  LLeeccttuurree ddee ddiissqquueess DDOOSS ddeeppuuiiss llee DDeebbuugg MMoonniittoorr..

  Quelques versions du Debug Monitor (pr-version 2.0) ont un problme
  avec le gestionnaire DOS gnr  partir de Linux. Ce problme se
  manifeste de la manire suivante : le Debug Monitor semble lire
  correctement les premiers secteurs de la disquette, puis affiche, en
  boucle, le message "Bad Sectors".  Cela vient apparemment du fait
  qu'il existe une diffrence entre le systme de fichiers DOS tel que
  l'attend le Debug Monitor et l'implmentation de DOSFS sous Linux.
  Afin de rsoudre ce problme, utilisez un PC sous DOS pour
  confectionner la disquette (et non pas Linux). Par exemple, si le
  chargement du fichier MILO.cab ne fonctionne pas, effectuez les
  oprations suivantes sur une machine DOS :



       copy a:MILO.cab c:
       copy c:MILO.cab a:
       del c:MILO.cab





  Et ressayez de dmarrer depuis cette disquette. Cela devrait rsoudre
  le problme.


  MMiilloo aaffffiicchhee uunnee ssrriiee ddee O> eett nn''aacccceeppttee ppaass ddee ccoommmmaannddeess..  Ceci
  arrive quand MILO a t compil pour utiliser COM1 comme console
  secondaire. Dans ce cas, MILO reproduit l'affichage sur COM1 et
  accepte des saisies depuis ce dernier. C'est excellent pour dboguer,
  mais pas tant que a si vous avez un priphrique autre qu'un terminal
  srie connect.  Si cela arrive, dconnectez le priphrique attach
  au port COM1 ou mettez-le hors tension jusqu' ce que le noyau Linux
  ait dmarr.  ce stade tout devrait fonctionner correctement.


  MMIILLOO ssee ppllaaiinntt ddee ccee qquuee ll''iimmaaggee dduu nnooyyaauu ppoossssddee uunn mmaauuvvaaiiss

  Les anciennes versions de MILO ne sont pas compatibles avec les
  fichiers objets de type ELF. Cela pourrait tre la source de vos
  ennuis. Si c'tait le cas, passez  la version la plus rcente que
  vous pourrez trouver. Toutes les versions  partir de la 2.0.20 sont
  compatibles avec les objets ELF. D'autre part il se pourrait que
  l'image de MILO soit corrompue, ou qu'il faille ajouter l'extension
  '.gz' au nom du fichier noyau.


  MMIILLOO aaffffiicchhee ""......ttuurrnniinngg oonn vviirrttuuaall aaddddrreessssiinngg aanndd jjuummppiinngg ttoo tthhee
  LLiinnuuxx KKeerrnneell"" ppuuiiss rriieenn nnee ssee ppaassssee..

  Une des causes possibles est que l'image du noyau est configure de
  manire incorrecte ou qu'elle a t produite pour un autre type de
  machine Alpha. Une autre possibilit est que la carte vido est une
  TGA (ZLXp) et que le noyau est configur pour utiliser le VGA (ou
  l'inverse). Il est utile de compiler le noyau pour qu'il affiche sa
  console sur COM1 (echo console) et donc de pouvoir, dans ce cas,
  connecter un terminal srie ou alors d'essayer le noyau qui tait
  livr avec votre distribution Linux.
  MMIILLOO nnee rreeccoonnnnaatt ppaass lleess pprriipphhrriiqquueess SSCCSSII..

  L'image standard de MILO comporte autant de pilotes de priphriques
  qu'il en existe de stables pour Alpha (au moment de la rdaction de ce
  manuel il contient les pilotes pour : NCR810, QLOGIC ISP, Buslogic et
  Adaptec 294x/394x). Si votre carte n'est pas supporte c'est peut-tre
  que le pilote n'est pas encore suffisamment stable sur plate-forme
  Alpha. Vous pouvez obtenir la liste des priphriques SCSI supports
  par une image MILO avec la commande show.


  1100..  RReemmeerrcciieemmeennttss

  Je souhaiterais remercier :

    Eric Rasmussen et Eilleen Samberg, les auteurs du PALcode ;

    Jim Paradis pour le pilote clavier, l'interface originelle de MILO
     et son travail sur AlphaBIOS ;

    Jay Estabrook pour son aide et ses dbogages ;

    David Mosberger-Tang pour la version freeware de l'mulateur BIOS
     et son appui et ses encouragements ;

    Le dernier, et pas des moindres, Linus Torvalds pour le code du
     timer et celui du noyau.


  Beaucoup de choses restent  faire sous MILO ; s'il y a quelque chose
  que vous souhaitez faire ou ajouter vous-mme, faites-le moi savoir :
  david.rusling@reo.mts.dec.com <mailto:david.rusling@reo.mts.dec.com>,
  afin de ne pas dvelopper deux fois la mme chose.


  Pour finir, un grand merci  Digital pour le dveloppement d'un si
  merveilleux processeur (et pour le salaire qu'ils me versent afin de
  le faire).




























