Fichier de configuration pour Lilo.
Le fichier/etc/lilo.conf est lu lors de l'installation du chargeur Lilo. La forme générale du fichier est :
boot = /dev/hda
delay = 40
compact
vga = normal
root = /dev/hda1
read-only
image = /zImage-1.5.99
label = try
image = /zImage-1.0.9
label = 1.0.9
image = /tamu/vmlinuz
label = tamu
root = /dev/hdb2
vga = ask
other = /dev/hda3
label = dos
table = /dev/hda
Ce fichier de configuration indique que Lilo utilise le secteur de boot principal (Master Boot Record) sur le disque /dev/hda.
Au démarrage, le chargeur va attendre 4 secondes (40 dixièmes de seconde) pour une éventuelle pression sur SHIFT. Cette
action déclenchera une demande de la part de lilo interrogeant l'utilisateur sur l'image à utiliser. En pressant la touche [TAB] ou ([?] sur les claviers US), la liste des choix possibles sera affichée. Si on ne presse pas SHIFT, l'image du premier noyau (ici /zImage-1.5.99) sera chargée.
Il est alors possible de démarrer sur un noyau flambant neuf, sur un noyau plus ancien, ou sur un noyau situé sur un autre système de fichiers principal (juste au cas où l'on vient de faire une ânerie sur le système racine habituel). Gros avantage, lilo permet également de démarrer un autre système d'exploitation.
Il peut y avoir jusqu'à 16 images différentes dans lilo.conf.
Comme on peut le voir ci-dessus, un fichier de configuration commence avec un certain nombre d'options globales (les 6 premières lignes de l'exemple), puis viennent les options pour chacune des images à gérer.
Lorsqu'une option est indiquée pour une image donnée, elle a priorité sur la valeur de l'option globale correspondante.
OPTIONS GLOBALES
Il existe plusieurs mots-clés, les descriptions ci-dessous sont extraites de user.tex (un peu abrégées).
backup= backup-file
Copier le secteur de boot original dans le fichier backup-file (qui peut également être un périphérique, par exemple /dev/null ) à la place de /boot/boot.NNNN .
boot=boot-device
indique le nom du périphérique (ex : une partition de disque dur) qui contient le secteur de boot. Si ce mot\-clé est omis, le secteur de boot lu (et éventuellement écrit) est celui du périphérique actuellement monte comme racine du système de fichiers.
compact
Essaye de regrouper les lectures de secteurs adjacents en une seule requête. Ceci réduit nettement le temps de chargement et la taille du fichier de carte. L'utilisation de “compact” est surtout recommandée lorsque l'on boote depuis une disquette.
default=name
Utiliser par défaut l'image indiquée. Si “default” est omis, la première image du fichier de configuration est utilisée comme image par défaut.
delay=dsecs
indique la durée (en dixièmes de secondes) pendant laquelle le chargeur attendra avant de démarrer la première image. Ceci est utilisé sur les systèmes qui bootent immédiatement sur le disque dur après avoir mis le clavier en marche. Si “delay” est absent, ou si sa valeur est nulle, le chargeur n'attend pas.
disk=device-name
Précise les valeurs des paramètres non\-standards du disque indiqué.
Voir la section "Géometrie du disque" dans user.tex pour plus de détails.
disktab=disktab-file
Indique le nom d'un fichier de paramètres pour le disque. Si cette option est absente, le fichier /etc/disktab est recherché. Il vaut mieux éviter d'utiliser ces fonctionnalités.
fix-table
Ceci permet à Lilo d'ajuster les adresses 3D (secteur/tête/cylindre) de la table des partitions.
Chaque partition possède une adresse 3D et une adresse linéaire pour son premier et son dernier secteur.
Si la partition n'est pas alignée sur une frontière de piste, et si certains autres systèmes d'exploitation (MS\-DOS, ou OS/2) utilisent le même disque, ils peuvent modifier l'adresse 3D. Lilo ne peut installer son secteur de démarrage que sur des partitions où les deux types d'adressage correspondent. Si l'option `fix-table' est indiquée, Lilo réajustera les adresses 3D incorrectes.
ATTENTION :
Ceci ne garantit pas que les autres systèmes d'exploitation ne vont pas essayer de modifier à nouveau l'adressage plus tard. Il est également possible que ces corrections aient des effets de bords inattendus.
La véritable correction à apporter consiste à repartitionner le disque avec un utilitaire qui aligne les partitions sur les frontières de pistes.
De plus, avec certains disques (les gros disques EIDE avec une translation d'adresses automatique), et sous certaines circonstances, il est inévitable d'obtenir des conflits dans la table des partitions.
force-backup=backup-file
Comme “backup” mais écrase la sauvegarde précédente s'il y en a une.
ignore-table
ne pas tenir compte des erreurs dans la table des partitions.
install=boot-sector
Utiliser le fichier indiqué comme secteur de démarrage. Si “install” est omis, /boot/boot.b sera utilisé par défaut.
linear
Crée des adresses de secteur linéaires plutôt que des adresses 3D (secteur/tête/cylindre). Les adresses linéaires sont traduites à l'exécution, et ne dépendent pas de la géométrie du disque.
Notez que les disquettes de démarrage risquent de ne pas être portables d'une machine à l'autre si “linear” est utilisé, car les services BIOS pour déterminer la géométrie du disque ne fonctionnent pas bien avec les disquettes. Quand on utilise “linear” avec des gros disques, /sbin/lilo risque de générer des références à des zones de disque inaccessibles car les adresses 3D ne sont pas connues avant le boot.
lock
Autorise l'enregistrement de lignes de commande au démarrage comme un choix par défaut pour les redémarrages ultérieurs. De cette facon, Lilo "verrouille" un choix jusqu'à ce qu'il soit écrasé manuellement.
map=map-file
Indique l'emplacement du fichier de carte des noyaux. Si “map” est omis, le fichier /boot/map est utilisé.
message=message-file
indique l'emplacement d'un fichier contenant un message qui sera affiché avant l'invite de démarrage. Aucun message n'est affiché pendant l'attente de la touche SHIFT, après avoir imprimé "LILO ". Dans ce message, le caractère FF (Ctrl-L) efface l'écran. La taille du message est limitée à 65535 octets. Le fichier carte doit être reconstruit si le message est modifié ou déplacé.
nowarn
Désactive les avertissements à propos de risques futurs.
optional
Correspond à l'option “optional” spécifique à une image, que l'on applique alors à toutes les images (voir plus bas).
password=motdepasse
Correspond à l'option “password” spécifique à une image, que l'on applique alors à toutes les images (voir plus bas).
prompt
Affiche obligatoirement l'invite de démarrage, sans réclamer de pression sur SHIFT. Un redémarrage intempestif (coupure électrique) de la machine est impossible si “prompt” est indiqué, et pas “timeout”.
restricted
Correspond à l'option “restricted” spécifique à une image, que l'on applique alors à toutes les images (voir plus bas).
serial=paramètres
Autorise la prise de contrôle par une ligne série. Le port série mentionné est initialisé, et le chargeur accepte des instructions à la fois depuis le clavier et depuis le port.
L'émission d'un “break” sur la prise série est équivalente à la pression sur SHIFT afin de réclamer l'attention du chargeur. Toutes les images devraient être protégées par mots de passe si l'accès au port série est moins sécurisé que l'accès au clavier (par exemple à travers un modem).
La chaîne de paramètres à la syntaxe suivante :
<port>[,<bps>[<parité>[<bits>]]]
<port>: numéro du port série (0 correspond à COM1, alias /dev/ttyS0). Les quatres ports (s'ils existent) peuvent être utilisés.
<bps>: vitesse du port série. Les vitesses suivantes sont supportées : 110, 150, 300, 600, 1200, 2400, 4800 et 9600 bps (2400 bps par défaut).
<parité>: parité utilisée sur la ligne. Le chargeur ignore la parité en entrée, et élimine le 8ième bit. Les lettres suivantes décrivent la parité : n aucune, e paire, o impaire.
<bits>: nombre de bits par caractères. Seuls les caractères de 7 et 8 bits sont supportés. (par défaut 8 si parité n, 7 si parité e ou o).
Si “serial” est indiqué, la valeur de “delay” est automatiquement portée à 20.
Exemple : serial=0,2400n8 initialise COM1 avec les paramètres par défaut.
timeout=dsecs
Indique un délai (en dixième de secondes) pour la saisie au clavier. Si aucune touche n'est pressée durant ce délai la saisie est abandonnée. Sur l'invite de connexion, l'image par défaut est lancée, sur la saisie de mot de passe, l'action est annulée. La valeur par défaut du timeout est infinie.
verbose=niveau
Valide de nombreux rapports de progression. Plus le nombre est élevé, plus Lilo sera volubile. Si -v est de plus ajouté sur la ligne de commande, le niveau sera augmenté. Le niveau maximal de volubilité est 5.
En outre, des paramètres de configuration du noyau “append", "ramdisk", "read-only", “read-write ", "root” et “vga”
peuvent être indiqués dans la section des options globales. Ils sont utilisés par défaut à moins d'être surchargés dans les sections de configurations spécifiques des images.
SECTIONS SPÉCIFIQUES AUX IMAGES
Une section spécifique à une image débute soit par une ligne
image=chemin
qui indique un fichier ou un périphérique contenant l'image d'un noyau Linux, soit par une ligne
other=chemin
pour indiquer le démarrage d'un autre système d'exploitation.
Dans le premier cas, si la ligne image demande le démarrage depuis un périphérique, il faut également indiquer l'intervalle de secteurs à utiliser. Ceci se fait ainsi :
range=debut-fin
Dans le second cas (démarrer un autre système), il existe 3 options :
loader=chain-loader
Ceci indique le chargeur à utiliser. Par défaut /boot/chain.b est utilisé. Le chargeur doit être precisé si l'on démarre depuis un périphérique autre que le premier disque dur ou disquette.
table=device
Cette option spécifie le périphérique qui contient la table de partitions. Le chargeur ne transmettra pas les informations sur les partitions au système à démarrer si cette variable est omise (certains systèmes d'exploitation utilisent d'autres moyens pour déterminer la partition depuis laquelle ils demarrent, par exemple MS-DOS stocke habituellement les informations géométriques dans son secteur de démarrage). Notez que /sbin/lilo doit être relancé si une table de partitions référencée dans une option “table” est modifiée.
unsafe
Ne pas toucher au secteur de démarrage lors de la création de la carte. Ceci désactive certains contrôles, y compris la vérification de la table des partitions. Si le secteur de boot se trouve sur une disquette avec un format propriétaire, l'utilisation de UNSAFE évite d'avoir à insérer un disque lisible dans le lecteur durant l'installation de la carte. Les options “unsafe” et “table” sont mutuellement exclusives.
Dans tous les cas les options suivantes s'appliquent :
label=nom
Le chargeur utilise le nom de fichier principal (sans le chemin d'accès) de chaque image pour les identifier. On peut indiquer ici un nom différent qui sera utilisé lors de l'invite de connexion.
NDT : Lors de l'invite de démarrage, le clavier est au format QWERTY, et vous avez probablement sous les yeux un clavier AZERTY. Aussi évitez d'utiliser des noms d'images employant les lettre A, Z, Q, W, et M. Ceci ne pose aucun problème pour des étiquettes comme LINUX, UNIX, et même DOS, par contre il vaut mieux éviter d'utiliser WIN (personnellement je trouve OUIN plus marrant).
alias=nom
Un deuxième nom peut être utilisé comme alias pour la même image.
lock
(voir au-dessus)
optional
Omettre l'image si elle n'est pas présente lors de la création de la carte. Ceci est utile pour indiquer des noyaux de test qui ne sont pas toujours présents.
password=motdepasse
Protéger le chargement de l'image par un mot de passe.
restricted
Ne demander un mot de passe que si l'on ajoute des paramètres sur la ligne de commande (par exemple “single” pour redémarrer en mode mono-utilisateur).
OPTIONS DU NOYAU
Si l'image chargée est un noyau Linux, on peut lui passer des paramètres supplémentaire sur la ligne de commande.
append=chaîne
Ajoute l'option indiquée sur la ligne de commande transmise au noyau. Ceci est typiquement utilisé pour indiquer des paramètres matériels qui ne peuvent pas être auto-détectés, ou pour lesquels l'auto-détection peut être dangereuse. Par exemple : append = "hd=64,32,202"
literal=chaîne
Comme “append”, mais élimine de surcroît toutes les autres options (par ex : l'emplacement du périphérique racine). Comme des options vitales peuvent être supprimées malencontreusement avec “literal”, celle-ci ne peut pas apparaître dans les options globales.
ramdisk=taille
Indique la taille d'un disque virtuel optionnel. Une valeur nulle empêche la création du disque RAM. Si cette variable est omise, la taille de disque virtuel indiquée dans la configuration de l'image du noyau est utilisée.
read-only
Ceci indique que le système de fichiers racine doit être monté en lecture seule. Typiquement le démarrage du noyau remontera ce système en lecture/écriture plus tard (après l'avoir vérifié).
read-write
Ceci indique que le système de fichiers racine doit être monté en lecture/écriture.
root=root-device
Précise le périphérique à monter en tant que racine du système de fichier. Si le mot-clé “current” est utilise en guise de root-device la racine du système actuel est utilisée. Si la racine a été changée avec l'option \-r, le périphérique correspondant est utilisé. Si la variable “root” est omise, le périphérique indiqué dans l'image du noyau est utilisé.
(Il est positionné au moment de la compilation par la variable ROOT_DEV dans le fichier Makefile, et peut être changé ultérieurement avec le programme rdev (8).
vga=mode
Ceci précise le mode texte VGA à utiliser pendant le démarrage. Les valeurs suivantes sont autorisées (pas de différence majuscule/minuscule) :
normal : Mode texte 80x25 normal.
extended (ou ext) : Mode texte 80x50.
ask : Arrêter et demander à l'utilisateur (lors du démarrage).
<numéro> : Utiliser le mode texte correspondant. Une liste des modes disponibles peut être obtenue en démarrant avec vga=ask et en pressant [Entrée].
Si cette variable est omise, le mode VGA déclaré dans l'image du noyau est utilisé. (Le mode est indiqué à la compilation du noyau dans la variable SVGA_MODE du fichier Makefile, et peut être changé ultérieurement avec le programme rdev (8).
Copyright 1992-1994 Werner Almesberger
D'après la man page lilo.conf écrite par Werner Almesberger et traduite par Christophe Blaess.
Vous avez le droit de faire et de distribuer des copies de cette carte à condition que la notice de copyright et cette note d'autorisation soient conservées sur toutes les copies.