GNU/LINUX DEBIAN 2.1 SUR ALPHA
Octobre 1999
Configuration concernée :
- AlphaStation 200 , 4/166 - Nom de code : "avanti"
- Processeur Alpha ev4
- Carte vidéo TGA (Uniquement 8 bits i.e. 256 couleurs :<)
- 64 Mo de RAM
- 1Go de disque SCSI
- Carte SCSI NCR53C810
- Carte Réseau DEC 21140 10/100 Mbits
- Carte son compatible Microsoft Sound System
- CD-ROM SCSI DEC RRD45
- En NVRAM , SRM
Choix de la distribution : GNU/LINUX DEBIAN 2.1
Installation chronologique
Préparation
Un petit tour sur le site de Debian :
http://www.debian.org/releases/slink/alpha/install.fr.html
Et je découvre que le nom de code de ma config est
"avanti".
Un peu plus loin je lis que cette machine peut démarrer linux de deux
manières :
- Avec MILO,
- Depuis SRM (Méthode non supportée par Debian).
J'avoue qu'en première lecture le deuxième choix me laisse interrogatif.
Je continue ma lecture du précieux document pour arriver à la méthode
d'installation.
Je choisi la méthode disquettes + NFS et je récupère sur le site FTP suivant :
ftp://ftp.fr.debian.org/pub/debian/dists/slink/main/disks-alpha/current/,
ce dont j'ai besoin :
- resc1440.bin (répertoire "avanti")
- drv1440.bin (répertoire "avanti")
- root1440.bin
- base2_1.tgz
Il n'y a pas de système de fichier sur l'image resc1440.bin il est
donc obligatoire de rappatrier l'image root1440.bin.
Je créé mes trois disquettes à coup de dd
dd if=<image> of=/dev/fd0 bs=512 conv=sync ; sync
et je positionne le fichier base2_1.tgz dans un répertoire exporté en NFS.
Je démarre la machine pour me retrouver sur le prompt SRM.
Je force le démarrage sur la disquette qui contient l'image
resc1440.bin :
>>> boot dva
Et me voila sur le prompt MILO, et grosse déception car le manuel
d'installation de la Debian ne fait pas mention du fonctionnement de
MILO.
Heureusement on trouve dans ce manuel des liens sur des sites
indispensables :
http://www.alphalinux.org.
Avec entre autre :
Suite à ces renseignements, j'initialise le périphérique de boot (la
disquette) :
MILO > fd0:
Puis je charge le noyau en précisant :
- L'emplacement de la racine du système de fichier (la disquette).
- que ce dernier doit être placé en mémoire.
Ce qui donne :
MILO > boot linux root=/dev/fd0 load_ramdisk=1
Le noyau se charge correctement jusqu'au moment de "mounter" la
partition racine.
En effet, à ce moment là il faut insérer la disquette root1440.bin.
Le démarrage se termine par le bel écran grisâtre du début
d'installation de la Debian.
La partie Installation/Configuration (dbootstrap)
La procédure d'installation se déroule sans encombres jusqu'à
dselect.
Juste une note sur le partitionnement du disque :
- sda1 64 Mo swap
- sda2 environ 960 Mo ext2
Une fois dselect lancé je me rends compte qu'il n'y a pas de "paquets"
xserver-vga16 obligatoire pour utiliser
XF86Setup.
Tans pis, je récupère le "paquet"
xserver-tga correspondant à ma carte
vidéo et une fois l'install
terminée je crèe un lien /usr/X11R6/bin/XF86_VGA16 vers /usr/X11R6/bin/XF86_TGA.
Je lance XF86Setup et vlan il me balance
des messages d'erreur du type :
Error : invalid command name ".xf86setup.keyboard.xkb.graphic"
Je n'en tiens pas compte et après moult efforts je clique sur le
bouton "done".
Le serveur démarre sans problèmes et j'arrive sur l'écran X
(Congratulations, ...etc...) qui me propose les choix suivants :
- Run xvidtune
- Save the configuration and exit
- Abort - Don't save the configuration
D'un clic tout en souplesse je choisi le deuxième "Save the
configuration and exit" et c'est
XF86Setup qui manque de souplesse
en restant bloqué, sans réactions, sans créer le fichier XF86Config (sniff :<).
Je tue le serveur X et je récupère une partie du fichier
XF86Config dans le répertoire
/tmp/.XF86Setup...etc... .
Quelques modifs à la main de ce fichier, je le place dans /etc/X11, je lance une session graphique
(startx) et ... ça fonctionne ; PARFAIT ! :)
Voilà mon système est prêt, enfin presque car il me reste à faire
en sorte que cette machine démarre sous linux directement sur le
disque, sans la disquette ou se trouve MILO.
Mise en place d'un procédé de démarrage - La
partie grosses galères
Bien, comme la machine dispose d'un micro système de chargement : SRM,
je décide d'approffondir une solution avec ce point de départ.
Comme il est mentionné dans les différentes docs, le démarrage via SRM
passe obligatoirement par "aboot".
Pour l'installer, il faut reserver quelques blocs en début de disque
(mieux vaut se baser sur les cylindres car sinon fdisk n'apprécie
pas).
L'ennui c'est qu'il faut un noyau un peu spécial car les périphériques
ont besoin d'êtres initialisés à la sauce linux.
Evidemment, la distribution Debian 2.1 ne fourni pas ce noyau, il faut
le recompiler à
la main.
Comble de malchance, la compilation du noyau n'aboutit pas ; pire,
elle avorte au beau milieu d'un gigantesque champs d'erreurs :(
Donc il ne reste plus qu'une solution : virer SRM et installer ARC.
Je récupère une mise à jour du microbios "firmware"
http://ftp.digital.com/pub/DEC/Alpha/firmware/readmes/alpha200.html.
Un coup de disquette et hop la modification est faite.
Cependant, ARC ne connaît que 2 types de systèmes de fichiers : FAT et NTFS.
Donc je repartitionne mon disque dur :
- sda1 - 3 Mo, FAT 16
- sda2 - 64 Mo, swap
- sda3 - environ 950 Mo, ext2
Je réinstalle le système.
Il ne me reste plus qu'a placer MILO sur sda1 (l'image de la disquette resc1440.bin contient un MILO qui fonctionne
très bien) :
dd if=/dev/fd0 of=/dev/sda1 conv=sync
J'ai trouvé cette astuce sur http://www.deja.com dans le forum
linux.debian.alpha
Attention : MILO se compose, principalement, de deux fichiers :
linload.exe (le chargeur) et milo (le micro système).
Enfin, je passe à la configuration
d'ARC pour booter sur sda1 :
- Au menu "boot menu", selectionnez "Supplementary menu..."
- Au menu "Supplementary menu", selectionnez "Set up the system..."
- Au menu "Setup menu", selectionnez "Manage boot selection menu..."
- Au menu "Boot selections menu", choisissez "Add a boot selection"
- Choisissez "SCSI DISK 0"
- Entrez "\linload.exe" comme répertoire et nom du chargeur de système.
- Répondez "yes" de sorte que le système soit sur la même partition
que le chargeur.
- Entrez "\" comme racine du système.
- Entrez "Linux" comme nom pour la selection de démarrage.
- Répondre "No" pour ne pas lancer le debogueur au démarrage.
- Retournez au menu "Boot selections menu", choisissez "Change a boot selection option"
et selectionnez l'entrée que vous venez de créer pour l'éditer.
- Utilisez la flèche du bas pour obtenir "OSLOADFILENAME" et entrez
le nom de l'image de MILO que vous voulez utiliser, "milo" dans notre cas.
- Appuyez sur ESC pour revenir au menu "Boot Selections menu"
- Choisissez "Setup Menu" (ou appuyez sur ESC à nouveau) et
choisissez "Supplementary menu, and save changes"
- ESC vous ramène au menu "Boot menu" et vous pouvez lancer
MILO. Si vous ne voulez pas de Linux comme première option de boot,
alors vous pouvez le modifier dans le menu "Boot selections menu".
That's all falks
Installation pas à pas
Au vu de l'expérience acquise je propose une méthode d'installation
"pas à pas".
Il semble que la compilation d'un noyau spécifique pour le démarrage
pose quelques problèmes ; dans ce cas, il me paraît préférable
d'utiliser le noyau fourni avec la distribution et de choisir
MILO comme solution de démarrage.
MILO n'est pas accessible depuis le micro bios SRM (sauf avec une
disquette). On se tournera, donc, vers une modification de ce micro bios
pour y installer ARC :
http://ftp.digital.com/pub/DEC/Alpha/firmware/readmes/alpha200.html.
Une fois ARC installé sur la machine, il faut le configurer
pour "booter" sur la disquette.
Récupperons ensuite les 3 disquettes de démarrage
nécessaires pour une architecture de type "avanti" :
ftp://ftp.fr.debian.org/pub/debian/dists/slink/main/disks-alpha/current/
- resc1440.bin (répertoire "avanti")
- drv1440.bin (répertoire "avanti")
- root1440.bin
Pour une installation via NFS, il faut aussi rappatrier l'archive
base2_1.tgz et la placer sur le serveur
NFS destiné à cet effet.
Une fois les disquettes correctement préparées et le mirco bios ARC
configuré pour un démarrage sur la disquette, on peut "booter".
MILO doit logiquement se mettre en place et afficher un beau prompt ;
il ne reste plus qu'à lancer le démarrage de linux depuis la disquette
en indiquant au noyau de placer le système de fichier en mémoire :
MILO> boot fd0:/vmlinuz root=/dev/fd0 load_ramdisk=1
Arrive le classique écran d'installation de la Debian
(dbootstrap).
Deux points sont à retenir :
- Mise en place d'une partition FAT 16 :
Ce type d'installation nécessite, en début de disque, une petite partition d'environ 2Mo à 3Mo
de type FAT 16 qui acceuillera MILO.
- Configuration du serveur X :
La configuration du serveur X n'est pas simplifiée.
En effet, il n'existe pas de serveur vga16 (pour la slink) ce qui
rend impossible l'utilisation de l'application XF86Setup :-(.
La "bidouille" utilisée dans la première
partie permet d'obtenir, non sans quelques problèmes, un fichier
de configuration XF86Config correct.
Cependant, cela reste une "bidouille" et il est conseillé d'utiliser
, à la place, un fichier XF86Config
modèle disponible à l'adresse suivante :ftp://ftp.digital.com/pub/DEC/Linux-Alpha/X11/XF86_TGA-3.1.2-README
Le reste de l'install reste des plus classiques
Précisions, reproches ...etc...
SRM comment ça fonctionne
Comme on peut le lire dans le "SRM HOWTO"
, SRM ne connait absolument rien aux partitions et aux systèmes de fichiers.
La seule chose qu'il sache faire c'est lire le premier bloc (512 octets)
d'un périphérique et en interpréter les long entiers (8 octets)
présents aux octets 480, 488, 496 et 504, pour charger en mémoire
(adresse : 0x20000000) un deuxième système de chargement.
- 480 : taille du second chargeur en blocs (de 512 octets),
- 488 : No du bloc où débutte le second chargeur,
- 496 : le checksum (doit être égal à zéro),
- 504 : somme des 63 premiers longs entiers du bloc.
Hors un disque stoque sa table des partitions dans le premier secteur
(bloc).
Cela pose, a priori, un problème.
Sauf qu'
"aboot" modifie le premier
secteur du disque pour être chargé comme deuxième chargeur, et
en plus trompe le système en stoquant la table des partitions dans un
bloc, qui n'est pas le premier, mais que le système arrive à
trouver.
En outre, ce micro bios ne sait absolument pas initialiser correctement
les périphériques pour linux.
La seule solution est de compiler le noyau d'une façon particulière,
pour qu'il se charge d'initialiser le matériel.
Un début d'explications sur cette manipulation dans le
SRM HOWTO.
MILO (mon sauveur)
MILO est plus qu'un simple "lanceur" linux, c'est un micro système
suffisament évolué pour initialiser le matériel et lancer un système
linux avec un noyau compilé de façon "classique".
MILO est en fait composé de deux éléments :
- linload.exe : qui est le second chargeur ("os loader").
c'est un binaire, au format COFF, directement exécutable par la
machine dont le but est de mettre en place le micro système MILO
dont les données sont dans le fichier milo.
- milo : contient toutes les données du micro système MILO.
Sur certaines architectures, (alpha bien sur) MILO peut être directement placé en NVRAM.
Reproches
- Le manuel d'installation de Debian sur alpha ne fait aucun
commentaires sur l'utilisation de MILO.
- Il n'y a pas, non plus, d'explications sur le fait que la "slink"
ne propose pas de solutions avec le logiciel "aboot"
- Le "MILO HOWTO" ne mentionne pas l'existence d'un fichier
milo.conf et n'en explique pas la syntaxe.
- Le "MILO HOWTO" ne propose pas de solution pour une installation
sur disque, uniquement sur disquette.
- La configuration du serveur X, avec la slink, reste lourde
par l'abscence de serveur X de type vga16 et l'impossibilité
d'utiliser correctement XF86Setup.
Louanges (pour terminer sur une bonne note)
Malgré les quelques points noirs sités ci-dessus, le site debian et le
manuel d'installation, bien qu'incomplets, fournissent de nombreux
liens vers des sites qui apportent toutes les solutions aux différents
problèmes que l'on peut rencontrer.
Améliorations, corrections ...etc...
18 Novembre 1999
Grâce à la mailing list "debian-alpha@lists.debian.org", j'ai trouvé
sur ce site FTP :
- une page de manuel sur
milo.conf
.
- un fichier
milo.conf
d'exemple.
On y apprend que la syntaxe de ce fichier est semblable à celle de
lilo.conf
.
Voici donc mon fichier milo.conf
:
timeout=50
image=sda3:/vmlinuz
label=linux
root=/dev/sda3
25 Novembre 1999
L'ARC Bios permet de passer des paramètres à MILO par le biais
de l'option "OSOPTIONS" :
- Au menu "boot menu", selectionnez "Supplementary menu..."
- Au menu "Supplementary menu", selectionnez "Set up the system..."
- Au menu "Setup menu", selectionnez "Manage boot selection menu..."
- Au menu "Boot selections menu", choisissez "Change a boot
selection option"
- Utilisez la flèche du bas pour obtenir "OSOPTIONS" et entrez
boot sda3:
(si votre partition racine est sda3).
Attention de ne pas oublier le caratère ':
' après le nom de
la partition.
Ainsi, l'ARC Bios lance MILO avec les paramètres adéquats pour que ce
dernier puisse démarrer en utilisant le fichier /etc/milo.conf
de la partition racine de LINUX.
12 Avril 2000
La carte son.
Sur les modèles AS200 4/166 la carte son est une carte compatible
Microsoft Sound System elle nécessite donc l'utilisation
du module ad1848.
Par habitude, je préfère installer les pilotes des
périphériques sons en module et non pas dans le noyau,
je ne parlerais donc que de cette méthode.
Dans la configuration du noyau, il faut donc activer, en module,
la ligne Microsoft Sound System.
Recompilez les modules.
Ensuite, il suffit de lancer modconf
de charger le module ad1848 en lui passant en argument la ligne:
io=0x530 irq=9 dma=1
et le tour est joué.
FERRERE Frédéric - E-mail => Envoyer un courrier