Red Hat Linux MANUEL DE L'UTILISATEUR - E.5 Comment charger MILO ?  Précédent  Suivant  Début chapitre  Préface  Table des matières


E.5 Comment charger MILO ?


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

* une disquette bootable dite failsafe[8]
* 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

E.5.1 Chargement de MILO depuis la console ARC pour Windows NT

La plupart, sinon la totalité, des systèmes à base d'Alpha AXP intègrent le firmware ARC pour Windows NT et ceci 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 de réaliser des opérations. Le programme OSLoader de Windows NT réalise exactement ça. 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 instruction swap-PAL puis PALcall à cette adresse. MILO, comme Linux, utilise un PALcode différent de celui utilisé par Windows NT ceci expliquant pourquoi l'instruction swap est nécéssaire. 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èmes 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(O)disk(O)fdisk(O) OSLOADER=multi(O)disk(O)fdisk(O)\linload.exe OSLOADPARTITION=multi(O)disk(O)fdisk(O) 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 E.6 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[9]) est d'appeler MILO fwupdate.exe puis de choisir l'option 'Upgrade Firmware'

E.5.2 Démarrage de MILO depuis l'AlphaBIOS Windows NT

Avec l'apparition des machines de la série XLT, Digital à changé la console ARC pour ses systèmes Windows NT et l'a remplacé 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 :

* Copiez le fichier sur une disquette DOS.

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

* Choisissez "Upgrade AlphaBIOS"

* Suivez les instructions

Une fois que l'AlphaBIOS est mis à jour, vous pouvez démarrer votre machine comme suit :

* Créez une disquette DOS contenant les fichiers

- linload.exe

- milo

* Allumez le système et entrez dans le setup

* Choisissez "Utilities->OS Selection Setup"

* Appuyez sur INSERT pour ajouter une nouvelle entrée

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

* Avec les flèches choisissez 'A:' pour la variable "Boot File" is "A: ", passez au champ suivant

* Entrez "linload. exe". Deux fois TAB

* Entrez " \ " pour la variable "OS Path load file"

* Pressez ENTREE pour valider

A ce moment l'AlphaBIOS devrait afficher une boite de dialogue angoissante indiquant : 'Warning: Operating System Selection not valid!". Ne tenez pas compte de cette erreur (cela ne pose problème qu'à NT) pressez Entrée pour valider.

* Pressez F10 puis Entrée pour valider ces changements

* Pressez Esc jusqu'à arriver à l'écran d'accueil

