Utilisation de MILO (Alpha Miniloader Howto)
 David A. Rusling, [email protected]
 v0.84, 6 D�cembre 1996

 Ce document expose le fonctionnement du Miniloader, un programme pour
 les machines Alpha qui sert � initialiser le syst�me et d�marrer
 Linux. Le "Alpha Linux Miniloader" (pour �tre exact) est �galement
 d�nomm� MILO.
 ______________________________________________________________________

 Table des mati�res


 1. Introduction

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

 2. Qu'est-ce que MILO ?

 3. Images pr�compil�es de MILO

 4. Comment compiler MILO ?

 5. Comment charger MILO ?

    5.1 Chargement de MILO depuis la console ARC pour Windows NT
    5.2 D�marrage de MILO depuis l'AlphaBIOS Windows NT
    5.3 D�marrage de MILO depuis le Debug Monitor des cartes d'�valuation
    5.4 Chargement de MILO depuis une disquette de d�marrage failsafe
    5.5 D�marrage de MILO � partir de la m�moire Flash
    5.6 D�marrage de MILO par le biais de la console SRM
    5.7 Informations sp�cifiques � certains syst�mes
       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 D�marrage de Linux
    6.3 Red�marrage de Linux
    6.4 La commande ''bootopt''

 7. Ex�cution du gestionnaire de m�moire 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. D�pannage

 10. Remerciements


 ______________________________________________________________________

 11..  IInnttrroodduuccttiioonn

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


 11..11..  DDrrooiittss dd''aauutteeuurrss ((CCooppyyrriigghhtt))

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

 Document traduit de l'anglais en 1997 par Fr�d�ric Aime
 ([email protected]) et "Les �ditions du Soleil" (c) Copyright "Les
 �ditions du Soleil" 1997. Maintenance de la version SGML par Miodrag
 Vallat ([email protected]).


 CCooppyyrriigghhtt.. Comme il en est de tous les documents HOWTO pour Linux,
 cette documentation peut �tre reproduite, distribu�e int�gralement ou
 en partie seulement sur n'importe quel m�dia, physique ou
 �lectronique, du moment que cet avertissement sur les droits d'auteur
 est pr�sent sur toutes les copies. L'utilisation commerciale est
 autoris�e et encourag�e ; 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
 d�charge de responsabilit�  sont conserv�es intacte et qu'une notice
 pr�sentant le traducteur y figure.


 DD��cchhaarrggee ddee rreessppoonnssaabbiilliitt��.. Bien qu'ayant essay� d'inclure les
 informations les plus pr�cises et correctes � ma disposition, je ne
 peux garantir que l'utilisation faite de ce document n'aboutisse pas �
 des pertes de donn�es ou de mat�riels. 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
 cons�quences de son utilisation.


 11..22..  NNoouuvveelllleess vveerrssiioonnss ddee ccee ddooccuummeenntt

 La derni�re 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>.


 22..  QQuu''eesstt--ccee qquuee MMIILLOO ??

 Sur machines Intel, le BIOS configure le syst�me et ensuite charge,
 depuis le secteur d'amor�age d'un disque DOS, une image � ex�cuter.
 Cela est en quelque sorte la fonction principale de MILO sur un
 syst�me Alpha. Il existe toutefois un certain nombre de diff�rences
 entre BIOS et MILO, notamment le fait que MILO int�gre certains
 pilotes de p�riph�riques Linux inchang�s. MILO est un logiciel appel�
 FirmWare, � l'inverse de LILO qui d�pend du logiciel FirmWare BIOS
 responsable de son chargement et de son ex�cution en m�moire centrale.
 Les principales fonctions de MILO sont :


 1. PALcode ;

 2. Initialisation du gestionnaire de m�moire. (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 p�riph�riques en mode bloc (par exemple le pilote
    de disquettes) ;

 6. Un support des syst�mes 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 m�moire sp�cifiques � linux) ;

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


 Les paragraphes suivants d�crivent ces fonctionnalit�s plus en d�tail.


 Le PALcode peut �tre per�u comme une minuscule couche logicielle qui
 pr�pare le processeur Alpha en vue de l'utilisation d'un syst�me
 d'exploitation sp�cifique. Il fonctionne dans un mode sp�cial du
 processeur (PALmode) qui a certaines limitations mais utilise les
 instructions standard des processeurs Alpha,  plus cinq instructions
 suppl�mentaires. De cette mani�re le processeur Alpha peut ex�cuter
 une grande diversit� de syst�mes d'exploitation tels que Windows NT,
 OpenVMS, Digital Unix et bien s�r Linux. Le PALcode que MILO utilise
 (et in extenso Linux lui-m�me) est, comme le reste de MILO un
 freeware. Il est inspir� d'un exemple de PALcode pour Digital Unix que
 Digital fournissait avec ses premi�res cartes d'�valuation. Les
 diff�rences entre les PALcode sont dues � des diff�rences qui existent
 dans la cartographie de la m�moire, dans la gestion des interruptions
 entre les diff�rentes versions du processeur Alpha (par exemple le
 21066 poss�de une cartographie des entr�es-sorties diff�rente de
 l'association du 21064 avec les contr�leurs E/S de la famille 2107x,
 en effet le 21066 int�gre un �quivalent de ce contr�leur sur son
 support).


 Pour que MILO fonctionne correctement il lui faut savoir quelle est la
 quantit� de m�moire disponible, � quel endroit Linux peut
 �ventuellement �tre charg� en m�moire, et il doit, de plus, �tre
 capable d'allouer temporairement de la m�moire pour les pilotes de
 p�riph�riques Linux. Le code contient une cartographie de la m�moire
 qui comporte des espaces disponibles pour une allocation de pages
 m�moire permanentes ou temporaires. Lorsqu'il d�marre, MILO se
 d�compresse � l'emplacement m�moire ad�quat. Lorsqu'il transf�re le
 contr�le au noyau Linux, il r�serve un espace pour une instance
 compress�e de lui-m�me, pour le PALcode (indispensable au
 fonctionnement du noyau) ainsi que quelques structures de donn�es.
 Cela laisse la quasi-totalit� de la m�moire centrale libre pour Linux.


 L'op�ration finale du gestionnaire m�moire est de configurer et
 d'activer l'adressage virtuel afin que les structures de donn�es
 attendues par Linux soient � leur place en m�moire virtuelle.


 MILO contient du code d'initialisation de l'affichage qui pr�pare le
 syst�me graphique � l'utilisation de Linux.  Il d�tectera et utilisera
 un adaptateur VGA s'il est pr�sent, sinon il essaiera d'utiliser le
 pilote TGA (21030). S'il y a �chec de cette initialisation, MILO
 consid�rera qu'il n'y a aucun p�riph�rique graphique sur le syst�me.
 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 p�riph�riques de Linux r�sident 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 r�alis�e 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 p�riph�rique compatible avec Linux. MILO contient, en
 standard, tous les pilotes de p�riph�riques en mode bloc du noyau
 Linux.


 MILO charge le noyau Linux depuis un vrai syst�me de fichiers plut�t
 que depuis un secteur d'amor�age ou d'autres emplacements �tranges. Il
 supporte les syst�mes de fichiers MSDOS, EXT2 et ISO9660. Les fichiers
 GZIPp�s sont �galement reconnus et recommand�s, en particulier lors
 d'un chargement � partir d'une disquette qui reste un support
 relativement lent. MILO les reconna�t gr�ce � leur suffixe _._g_z.


 Un gestionnaire de clavier rudimentaire est inclus dans MILO si bien
 qu'avec un pilote de p�riph�rique vid�o d'une simplicit� �gale il
 dispose d'une interface utilisateur simple.  Cette interface permet de
 lister les syst�mes de fichiers disponibles par le biais de pilotes de
 p�riph�riques configur�s, de d�marrer Linux ou des utilitaires de
 mises � jour de la m�moire flash, de d�finir des variables
 d'environnement agissant sur le d�marrage du syst�me. Comme avec LILO
 vous pouvez transmettre des arguments au noyau.


 MILO doit renseigner le noyau Linux sur la nature du mat�riel sous-
 jacent (type de carte m�re, quantit� de m�moire RAM totale et quantit�
 libre). Il effectue cela en utilisant les informations contenues dans
 le HWRPB.  Celles-ci sont dispos�es aux emplacements appropri�s en
 m�moire virtuelle juste avant que le contr�le du syst�me ne soit
 transf�r� au noyau Linux.


 33..  IImmaaggeess pprr��ccoommppiill��eess ddee MMIILLOO

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


 Le sous-r�pertoire images contient un r�pertoire par type de syst�me
 standard (ex : AlphaPC64) adoptant les conventions de nomenclatures
 suivantes :


 1. MILO - Image de MILO, celle-ci peut �tre d�marr�e de diverses
    mani�res ;

 2. fmu.gz - Utilitaire de gestion de la m�moire flash ;

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


 Le sous-r�pertoire test-images contient un ensemble d'images
 exp�rimentales sous la m�me forme que les pr�c�dentes. Bien
 qu'exp�rimentales, ces images tendent � contenir les derni�res
 fonctionnalit�s.


 44..  CCoommmmeenntt ccoommppiilleerr MMIILLOO ??

 La compilation de MILO s'effectue de mani�re ind�pendante du noyau.
 �tant donn� qu'il requiert des parties du noyau pour fonctionner, vous
 devrez, en premier lieu, configurer un noyau qui corresponde au
 syst�me auquel MILO est destin�. Cela correspond � attribuer le m�me
 num�ro 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 r�cente du noyau, mais avec celle-ci ce ne sera pas le
 cas. �tant donn� que les librairies dynamiques sont compl�tement
 fonctionnelles, il existe deux versions des sources de MILO. Pour
 effectuer la compilation de MILO dans sa version ELF vous devez
 premi�rement extraire les sources standard puis appliquer un patch �
 ces derni�res, correspondant au num�ro de version du patch ELF. Je
 consid�rerai, dans la suite de ce document, que les sources et les
 fichiers objets du noyau sont situ�s dans le r�pertoire
 /usr/src/linux, et que le noyau a �t� correctement compil� � l'aide de
 la commande make boot.


 Pour compiler MILO, allez dans le r�pertoire contenant les sources de
 MILO et faites appel � la commande make de la mani�re suivante :


      $ make KSRC=/usr/src/linux config





 De m�me que pour la compilation du noyau, le syst�me vous posera un
 certain nombre de questions.



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





 Il est utile d'utiliser le port s�rie comme redirection de la fonction
 du noyau printk ; celle-ci est effectu�e 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 biblioth�que de fonctions dont la
 distribution est gratuite si elle est utilis�e sur une machine � base
 de processeur Alpha. Les sources n'en sont pas disponibles. Si vous
 r�pondez 'n', l'�mulation BIOS �quivalente freeware sera compil�e.
 Sachez que vous ne pouvez pas encore choisir le syst�me de Digital
 utilisant le syst�me ELF (la biblioth�que n'est pas encore pr�te).
 Vous devrez donc r�pondre '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 pr�compil�e du PALcode fourni avec MILO.


 Tout est d�sormais pr�t, vous pouvez lancer la compilation :


      $ make KSRC=/usr/src/linux





 Lorsque la compilation s'est achev�e avec succ�s, l'image de MILO est
 �crite dans le fichier milo. Il y a un grand nombre de fichiers
 appel�s milo.*, ceux-ci devront �tre ignor�s.


 55..  CCoommmmeenntt cchhaarrggeerr MMIILLOO ??

 La mani�re la plus courante et la plus simple pour charger MILO est de
 le faire � partir de la console ARC. Cependant il est possible de
 r�aliser cette op�ration de diverses mani�res :

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


 55..11..  CChhaarrggeemmeenntt ddee MMIILLOO ddeeppuuiiss llaa ccoonnssoollee AARRCC ppoouurr WWiinnddoowwss NNTT

 La plupart, sinon la totalit�, des syst�mes � base d'Alpha AXP
 int�grent le firmware ARC pour Windows NT et cela est la m�thode
 recommand�e pour d�marrer MILO et de surcro�t Linux. Une fois que vous
 disposez de ce firmware et de la version ad�quate de MILO, la m�thode
 est compl�tement g�n�rique.


 Le firmware ARC pour Windows NT offre un environnement dans lequel les
 programmes peuvent demander � celui-ci d'effectuer des op�rations. Le
 programme OSLoader de Windows NT r�alise exactement cela. Linload.exe
 est comparable mais beaucoup plus simple, il fait juste ce qui est
 n�cessaire au chargement et � l'ex�cution de MILO. Il charge le
 fichier image ad�quat en m�moire � l'adresse 0x00000000 puis il
 ex�cute les deux instructions swap-PAL puis PALcall � cette adresse.
 MILO, comme Linux, utilise un PALcode diff�rent de celui utilis� par
 Windows NT, cela expliquant pourquoi l'instruction swap est
 n�cessaire.  MILO se reloge lui-m�me � l'adresse 0x200000 puis
 poursuit la r�initialisation du PALcode � cette nouvelle adresse.


 Avant d'ajouter des options de d�marrage 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 d�marrage 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. R�pondez "yes" � la question suivante (qui stipule que linload.exe
    est au m�me endroit que le syst�me d'exploitation ; pour la console
    ARC, MILO est vu comme un syst�me d'exploitation � part enti�re)

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

 9. Entrez le nom de ce choix de d�marrage (Linux par exemple !)

 10.
    R�pondez '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 s�lectionnez
    le nom que vous avez choisi ci-dessus dans le but de l'�diter.

 12.
    Avec les fl�ches, s�lectionnez "OSLOADFILENAME" puis saisissez le
    nom de l'image MILO que vous souhaitez utiliser. Par exemple
    noname.arc ou milo suivi de Entr�e.

 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 d�marrer
    MILO.


 Apr�s avoir r�alis� 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 d�sormais d�marrer MILO (puis Linux). Vous pouvez aussi
 charger linload.exe et MILO depuis un syst�me 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'interpr�te comme une commande. Donc, pour d�marrer 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 m�thode de d�marrage de MILO via la console ARC (bien que
 tortueuse) est d'appeler MILO fwupdate.exe puis de choisir l'option
 'Upgrade Firmware'.


 55..22..  DD��mmaarrrraaggee ddee MMIILLOO ddeeppuuiiss ll''AAllpphhaaBBIIOOSS WWiinnddoowwss NNTT

 Avec l'apparition des machines de la s�rie XLT, Digital a chang� la
 console ARC pour ses syst�mes Windows NT et l'a remplac�e par
 l'AlphaBIOS. Cette nouvelle console offre l'avantage d'une plus grande
 convivialit�. Ce changement d'interface implique un changement de
 proc�dure de configuration pour ceux qui souhaitent d�marrer Linux
 pour Alpha dans ce contexte.

 La premi�re chose � faire est d'installer la derni�re version de
 l'AlphaBIOS sur votre syst�me. Celle-ci est disponible � l'adresse
 suivante : <http://www.windows.digital.com/support/sysoft.htp>.

 T�l�chargez le fichier ZIP, d�compactez-le et installez-le comme suit
 :

 1. Copiez le fichier sur une disquette DOS ;

 2. Allumez l'ordinateur et ins�rez la disquette. Lors de l'affichage
    des premi�res 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 d�marrer votre
 machine comme suit :

 1. Cr�ez une disquette DOS contenant les fichiers linload.exe et
    milo ;

 2. Allumez le syst�me et entrez dans le setup ;

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

 4. Appuyez sur INSERT pour ajouter une nouvelle entr�e ;

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

 6. Avec les fl�ches, 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 bo�te de dialogue
 angoissante indiquant : "Warning: Operating System Selection not
 valid!".  Ne tenez pas compte de cette erreur (cela ne pose de
 probl�me qu'� NT), pressez Entr�e pour valider.

 1. Pressez F10 puis Entr�e pour valider ces changements ;

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

 3. Choisissez, � l'aide des fl�ches, l'entr�e que vous venez de
    saisir, pressez Entr�e pour lancer MILO.

 Si la premi�re partition de votre disque dur est un syst�me de
 fichiers DOS de petite taille destin� au d�marrage (ainsi que la
 proc�dure d'installation le recommande), lorsque Linux sera install�,
 vous devrez y copier linload.exe et MILO. Au d�marrage 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 d�marche suivante :

 1. Entrez dans le setup (F2 � l'�cran de d�marrage) ;

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

 3. S�lectionnez l'entr�e correspondant � Linux, puis pressez F6 pour
    la modifier ;

 4. Placez le curseur sur l'entr�e correspondant � la partie
    p�riph�rique de la ligne "Boot File" (device pour les versions en
    Anglais).  Avec les fl�ches, choisissez la partition sur laquelle
    r�sident linload.exe et MILO. Appuyez sur Entr�e pour valider.

 5. Si vous souhaitez que votre syst�me d�marre automatiquement apr�s
    le chargement de MILO positionnez-vous (� l'aide de la touche TAB)
    sur la variable "OS Options" puis sp�cifiez ici quelle est la ligne
    de commande � fournir � MILO, par exemple : "boot sda2:vmlinux.gz".
    Pressez Entr�e 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.


 55..33..  dd''��vvaalluuaattiioonn DD��mmaarrrraaggee ddee MMIILLOO ddeeppuuiiss llee DDeebbuugg MMoonniittoorr ddeess
 ccaarrtteess

 Les cartes d'�valuation (et souvent les cartes con�ues � partir de
 leur exemple) proposent un logiciel appel� "debug monitor". Reportez-
 vous � la documentation de votre syst�me avant d'envisager cette
 possibilit�. Les syst�mes 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 pr�parer � connecter un terminal s�rie � votre syst�me. Son
 interface est tr�s simple et une commande d'aide (help) documente une
 grande quantit� de commandes. Les plus int�ressantes de ces commandes
 incluent les mots boot et load.


 Le debug monitor peut charger une image � partir du r�seau (netboot)
 ou d'une disquette (flboot). Dans tous les cas, l'image doit �tre
 charg�e � 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>





 55..44..  CChhaarrggeemmeenntt ddee MMIILLOO ddeeppuuiiss uunnee ddiissqquueettttee ddee dd��mmaarrrraaggee ffaaiillssaaffee

 D'apr�s les informations _d_o_n_t _j_e _d_i_s_p_o_s_e, seul l'AXPpci33 propose la
 reconnaissance de secteur d'amor�age de type failsafe floppy (Section
 ``AXPpci33 (Noname)'').


 Si vous ne disposez pas d'une image MILO standard pr�compil�e, vous
 devrez confectionner une disquette au format SRM. Une fois MILO
 compil�, vous devrez ex�cuter 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 pr�compil�e vous pourrez construire
 la disquette de la mani�re suivante :



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





 55..55..  DD��mmaarrrraaggee ddee MMIILLOO �� ppaarrttiirr ddee llaa mm��mmooiirree FFllaasshh

 Il existe certains syst�mes qui permettent d'int�grer MILO directement
 dans la PROM Flash, permettant ainsi le d�marrage 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'')


 55..66..  DD��mmaarrrraaggee ddee MMIILLOO ppaarr llee bbiiaaiiss ddee llaa ccoonnssoollee SSRRMM

 La console SRM (abr�viation de System Reference Manual) ne reconna�t
 aucun syst�me de fichiers ni m�me aucune partition disque. Elle
 s'attend tout simplement � trouver le logiciel d'amor�age � une
 position physique d�marrant � un emplacement donn� (il s'agit d'un
 offset ou position relative). L'information d�crivant ce logiciel
 d'amor�age (sa taille et sa position relative) est d�crite dans le
 premier bloc de 512 octets du disque. Pour charger MILO depuis la SRM
 vous devez g�n�rer cette structure de donn�es 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 p�riph�rique de d�marrage, compilez mboot
 et bootm puis �crivez-les sur disque � l'aide de la commande
 suivante :



      $ cat mboot bootm > /dev/fd0





 ou bien t�l�chargez une image appropri�e 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 d�marrer MILO depuis la console
 SRM, puis d'utiliser une de ses nombreuses commandes pour d�marrer.
 Par exemple, pour d�marrer depuis une disquette, vous devrez effectuer
 l'op�ration 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 syst�mes suivants sont compatibles avec la console SRM :

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

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

 �  EB164 (Section ``EB 164'')

 �  PC164 (Section ``PC164'')


 55..77..  IInnffoorrmmaattiioonnss sspp��cciiffiiqquueess �� cceerrttaaiinnss ssyysstt��mmeess

 55..77..11..  AAXXPPppccii3333 ((NNoonnaammee))

 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
 m�moire PROM flash, ex�cutable depuis MILO permet de copier ce dernier
 en m�moire flash. En revanche, nous tenons � vous avertir que cette
 manipulation est tr�s p�rilleuse car la Noname ne comportant que 256
 Ko de m�moire flash, elle ne peut contenir qu'une image en PROM. Si
 l'image que vous copiez en flash est corrompue, votre syst�me ne
 d�marrera plus.


 La m�thode de d�marrage des cartes Noname est contr�l�e par les
 jumpers J29 et J28. Ils sont dispos�s comme suit :









 Num�ro 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 int�ressent sont sur J28,
 dont les plots 1-3, qui d�marrent la console depuis la flash et J29,
 dont les plots 1-3 permettent de d�marrer la console depuis une
 disquette. La seconde option est celle dont vous avez besoin pour
 d�marrer MILO la premi�re fois.  Une fois que les jumpers auront �t�
 configur�s pour l'utilisation d'une disquette de d�marrage, ins�rez la
 disquette contenant MILO en version bootable dans le lecteur puis
 relancez l'ordinateur. En l'espace de quelques secondes (apr�s
 l'extinction de la lumi�re du lecteur), vous devrez constater que
 l'�cran passe du noir au blanc et y lire les informations relatives �
 l'ex�cution de MILO.  Si les aspects techniques vous int�ressent,
 sachez que la carte Noname charge le contenu de la disquette �
 l'adresse 0x104000 et les images provenant de la m�moire flash en
 0x100000. Pour cette raison, MILO int�gre son PALcode � l'adresse
 0x200000. Lors de son d�marrage, il se reloge lui-m�me � l'adresse
 correcte.


 55..77..22..  AAllpphhaaPPCC6644 ((CCaabbrriioolleett))

 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 ``D�marrage de MILO par le biais de la console
 SRM'') et du Debug Monitor (Section ``D�marrage de MILO depuis le
 debug monitor des cartes d'�valuation'').  Ces images sont en flash et
 il reste de la place dans cette m�moire pour ajouter l'image de MILO
 de mani�re � pouvoir d�marrer MILO directement depuis la PROM. Un
 utilitaire de gestion de la m�moire flash est disponible sous MILO,
 ainsi il est possible d'int�grer MILO � la m�moire flash lorsque
 celui-ci s'ex�cute (Section ``Ex�cution du gestionnaire de m�moire
 flash'').  Ce proc�d� accepte l'utilisation de variables
 d'environnement MILO.


 Il est possible de choisir parmi les options de d�marrage (ARC, SRM,
 MILO) en utilisant une combinaison de jumpers et de d�finir des
 options de d�marrage qui seront sauvegard�es 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 ex�cut�.

 �  SP Bit 7 ferm� : Ex�cuter l'image d�finie dans la NVRAM

 �  SP Bit 7 ouvert : Ex�cuter la premi�re image.


 Donc, si le SP Bit 7 est ouvert, le Debug Monitor sera ex�cut� car il
 est toujours positionn� en premi�re place dans la PROM. Et si le SP
 Bit 7 est ferm�, l'image ex�cut�e sera celle d�finie dans l'horloge
 syst�me (TOY). L'ARC, le Debug Monitor et MILO acceptent cette
 option ; il faut, cependant, �tre tr�s prudent lors de son
 utilisation. Par exemple, vous ne pouvez pas d�finir d'option qui vous
 permettra de d�marrer MILO au d�marrage suivant : lors de
 l'utilisation de la console ARC, cette derni�re vous permet de passer
 en mode Debug Monitor ou ARC lors du d�marrage, mais elle ne permet
 pas de passer en mode MILO.


 Pour inclure MILO dans la m�moire flash via le Debug Monitor, vous
 aurez besoin d'une image ad�quate (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 param�tres, '7'
 repr�sente un identificateur d'image flash utilis� par la SROM et
 -l200000 indique l'adresse de chargement de cette image).


 Pour charger cette image en m�moire, utilisez une des commandes
 flload, netload, ... � l'adresse 0x200000, puis ins�rez l'image en
 m�moire flash de la mani�re suivante :



      AlphaPC64> flash 200000 8





 200000 est l'adresse de chargement et 8 est le num�ro du segment de
 m�moire � 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).


 D�finissez l'image que la SROM va ex�cuter au d�marrage en donnant une
 valeur � la variable TOY bootopt :



      AlphaPC64> bootopt 131




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


 �teignez la machine, mettez le jumper 7 en place et red�marrez la
 machine. Vous devrez alors pouvoir observer MILO s'ex�cuter.
 F�licitations ! 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 red�marrer en mode Debug Monitor, reprenez
 les �tapes les unes � la suite des autres, m�thodiquement, en prenant
 garde de ne rien oublier.


 55..77..33..  EEBB 6666++

 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 d�riv�es des
 cartes d'�valuation poss�dent ce logiciel. Habituellement, ces cartes
 contiennent la console ARC. Un utilitaire de gestion de la m�moire
 flash est disponible sous MILO, ainsi il est possible d'int�grer MILO
 � la m�moire flash lorsque celui-ci s'ex�cute (Section ``Ex�cution du
 gestionnaire de m�moire flash''). Ce syst�me accepte les variables
 d'environnement MILO.


 Ces cartes disposent de plusieurs images en m�moire flash contr�l�es
 par jumper. Les deux bancs de jumpers sont J18 et J16 et se situent au
 centre bas de la carte (consid�rant que le processeur Alpha se situe
 en haut de la carte). Vous pouvez choisir l'option de d�marrage par
 ces jumpers (et MILO lorsqu'il est charg�) ainsi qu'une variable
 d'environnement sauvegard�e dans la m�moire non volatile (NVRAM TOY).


 jumper 7-8 Ferm� signifie qu'il faut utiliser l'image d�sign�e par la
 variable bootopt, lorsqu'il est ouvert le Debug Monitor est ex�cut�.


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


 55..77..44..  EEBB 6644++ // AAssppeenn AAllppiinnee

 Cette carte est tr�s similaire � l'AlphaPC64 except� qu'elle ne
 contient pas de m�moire flash utilisable par MILO. Cette carte poss�de
 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 grav�e la
 console ARC.


 55..77..55..  UUnniivveerrssaall DDeesskkttoopp BBooxx ((MMuullttiiaa))

 C'est une station ultra compacte � base d'AXP 21066 qui int�gre un
 sous-syst�me 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 d�marrage
 de MILO (Section ``Chargement de MILO depuis la console ARC pour
 Windows NT'').


 55..77..66..  EEBB 116644

 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 d�riv�es des
 cartes d'�valuation poss�dent ce logiciel. Habituellement, ces cartes
 contiennent la console ARC. Un utilitaire de gestion de la m�moire
 flash est disponible sous MILO, ainsi il est possible d'int�grer MILO
 � la m�moire flash lorsque celui-ci s'ex�cute (Section ``Ex�cution du
 gestionnaire de m�moire flash''). Ce syst�me accepte les variables
 d'environnement MILO. La console SRM est, de plus, disponible (Section
 ``D�marrage de MILO par le biais de la console SRM'').


 Ces cartes disposent de plusieurs images en m�moire flash contr�l�es
 par jumper. Le banc de deux jumpers s'appelle J1 et se situe en bas �
 gauche de la carte (consid�rant que le processeur Alpha se situe en
 haut de la carte). Vous pouvez choisir l'option de d�marrage par ces
 jumpers (et MILO lorsqu'il est charg�) ainsi qu'une variable
 d'environnement sauvegard�e dans la m�moire non volatile (NVRAM TOY).
 jumper SP-11 de J1 ferm� signifie qu'il faut utiliser l'image d�sign�e
 par la variable bootopt ; lorsqu'il est ouvert le Debug Monitor est
 ex�cut�.


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


 55..77..77..  PPCC116644

 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 d�riv�es des
 cartes d'�valuation poss�dent ce logiciel. Habituellement, ces cartes
 contiennent la console ARC. Un utilitaire de gestion de la m�moire
 flash est disponible sous MILO, ainsi il est possible d'int�grer MILO
 � la m�moire flash lorsque celui-ci s'ex�cute (Section ``Ex�cution du
 gestionnaire de m�moire flash''). Ce syst�me accepte les variables
 d'environnement MILO. La console SRM est, de plus, disponible (Section
 ``D�marrage de MILO par le biais de la console SRM'').


 Ces cartes disposent de plusieurs images en m�moire flash contr�l�es
 par jumpers. Le banc principal de jumpers s'appelle J30, il contient
 les jumpers de configuration. Le jumper CF6 ferm� signifie que le
 syst�me d�marrera le Debug Monitor, il est par d�faut ouvert.


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


 55..77..88..  XXLL226666

 Le XL266 est un des syst�mes connus sous le nom d'Avanti. Il poss�de
 une carte fille sur laquelle r�sident le processeur Alpha et le cache
 qui se connecte � la carte m�re. Cette carte remplace une carte fille
 Pentium �quivalente.


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


 Voici une liste compatible avec cette s�rie :

 �  AlphaStation 400 (Avanti),

 �  AlphaStation 250,

 �  AlphaStation 200 (Mustang),

 �  XL. Il en existe deux mod�les, XL266 et XL233 qui ne diff�rent que
    par la vitesse du processeur et la taille de la m�moire cache.


 NNoottee :: Le syst�me que j'utilise pour d�velopper 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 syst�mes sont,
 techniquement, �quivalents. Ils poss�dent les m�mes chipsets et les
 m�mes m�canismes d'interruptions.



 55..77..99..  PPllaattffoorrmm22000000

 Il s'agit d'un syst�me � base de processeur 21066 � 233 Mhz.


 66..  LL''iinntteerrffaaccee uuttiilliissaatteeuurr ddee MMIILLOO

 Apr�s avoir correctement install� MILO (Abr�v. de MIniLOader) vous
 devrez obtenir l'invite de commande de MILO. Il y a une interface de
 commandes tr�s simple que vous pouvez utiliser dans le but de d�marrer
 une image Linux particuli�re. Utilisez la commande help pour obtenir
 une description sommaire des commandes.


 66..11..  LLaa ccoommmmaannddee hheellpp

 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.





 NNoottee :: la commande bootopt n'appara�t que pour les syst�mes AlphaPC64
 (et �quivalents).


 PP��rriipphh��rriiqquueess.. Jusqu'� ce que vous utilisiez une commande qui
 n�cessite l'utilisation d'un des p�riph�riques, aucune initialisation
 n'est r�alis�e sur ces derniers. La premi�re commande show, ls, boot
 ou run provoquera l'initialisation des p�riph�riques. Les pilotes de
 p�riph�riques portent exactement les m�mes noms que ceux de Linux.
 Donc le premier disque IDE sera appel� hda et la premi�re partition
 sera hda1. Utilisez la commande show pour obtenir une liste des
 p�riph�riques disponibles.


 SSyysstt��mmeess ddee ffiicchhiieerrss.. MILO est compatible avec trois diff�rents types
 de syst�mes de fichiers : MSDOS, EXT2 et ISO9660. � partir du moment
 o� un p�riph�rique est disponible pour lui, MILO est � m�me de charger
 et d'ex�cuter n'importe quelle image disponible. Le syst�me de
 fichiers par d�faut est EXT2. Toutes les commandes utilisant les
 syst�mes de fichiers permettent d'en pr�ciser 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:





 VVaarriiaabblleess.. MILO contient quelques variables qui aident au processus de
 d�marrage. Si vous d�marrez � partir de la console ARC, MILO utilisera
 les variables d'environnement d�finies par ce firmware. Pour certains
 syst�mes (tels que l'AlphaPC64), MILO dispose de son propre jeu de
 variables qui ne changent pas d'un d�marrage � 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 d�finir de
 valeur d�lai (AUTOBOOT_TIMEOUT) car MILO d�marrera apr�s avoir attendu
 0 seconde. Ce n'est peut-�tre pas ce que vous souhaitez.


 PCI_LATENCY repr�sente le nombre de cycles PCI qu'un p�riph�rique
 fonctionnant en bus master se r�serve lorsqu'il acquiert le contr�le
 du bus. La valeur par d�faut est de 32 et la maximum de 255. D�finir
 une valeur �lev�e revient � dire que chaque fois qu'un p�riph�rique
 prend le contr�le du bus PCI, il transf�rera plus de donn�es.
 Cependant cela signifie aussi qu'un p�riph�rique devra attendre plus
 longtemps pour obtenir le contr�le du bus.


 66..22..  DD��mmaarrrraaggee ddee LLiinnuuxx

 La commande boot charge et d�marre un noyau Linux � partir d'un
 p�riph�rique. Vous aurez besoin d'avoir un disque contenant ce noyau
 (SCSI, IDE, disquette dans un format reconnu par MILO). Ces images
 peuvent �tre compress�es � l'aide de gzip ; les premi�res versions de
 MILO reconnaissaient ces fichiers � l'aide de leur extension '.gz',
 tandis que les plus r�centes font appel � la signature du fichier.


 Il est important de retenir que la version de MILO ne n�cessite pas de
 correspondance avec celle du noyau Linux que vous souhaitez charger.
 Vous d�marrez Linux avec la commande suivante :



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





 device-name repr�sente le nom du p�riph�rique que vous souhaitez
 utiliser, file-name le nom de fichier de l'image � charger en m�moire.
 Tous les arguments sp�cifi�s par la suite sont directement transmis au
 programme ex�cut� (ici le noyau Linux).


 Si vous installez Linux Red Hat pour Alpha vous devrez sp�cifier un
 p�riph�rique racine (root device) et autres options :



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





 MILO contient automatiquement les p�riph�riques en mode bloc
 configur�s 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 m�me important
 d'attribuer un ID SCSI raisonnable � votre contr�leur SCSI. Par d�faut
 MILO l'initialisera � la valeur maximale (7) qui, en principe, devrait
 fonctionner correctement. N�anmoins, si vous le souhaitez, vous pouvez
 sp�cifier l'ID SCSI de votre N-i�me contr�leur SCSI en d�finissant la
 variable SCSI_n_HOSTID ; par exemple pour pr�ciser que l'ID SCSI du
 contr�leur num�ro 0 est 7 utilisez la commande suivante :



      setenv SCSI0_HOSTID 7





 66..33..  RReedd��mmaarrrraaggee ddee LLiinnuuxx

 Vous pouvez vouloir red�marrer Linux � l'aide de la commande shutdown
 -r now. Dans ce cas, le noyau Linux repasse le contr�le � MILO (par
 une instruction HALT CallPAL entrypoint). MILO laisse une version de
 lui-m�me compress�e en m�moire pour cette seule raison et d�tecte que
 le syst�me est red�marr� par le biais du HWRPB (Hardware Restart
 Parameter Block). Dans ce cas vous pouvez  ed�marrer � l'aide de la
 m�me commande qui vous a servi au d�marrage pr�c�dent. Il y a un d�lai
 de 30 secondes qui vous permet d'interrompre ce processus et de
 d�marrer n'importe quel autre noyau de n'importe quelle autre mani�re.


 66..44..  LLaa ccoommmmaannddee ''''bboooottoopptt''''

 Pour les syst�mes utilisant la m�moire flash comme les AlphaPC64,
 EB164 et EB66+, il existe diff�rentes options de d�marrage. Celles-ci
 sont modifiables � l'aide de la commande bootopt. Cette commande a un
 unique argument : il s'agit d'un nombre d�cimal qui repr�sente le type
 d'image � ex�cuter au prochain red�marrage de la machine (Allumage /
 Extinction ou Reset).


 La valeur 00 active le Debug Monitor, 11 active la console ARC.


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



      MILO> bootopt 131




 Note : Soyez tr�s vigilant avec cette commande, une bonne r�gle est de
 ne jamais utiliser la valeur 0 (Debug Monitor), mais utilisez plut�t
 le syst�me des jumpers pour obtenir ce r�sultat.


 77..  EExx��ccuuttiioonn dduu ggeessttiioonnnnaaiirree ddee mm��mmooiirree ffllaasshh

 La commande run est utilis�e pour ex�cuter le gestionnaire de m�moire
 flash. Avant de d�marrer, vous devrez disposer d'un p�riph�rique
 accessible par MILO contenant le programme updateflash. Celui-ci
 (comme vmlinux) peut �tre compress� avec gzip. Vous devez ex�cuter ce
 programme � l'aide de la commande suivante :



      MILO> run fd0:fmu.gz





 Une fois charg� et initialis�, le gestionnaire de m�moire flash vous
 donnera quelques informations concernant le p�riph�rique 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 syst�mes qui permettent la sauvegarde de variables
 d'environnement et qui disposent de plus d'un bloc de m�moire flash
 (par exemple l'AlphaPC64), le gestionnaire de m�moire flash cherchera
 un bloc disponible pour la sauvegarde des variables d'environnement de
 MILO. Si un tel bloc existe, le gestionnaire de m�moire flash vous
 indiquera son emplacement. Dans le cas contraire, vous devrez utiliser
 la commande environment pour d�finir un bloc et l'initialiser. Dans
 l'exemple ci-dessus le bloc num�ro 12 de la m�moire flash renferme les
 variables d'environnement de MILO.


 77..11..  LLaa ccoommmmaannddee ''''hheellpp''''



      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 syst�mes EB66+, EB164, PC164 et AlphaPC64 (ainsi que leur
 clones).


 77..22..  LLaa ccoommmmaannddee ''''lliisstt''''

 La commande ''list'' affiche les informations sur l'utilisation de la
 m�moire flash. Pour les syst�mes 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>





 77..33..  LLaa ccoommmmaannddee ''''pprrooggrraamm''''

 Le gestionnaire de m�moire flash contient une copie compress�e d'une
 image flash de MILO. Cette commande vous permet de sauvegarder cette
 image dans la PROM. La commande vous permet de revenir en arri�re,
 mais avant de l'utiliser vous devriez utiliser la commande list pour
 d�finir o� il faut mettre MILO. Si MILO est d�j� dans la m�moire
 flash, le gestionnaire de m�moire 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 extr�mement prudent lorsque vous effectuez ce genre de
 manipulation. Une tr�s bonne r�gle � respecter est de ne jamais
 effacer le Debug Monitor.


 77..44..  LLaa ccoommmmaannddee ''''eennvviirroonnmmeenntt''''

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


 77..55..  LLaa ccoommmmaannddee ''''bboooottoopptt''''

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


 77..66..  LLaa ccoommmmaannddee ''''qquuiitt''''

 Cette commande n'a que peu de sens, car la seule mani�re possible pour
 se retrouver sous MILO est de red�marrer le syst�me.


 88..  RReessttrriiccttiioonnss

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


 MILO n'est pas con�u pour charger d'autres syst�mes d'exploitation que
 Linux, cependant il peut charger et ex�cuter des images dont
 l'ex�cution est possible au m�me emplacement m�moire que Linux (c'est
 � dire : 0xFFFFFC0000310000). C'est ce qui permet au gestionnaire de
 m�moire flash de fonctionner.


 Les sources du PALcode contenues dans miniboot/palcode/_t_o_t_o sont
 correctes, mais ce PALcode est probl�matique lorsqu'il est compil�
 avec la derni�re version de gas.  Probl�me qui n'existe pas avec
 l'ancien ex�cutable gas fourni avec les cartes d'�valuation. J'essaie
 actuellement de trouver quelqu'un capable de r�soudre ce probl�me.
 Pour l'instant, j'ai fourni un PALcode pr�compil� pour les cartes
 supportant MILO et David Mosberger-Tang a une version de gas corrig�e
 sur son site ftp.
 99..  DD��ppaannnnaaggee

 Voici un ensemble de probl�mes courants que certaines personnes ont
 rencontr�s ; vous trouverez, ensuite, leur solution.


 LLeeccttuurree ddee ddiissqquueess DDOOSS ddeeppuuiiss llee DDeebbuugg MMoonniittoorr..

 Quelques versions du Debug Monitor (pr�-version 2.0) ont un probl�me
 avec le gestionnaire DOS g�n�r� � partir de Linux. Ce probl�me se
 manifeste de la mani�re 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 diff�rence entre le syst�me de fichiers DOS tel que
 l'attend le Debug Monitor et l'impl�mentation de DOSFS sous Linux.
 Afin de r�soudre ce probl�me, 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
 op�rations suivantes sur une machine DOS :



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





 Et r�essayez de d�marrer depuis cette disquette. Cela devrait r�soudre
 le probl�me.


 MMiilloo aaffffiicchhee uunnee ss��rriiee ddee O> eett nn''aacccceeppttee ppaass ddee ccoommmmaannddeess..  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 d�boguer,
 mais pas tant que �a si vous avez un p�riph�rique autre qu'un terminal
 s�rie connect�.  Si cela arrive, d�connectez le p�riph�rique attach�
 au port COM1 ou mettez-le hors tension jusqu'� ce que le noyau Linux
 ait d�marr�. � ce stade tout devrait fonctionner correctement.


 MMIILLOO ssee ppllaaiinntt ddee ccee qquuee ll''iimmaaggee dduu nnooyyaauu ppoossss��ddee uunn mmaauuvvaaiiss

 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 r�cente 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.


 MMIILLOO aaffffiicchhee ""......ttuurrnniinngg oonn vviirrttuuaall aaddddrreessssiinngg aanndd jjuummppiinngg ttoo tthhee
 LLiinnuuxx KKeerrnneell"" ppuuiiss rriieenn nnee ssee ppaassssee..

 Une des causes possibles est que l'image du noyau est configur�e de
 mani�re incorrecte ou qu'elle a �t� produite pour un autre type de
 machine Alpha. Une autre possibilit� est que la carte vid�o 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 s�rie ou alors d'essayer le noyau qui �tait
 livr� avec votre distribution Linux.
 MMIILLOO nnee rreeccoonnnnaa��tt ppaass lleess pp��rriipphh��rriiqquueess SSCCSSII..

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


 1100..  RReemmeerrcciieemmeennttss

 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 d�bogages ;

 �  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-m�me, faites-le moi savoir :
 [email protected] <mailto:[email protected]>,
 afin de ne pas d�velopper deux fois la m�me chose.


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