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