Ce chapitre commence avec quelques informations générales sur le démarrage de Debian GNU/Linux, ensuite chaque section décrit une méthode particulière d'installation, pour finir par quelques conseils de dépannage.
Les paramètres de démarrage sont des paramètres pour le noyau Linux qui sont généralement utilisés pour s'assurer que certains périphériques sont correctement détectés. La plupart du temps, le noyau auto-détecte les informations nécessaires concernant vos périphériques. Cependant, dans certains cas, vous aurez à aider un peu le noyau.
Selon la machine à partir de laquelle vous faites l'installation, différentes
méthodes sont utilisées pour passer des paramètres au noyau. Ces méthodes sont
décrites plus bas, séparement pour chaque procédure d'installation. Toutes les
informations nécessaires sur les paramètres de démarrage sont disponibles dans
le Linux
BootPrompt HOWTO
; la présente section contient seulement un résumé
des paramètres les plus utilisés.
Si vous êtes en train d'essayer d'installer le système pour la première fois, utilisez les paramètres par défaut (c'est-à-dire, n'ajoutez aucun paramètre) et voyez si cela fonctionne correctement. Cela sera vraisemblablement le cas. Sinon, vous pourrez redémarrer ultérieurement avec les paramètres appropriés à votre matériel.
Lorsque le noyau démarre, un message Memory: availk/totalk available doit être affiché assez tôt durant le processus. total doit correspondre à la quantité de mémoire vive (exprimée en kilo-octets) que contient votre machine. Si la quantité de mémoire vive détectée ne correspond pas à la quantité de mémoire contenue dans votre machine, vous devrez utiliser le paramètre mem=ram, où ram est la taille mémoire de votre machine, suivie par « k » pour kilo-octets ou « m » pour méga-octets. Par exemple, mem=65536k et mem=64m sont équivalents pour forcer l'utilisation de 64 Mo de mémoire vive.
Si votre moniteur est noir & blanc, utilisez le paramètre mono. Sinon, votre installation se fera en couleur, ce qui est l'option par défaut.
Si vous démarrez avec une console série, en général, le noyau le détecte automatiquement. Si vous avez une carte vidéo (framebuffer) et un clavier également connectés à l'ordinateur que vous voulez démarrer à l'aide de la console série, vous devrez peut-être passer l'option console=device au noyau, où device est votre interface série, c'est à dire quelque chose comme "ttyS0".
De nouveau, tous les détails sur les paramètres de démarrage peuvent être
trouvés dans le Linux BootPrompt
HOWTO
, y compris les astuces pour le matériel peu courant. Quelques
pièges courants sont inclus ci-dessous dans la section Dépannage en cas de
probléme à l'amorçage, Section 6.10.
Le système d'installation reconnaît quelques arguments qui peuvent s'avérer utiles.
Durant la séquence de démarrage, vous pourriez voir beaucoup de messages du genre can't find something, ou something not present, can't initialize something, ou même this device driver depends on something. La plupart de ces messages sont sans conséquence. Vous les voyez parce que le noyau du système d'installation est conçu pour tourner sur des ordinateurs avec un grand nombre de périphériques très différents. Evidemment, aucun ordinateur ne possède tous les périphériques possibles à la fois, et l'ordinateur pourrait se plaindre parce qu'il recherche un périphérique que vous ne possédez pas. Vous pourriez également voir le système s'arrêter pendant un moment. Cela arrive quand il attend une réponse d'un périphérique qui n'est pas présent sur votre système. Si vous trouvez le temps de démarrage du système exagérément long, vous pouvez créer un noyau "personnalisé" plus tard (voyez Compiler un nouveau noyau, Section 8.4).
Dans certains cas, vous pourriez avoir envie de démarrer le système à partir d'un autre système d'exploitation existant. Vous pouvez également démarrer le système d'autre façon et ensuite installer le système de base à partir du disque.
Vous pouvez installer Debian à partir d'une partition ext2fs ou Minix. Cette technique est tout à fait adaptée, si vous remplacez votre système Linux actuel par Debian, par exemple.
Remarquez néanmoins que la partition à partir de laquelle vous
installez ne devrait pas être la même que celle sur laquelle vous
installez (par exemple, /
, /usr
, /lib
,
etc.).
Pour installer à partir d'une partition Linux existante, suivez les étapes suivantes :
http://http.us.debian.org/debian/dists/potato/main/disks-alpha/current/base2_2.tgz
Si vous avez un CD bootable, et si votre architecture et votre système supportent le démarrage à partir d'un CD-ROM, vous n'avez pas besoin de disquettes. Démarrer à partir d'un CD-ROM sur Alpha est un peu plus compliqué que sur i386. Cependant, la réduction du nombre de disquettes nécessaires rend la chose intéressante. Voyez Lancement du système d'installation, Chapitre 6 pour plus d'infos sur la façon de démarrer les systèmes Alpha à partir de disquettes.
Même si vous ne pouvez pas démarrer à partir du CD-ROM, vous pouvez installer le système de base Debian à partir du CD-ROM. Il suffit de démarrer en utilisant un autre média, tel que les disquettes. Au moment d'installer le système de base et les paquetages supplémentaires, indiquez au système d'installation le lecteur de CD-ROM, comme décrit dans ``Installer le système de base'', Section 7.14.
Vous devez mettre sur pied un serveur BOOTP et un serveur TFTP.
BOOTP est un protocole IP qui informe un ordinateur de son adresse IP et d'où sur le reseau il peut obtenir une "boot image". Contrairement à l'Open Firmware qu'on trouve sur les stations Sparc et PowerPC, la console SRM n'utilise pas RARP pour obtenr son adresse IP, et vous devez donc utiliser BOOTP pour un démarrage réseau de votre Alpha. Vous pouvez également entrer directement la configuration IP de vos interfaces réseau dans la console SRM. [3]
Le Trivial File Transfer Protocol (TFTP) est utilisé pour servir au client une image de démarrage. Théoriquement, n'importe quel serveur, sur n'importe quelle plate-forme, qui implémente ces protocoles peut être utilisé. Dans les exemples de cette section, nous fournissons les commandes pour SunOS 4.x, SunOS 5.x (c-à-d Solaris), et GNU/Linux.
Il y a 2 serveurs BOOTP disponibles pour GNU/Linux, le bootpd CMU et le dhcpd
ISC, qui se trouvent dans les paquetages bootp
et
dhcp
sur Debian GNU/Linux.
Pour utiliser le bootpd CMU, vous devez d'abord "dé-commenter" (ou
ajouter) la ligne nécessaire dans /etc/inetd.conf
. Sur Debian
GNU/Linux, vous pouvez lancer update-inetd --enable bootps, puis
/etc/init.d/inetd reload. Ailleurs, la ligne en question devrait
être :
bootps dgram udp wait root /usr/sbin/bootpd bootpd -i -t 120
Ensuite, vous devez créer un fichier /etc/bootptab
. Celui a le
même format un peu cryptographique que les vieux bons fichiers BSD
printcap(5)
, termcap(5)
et disktab(5)
.
Voyez la page de manuel bootptab(5)
pour plus d'informations.
Pour le bootpd CMU, vous aurez besoin de connaître l'adresse hardware (MAC) du
client.
Au contraire, configurer BOOTP avec le dhcpd
d'ISC est vraiment
facile, parce qu'il traite les clients BOOTP comme une classe apparentée aux
clients DHCP. Vous n'avez pas vraiment besoin de connaître l'adresse hardware
(MAC) du client, à moins que vous vouliez spécifier des options particulières,
du genre fichier image de démarrage ou chemin NFS, client par client; ou que
vous vouliez attribuer des adresses IP toujours identiques à vos clients, en
utilisant BOOTP et/ou DHCP. Ajoutez simplement la directive allow
bootp au bloc de configuration relatif au client particulier, et
redémarrez dhcpd
avec /etc/init.d/dhcpd restart.
Pour mettre le serveur TFTP en route, vous devrez d'abord vous assurer que
tftpd
tourne. Cela est généralement réalisé en mettant la ligne
suivante dans /etc/inetd.conf
:
tftp dgram udp wait root /usr/etc/in.tftpd in.tftpd /tftpboot
Regardez dans ce fichier et essayez de retenir quel répertoire est utilisé
comme argument de in.tftpd
; vous en aurez besoin par la suite.
L'argument -l permet à certaines version de in.tftpd
de "loguer" tous les requêtes dans les logs du système; c'est très
pratique pour diagnostiquer des erreurs de démarrage. Si vous modifiez le
fichier /etc/inetd.conf
, vous devrez notifier au programme
inetd
qui tourne, que le fichier a changé. Sur une machine
Debian, exécutez /etc/init.d/netbase reload (pour potato/2.2 et
systèmes plus récents, utilisez /etc/init.d/inetd reload); sur
d'autres machines, retrouvez l'ID de processus de inetd
et
exécutez kill -HUP inetd-pid.
Ensuite, placez l'image de démarrage TFTP dont vous avez besoin, telle qu'on la
trouve dans Description des
fichiers du système d'installation, Section 5.4, dans le répertoire d'image
de démarrage de tftpd
. En général, ce répertoire se trouve dans
/tftpboot
. Ensuite, vous devrez créer un lien symbolique entre ce
fichier et le fichier spécifique que tftpd
utilise pour démarrer
un client particulier. Malheureusement, le nom du fichier est déterminé par le
client TFTP, et il n'y a pas vraiment de standards.
Souvent, le fichier que recherche le client TFTP sera
ip-client-en-hexa-architectureclient. Pour calculer
ip-client-en-hexa, prendre chaque octet de l'adresse IP du client et
la convertir en hexadécimal. Si vous avez un ordinateur à portée de main avec
le programme bc
, vous pouvez l'utiliser : exécutez d'abord la
commande obase=16 pour mettre la sortie en hexadécimal, ensuite
entrez les parties de l'adresse IP l'une après l'autre. En ce qui concerne
architectureclient, essayez quelques valeurs.
Sur Alpha, vous devez spécifier le nom de fichier (comme chemin relatif, par rapport au répertoire d'image de démarrage) en passant l'argument -file à la commande SRM boot, ou en utilisant la variable d'environnement BOOT_FILE. Alternativement, le nom du fichier peut être donné par BOOTP (avec le dhcpd d'ISC, utilisez la directive filename). Contrairement à Open Firmware, il n'y a pas de fichier par défaut sous SRM, vous devez donc spécifier un nom de fichier par une de ces méthodes.
Une fois que vous avez déterminé le nom, créez le lien comme suit : ln /boot/tftpboot.img /boot/file-name. Avec SRM, les interfaces Ethernet sont nommées avec le préfixe ewa, et peuvent être vues avec la commande show dev, comme ceci (légerement édité) :
>>>show dev ewa0.0.0.9.0 EWA0 08-00-2B-86-98-65 ewb0.0.0.11.0 EWB0 08-00-2B-86-98-54 ewc0.0.0.2002.0 EWC0 00-06-2B-01-32-B0
Donc, pour démarrer à partir de la 1e interface Ethernet, on taperait :
>>>boot ewa0
Si vous voulez utiliser une console série, vous devez passer le paramètre console= au noyau. Ce peut être fait en utilisant l'argument -flags avec la commande SRM boot. Les ports séries sont nommés de la même façon que leur fichier correspondant dans /dev. Par exemple, pour démarrer à partir de ewa0 et utiliser une console sur le premier port série, vous taperez :
>>>boot ewa0 -flags console=ttyS0
PAS ENCORE ECRIT
C'est plus proche de "installation tftp avec peu de mémoire" parce que vous ne voulez pas charger de ramdisk, mais démarrer à partir du système de fichier nfs-root que vous venez de créer. Vous devez alors remplacer le lien symbolique vers l'image tftpboot par un lien vers l'image du noyau (c-à-d linux-a.out).
Le firmware console est stocké dans une ROM flash et démarré quand le système Alpha est lancé ou redémarré. Il y a 2 types de spécifications console utilisés sur les systèmes Alpha, et donc 2 classes de firware console disponibles :
Du point de vue de l'utilisateur, la différence la plus importante entre SRM et ARC et que le choix de la console réduit les possibilités de partitionnement du disque dur à partir duquel vous voulez démarrer.
ARC vous oblige à utiliser une table de partition MS-DOS (celle crée par
cfdisk
pour le disque de démarrage. Donc, les partitions MS-DOS
sont les partitions "native" quand on démarre sous ARC. En fait,
comme AlphaBIOS contient un utilitaire de partitionnement de disque, vous
préférerez peut-être partitionner vos disques à partir des menus du firmware
avant d'installer Linux.
A l'opposé, SRM est incompatible avec les tables de partition MS-DOS. [4] Comme Tru64 Unix utilise le format de disque BSD, celui-ci est le format de partition "natif" pour les installations SRM.
Etant donné que GNU/Linux est le seul système d'exploitation sur Alpha qui peut être lancé à partir des deux types de console, votre choix dépendra également des autres systèmes d'exploitation que vous voulez aussi faire tourner sur votre machine. Tous les autres systèmes d'exploitation de type Unix (Tru64 Unix, FreeBSD, OpenBSD et NetBSD) et OpenVMS ne peuvent être lancés que de SRM, alors que Windows NT ne peut être lancé que d'ARC.
La table suivante résume les combinaisons type/console disponibles et supportées (voyez Support pour les CPU, cartes mères et cartes vidéos, Section 2.1.2 pour les noms de type de système). Le mot "ARC" ci-dessous recouvre toute console compatible ARC.
Système Console Supportée ======= ================= alcor ARC ou SRM avanti ARC ou SRM book1 SRM uniquement cabriolet ARC ou SRM dp264 SRM uniquement eb164 ARC ou SRM eb64p ARC ou SRM eb66 ARC ou SRM eb66p ARC ou SRM jensen SRM uniquement lx164 ARC ou SRM miata ARC ou SRM mikasa ARC ou SRM mikasa-p SRM uniquement nautilus ARC uniquement (voyez le manuel de la carte mère) noname ARC ou SRM noritake SRM uniquement noritake-p SRM uniquement pc164 ARC ou SRM rawhide SRM uniquement ruffian ARC uniquement sable SRM uniquement sable-g SRM uniquement sx164 ARC ou SRM takara ARC ou SRM xl ARC uniquement xlt ARC ou SRM
En général, aucune de ces consoles ne peur démarrer Linux directement, vous
avez donc besoin de l'aide d'un "bootloader" intermédiaire. On
utilise principalement deux de ces chargeurs sous Linux : MILO
et
aboot
.
MILO
est en soi une console, qui remplace ARC ou SRM en mémoire.
MILO
peut être lancé aussi bien depuis ARC et SRM et représente la
seule façon de démarrer Linux depuis la console ARC. MILO
dépend
de votre plate-forme (un MILO
différent existe pour chaque
système) et n'existe que pour les systèmes pour lesquels est indiqué un support
ARC dans le tableau ci-dessus. Reportez-vous également au (malheureusement un
peu dépassé) MILO
HOWTO
.
aboot
est un petit chargeur de démarrage indépendant de la
plate-forme, qui ne tourne que pour SRM. Reportez-vous au (maheureusement
aussi un peu dépassé) SRM-HOWTO
pour plus
d'infos sur aboot
.
Trois scénarios sont donc possibles, selon le firmware console du système et
selon que MILO
soit disponible :
SRM -> aboot SRM -> MILO ARC -> MILO
La carte-mère UP1000 (sous-architecture 'nautilus') de Alpha Processors, Inc. est différente de toutes les autres, parce qu'elle utilise un chargeur de démarrage spécifique à l'API, qui tourne sous firmware AlphaBIOS. Il n'y a pas (encore) de disques d'installation disponibles pour la UP1000, mais vous devriez être capable de faire une installation en démarrant un noyau "générique" ou "nautilus" avec le root.bin des disques d'installation, en suivant les instructions du manuel.
Vu que MILO
n'est pas disponible pour tous les systèmes Alpha
actuellement en production (à la date de Février 2000), et comme il n'est plus
nécessaire d'acheter une licence Unix OpenVMS ou Tru64 pour avoir un firmware
SRM sur vos vieux Alpha, il est recommandé d'utiliser SRM et aboot
pour les nouvelles installations de GNU/Linux, à moins que vous ne vouliez un
double démarrage avec Windows NT ou que vous n'ayez des disques partitionnés au
format DOSdéjà installés.
La majorité des AlphaServers et tous les serveurs et stations de travail actuels contiennent SRM et AlphaBIOS dans leur firmware. Pour les machines "half-flash", tels que les différentes cartes d'évaluation, il est possible de passer d'une version à l'autre en reflashant le firmware. Il est également possible, une fois que SRM est installé, de faire tourner ARC/AlphaBIOS à partir d'une disquette (en utilisant la commande 'arc').
Comme pour les autre architectures, vous devriez installer la version la plus
récente de firmware [5] avant
d'installer Debian. Pour Alpha, les mises à jour de firmware sont disponibles
depuis les Alpha
Firmware Updates
.
A l'invite SRM (>>>
), tapez la commande suivante :
>>> boot dva0 -flags 0
en remplaçant éventuellement dva0
par le nom du périphérique. En
général, dva0
est le lecteur de disquettes; tapez
>>> show dev
pour voir la liste des périphériques (par ex., si vous voulez démarrer à partir
d'un CD). Remarquez que si vous démarrez avec MILO, l'argument
-flags
est ignoré et vous pouvez simplement taper boot
dva0
.
Si tout fonctionne bien, vous devriez voir le démarrage du noyau Linux.
Si vous voulez passer des paramètres au noyau en utilisant aboot
,
utilisez la commande suivante :
>>> boot dva0 -file linux.gz -flags "root=/dev/fd0 load_ramdisk=1 arguments"
(tapé sur une ligne), en substituant, si nécessaire, dva0
par le
nom du périphérique de démarrage SRM, fd0
par le périphérique de
démarrage de Linux et arguments
par les paramètres du noyau.
Si vous voulez spécifier des paramètres au noyau en démarrant avec
MILO
, vous devez interrompre le démarrage une fois que vous êtes
dans MILO. Voyez Démarrage avec MILO, Section
6.9.
Dans le menu OS Selection, choisissez linload.exe
comme chargeur
de démarrage (boot loader), et milo
comme OS Path. Démarrez en
utilisant l'entrée nouvellement créée.
Pour lancer la procédure d'installation, entrez la commande suivante à l'invite MILO :
MILO> boot fd0:linux.gz root=/dev/fd0 load_ramdisk=1
Si vous démarrez à partir d'autre chose que d'une disquette, remplacez
fd0
par le nom de périphérique approprié dans l'exemple ci-dessus.
La commande help
peut vous apporter quelques infos sur la commande
MILO.
Si vous rencontrez des problèmes ou si le noyau plante pendant la phase d'amorçage, ou ne reconnaît pas certains de vos périphériques ou encore si certains de vos lecteurs ne sont pas reconnus correctement, la première chose à faire est de vérifier ou modifier les paramètres de démarrage (voir Paramètres du démarrage, Section 6.1).
Souvent, les problèmes peuvent être résolus en enlevant certains périphériques et en tentant d'amorcer à nouveau.
Si vous avez toujours des problèmes, soumettez un rapport de bogue. Envoyez un
email à submit@bugs.debian.org
(en
anglais). Vous devez inclure les lignes suivantes au tout début de
votre message:
Package: boot-floppies Version: version
Assurez-vous que vous avez remplacé le champ version par le numéro de version des disquettes d'installation que vous utilisez. Si vous ne connaisez pas le numéro de version, utilisez la date à laquelle vous avez téléchargé les disquettes et incluez le nom de la distribution (i.e., « stable », « frozen »).
Vous devez également inclure les informations suivantes dans votre rapport de bogue :
architecture: alpha modèle: marque et modèle de votre ordinateur mémoire: taille de votre mémoire RAM scsi: nom de votre contrôleur SCSI, si vous en possédez un cd-rom: modèle de votre CD-ROM et son interface, i.e., ATAPI carte réseau: modèle et marque de votre carte réseau si vous en possédez une pcmcia: détails de vos périphériques PCMCIA
Suivant la nature du bogue, il peut également être utile de donner le modèle du disque dur, sa capacité et votre modèle de carte vidéo.
Dans votre rapport de bogue, décrivez précisement quel est votre problème, en incluant les dernières lignes affichées par le noyau dans le cas ou le noyau « plante » au début de l'installation. Décrivez les étapes qui vous ont amené au problème sur lequel vous butez.