2. Vue d'Ensemble des Paramètres de Démarrage

Contenu de cette section

Cette partie donne un certain nombre d'exemples de logiciels qui peuvent être utilisés pour transmettre les paramètres de démarrage au noyau. Elle donne aussi une idée de la façon dont les paramètres sont traités, quelles sont les limitations des paramètres de démarrage, et la façon dont ils sont répartis vers chaque périphérique pour lesquels ils ont été conçus.

2.1 LILO (LInux LOader)

Le programme LILO (LInux LOader) écrit par Werner Almesberger est le plus couramment utilisé. Il a la capacité de démarrer différents noyaux, et stocke les informations de configuration dans un fichier contenant exclusivement du texte. Beaucoup de distributions fournissent LILO comme "boot-loader" (chargeur de noyau) par défaut. LILO peut démarrer DOS, OS/2, Linux, FreeBSD, etc. sans aucun problème, et il est très souple.

LILO est fourni avec une documentation excellente, et pour les paramètres de démarrage dont nous parlons ici, la commande append= de LILO est d'une très grande importance.

2.2 LoadLin

L'autre chargeur de noyau couramment utilisé est `LoadLin' qui est un programme DOS qui est capable de lancer un noyau Linux à partir du prompt du dos (avec des paramètres de démarrage) en supposant que certaines ressources sont disponibles. Ceci est très bien pour les gens qui utilisent le DOS et qui veulent basculer sur Linux à partir du DOS.

C'est aussi très pratique si vous possédez du matériel qui est dépendant du pilote fourni pour le DOS afin de mettre le matériel dans un état donné. Un exemple fréquent : les cartes son `SoundBlaster Compatible' qui requièrent un pilote DOS pour tripoter un ensemble de registres exotiques pour mettre la carte dans un mode compatible SoundBlaster. Démarrez le DOS avec le pilote requis, et maintenant chargez Linux à partir du prompt du DOS avec loadlin en esquivant la remise à zéro de la carte qui intervient si on redémarre complètement la machine. De cette façon, la carte est laissée dans le mode compatible SB et par conséquent est utilisable sous Linux.

Il y a aussi d'autres programmes qui peuvent être utilisés pour démarrer Linux. Pour une liste complète, regardez sur votre miroir ftp Linux local, les programmes disponibles dans le répertoire system/Linux-boot/.

2.3 L'utilitaire ``rdev''

Un certain nombre des paramètres de démarrage du noyau ont leurs valeurs par défaut stockées dans différents octets de l'image du noyau. Il existe un utilitaire baptisé rdev qui est installé sur la plupart des systèmes et qui sait où sont ces valeurs, et comment les changer. Il peut aussi modifier un certain nombre de choses qui ne possèdent pas de paramètre de démarrage équivalent, comme le mode vidéo utilisé par défaut.

L'utilitaire rdev est couramment associé à swapdev, ramsize, vidmode et rootflags. Les cinq paramètres que rdev peut modifier sont : le périphérique de démarrage, le périphérique de swap, la taille du disque RAM, le mode vidéo par défaut, et l'autorisation de lecture-seule/lecture-écriture sur le périphérique racine.

Des informations plus complètes sur rdev peuvent être obtenues en tapant rdev -h ou en lisant la page correspondante du manuel fourni.

2.4 Comment le noyau gère t-il les paramètres ?

La plupart des paramètres de démarrage utilisent la syntaxe suivante :


        nom[=valeur_1][,valeur_2]...[,valeur_11]

où `nom' est un mot clé unique qui est utilisé pour reconnaître à quelle partie du noyau sont destinées les valeurs associées (si il y en a). Plusieurs paramètres de démarrage peuvent être transmis sous forme d'une liste d'éléments, comme celle situé ci-dessus, séparés par des espaces. Notez que la limite de 11 paramètres est réelle, c'est pourquoi le code ci-dessus ne comporte que 11 paramètres séparés par des virgules pour un mot clé. Toutefois, vous pouvez réutiliser le même mot clé avec 11 paramètres de plus dans des situations très complexes, en sachant que ceci est accepté par la fonction de configuration.

La plupart sont pris en charge par linux/init/main.c. Tout d'abord, le noyau cherche à voir si le paramètre fait partie des paramètres spéciaux comme `root=', `ro', `rw', ou `debug'. La signification de ces paramètres spéciaux est décrite plus loin dans ce document.

Il parcourt alors une liste de fonctions de configuration (contenues dans le tableau bootsetups) pour voir si la chaîne paramètre spécifiée (comme par exemple `foo') a été associée à une fonction de configuration (`foo_setup()') pour un périphérique particulier ou une partie du noyau. Si vous passez au noyau la ligne foo=3,4,5,6 alors, il cherchera dans le tableau bootsetups pour voir si `foo' y figure. S'il y est, alors il pourra appeler la fonction de configuration associée à `foo' (foo_setup()) et prendra en charge les paramètres 3, 4, 5 et 6 tels qu'ils sont donnés dans la ligne de commande adressée au noyau.

2.5 Positionnement des Variables d'Environnement.

Quelque chose du type `foo=bar', qui n'est pas accepté comme une fonction de configuration telle qu'elle est décrite ci-dessus, est interprétée comme une variable d'environnement à positionner. Un exemple (inutile ?) serait d'utiliser `TERM=vt100' comme paramètre de démarrage.

2.6 Passer des paramètres à `init'

Tous les paramètres restants qui ne sont pas pris par le noyau et qui ne sont pas considérés comme étant des variables d'environnement sont transmis au processus initial, qui est généralement le programme init. Le paramètre le plus couramment passé au processus init est le mot single qui demande à init de démarrer l'ordinateur en mode mono-utilisateur, et de ne pas lancer les "daemons" (démons) habituels. Regardez la page du manuel correspondant à la version de init installée sur votre système, afin de connaître les paramètres acceptés.


Chapitre suivant, Chapitre Précédent

Table des matières de ce chapitre, Table des matières générale

Début du document, Début de ce chapitre