* 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 fichier DOS de petite taille destiné au démarrage (tel 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 :

* Entrez dans le setup (F2 à l'écran de démarrage)

* Choisissez "Utilities -> OS Selection setup"

* Sélectionnez l'entrée correspondant à Linux, puis pressez F6 pour la modifier.

* 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éside linload.exe et milo. Appuyez sur Entrée pour valider.

* 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

* Utilisez la touche F10 pour sauvegarder les modifications.

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

E.5.3 Démarrage de MILO depuis le "debug monitor" des cartes d'évaluations

Les cartes d'évaluation (et souvent les cartes conçues à partir de leur exemple) proposent un logiciel appelé "débug monitor". Reportez vous à la documentation de votre système avant d'envisager cette possibilité. Les systèmes suivants proposent cette fonctionnalité.

* AlphaPC64 (Section E.5.7)

* EB64+ (Section E.5.7)

* EB66+ (Section E.5.7)

* EB164 (Section E.5.7)

* PC164 (Section E.5.7)

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>

E.5.4 Chargement de MILO depuis une disquette de démarrage failsafe

D'après les informations dont je dispose, seul l'AXPpci33 propose la reconnaissance de secteur d'amorçages de type failsafe floppy (Section E.5.7).

Si vous ne disposez pas d'une image MILO standard précompilée, alors 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

E.5.5 Démarrage de MILO à partir de la mémoire Flash

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

* Noname (Section E.5.7)

* EB66+ (Section E.5.7)

* EB164 (Section E.5.7)

* PC164 (Section E.5.7)

E.5.6 Démarrage de MILO par le biais de la console SRM

La console SRM (abréviation de System Référence 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 octet 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. Ceci 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.

Ceci 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: Vl.l Unzipping MILO into position Allocating memory for unzip ####...

Les systèmes suivants sont compatibles avec la console SRM :

* Noname (Section E.5.7)

* AlphaPC64 (Section E. 5.7)

* EB164 (Section E.5.7)

* PC164 (Section E.5.7)

E.5.7 Informations spécifiques à certains systèmes

AXPpci33 (Noname)

La carte Noname est capable de charger MILO depuis une console ARC ou SRM ou depuis un 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. Par contre nous tenons à vous avertir que cette manipulation est très périlleuse car la Noname ne contenant 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. (Assurez-vous de disposer d'une disquette failsafe avant d'entreprendre cette manipulation NDLT)

La méthode de démarrage des cartes Noname est contrôlée par les cavaliers J29 et J28. Il sont disposés comme suit :


                        --------- 
          N° PIN        :   4   :        N° PIN
        -----------------------------------------
  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. 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 cavaliers 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.

AlphaPC64 (Cabriolet)

L'AlphaPC64 est doté, en standard, du Firmware Windows NT (Section E.5.1), de la console SRM (Section E.5.6) et du Debug Monitor (Section E.5.3). 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 E.7). 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 cavaliers et de définir des options de démarrages qui seront sauvegardées dans la NVRAM de l'horloge TOY ( CMOS ).

Il s'agit du cavalier J2, Les bits 6 et 7 ont la fonction suivante :

SP Bit 6 doit toujours être ouvert (pas de cavalier) 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 -l200000 MILO -o mini.flash

(tappez 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 3eme image, 129 la 1er image, 130 la 2eme, etc...)

Eteignez la machine, mettez le cavalier 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 cavalier 7 pour redémarrer en mode Debug Monitor, reprenez les étapes les unes à la suite des autres, méthodiquement en prenant garde de n'avoir rien oublié.

EB 66+

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 tout le temps) 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 E.7). Ce système accepte les variables d'environnement MILO.

Ces cartes disposent de plusieurs images en mémoire flash contrôlées par cavalier. Les deux bancs de cavaliers 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 cavaliers (et MILO lorsqu'il est chargé) ainsi qu'une variable d'environnement sauvegardée dans la mémoire non volatile (NVRAM TOY).

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

EB 64+ / Aspen Alpine

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, quand à elle, ne contient qu'une ROM où est gravée la console ARC.

Universal Desktop Box (Multia)

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 à 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 (SectionE.5.1.).

EB 164

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 E.7). Ce système accepte les variables d'environnement MILO. La console SRM est, de plus, disponible (Section E.5.6).

Ces cartes disposent de plusieurs images en mémoire flash contrôlées par cavalier. Les deux bancs de cavaliers s'appellent J1 et se situent 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 cavaliers (et MILO lorsqu'il est chargé) ainsi qu'une variable d'environnement sauvegardée dans la mémoire non volatile (NVRAM TOY).

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

PC164

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 E.7). Ce système accepte les variables d'environnement MILO. La console SRM est, de plus, disponible (Section E.5.6).

Ces cartes disposent de plusieurs images en mémoire flash contrôlées par cavalier. Les bancs principaux de cavaliers s'appellent J30, ils contiennent les cavaliers de configuration. Le cavalier 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.

XL266

Le XL266 est un des systèmes connus sous le nom d'Avanti. Il possède une carte fille sur laquelle réside le processeur Apha 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 E.5.1).

Voici une liste compatible avec cette série

* AlphaStation 400 (Avanti),
* AlphaStation 250,
* AlphaStation 200 (Mustang),
* XL.
A noter que : 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 fonctionnent correct. Ceci dit les autres systèmes sont, techniquement, équivalents. Ils possèdent les mêmes chipsets et les mêmes mécanismes d'interruptions.

Plafform2000

Il s'agit d'un système à base de processeur 21066/A à 233 Mhz.

[7] La plupart des systèmes intègrent la console ARC en standard

[8] Disquette utilisée pour recharger le logiciel de firmware contenu dans la PROM de votre carte mère

[9] Et déconseillée NDLT


Précédent  Suivant  Début chapitre  Préface  Table des matières

© 1996-1998 "RedHat et les Logiciels du Soleil"