Scroll to navigation

SYSLINUX(1) Manuel de l'utilisateur Linux SYSLINUX(1)

NOM

syslinux - Chargeur de boot

SYNTAXE

syslinux [ -s ] [ -f ] [ -o offset ] device

DESCRIPTION

Syslinux est un chargeur de boot (programme d'amorçage système) pour le système d'exploitation Linux, de plus il a la particularité de fonctionner sur un système de fichiers du type MS-DOS/Windows FAT. Il a été conçu afin de faciliter la première étape d'installation de Linux ou pour la création de disquettes de secours ou pour toute autre disquette de démarrage.

Voici les étapes à suivre afin de créer une disquette de démarrage Linux en utilisant Syslinux : préparer une disquette formatée au format MS-DOS, copier un ou plusieurs noyaux de linux sur celle-ci, puis exécuter la commande :

syslinux /dev/fd0

Cela va alors modifier le secteur de boot de la disquette et copier un fichier nommé LDLINUX.SYS sur la racine de la disquette.

Par défaut lors du démarrage, le noyau va être chargé à partir du fichier image nommé LINUX se trouvant sur la disquette d'amorçage. Ce nom de fichier par défaut peut être changé, pour cela consultez la section traitant sur le fichier de configuration de Syslinux.

Si la touche Shift ou Alt est tenue enfoncé pendant la période de démarrage, ou que Caps lock ou Scroll lock est activée, alors Syslinux va afficher une ligne de commande semblable à celle de lilo(8). L'utilisateur pourra alors taper le nom d'un fichier image d'un noyau suivi par des paramètres à lui transmettre. Le chargeur Syslinux n'a pas besoin de connaître le nom des fichiers images par avance car ils sont connus simplement par la liste des fichiers à la racine de la disquette.

Syslinux supporte le chargement de disque d'initialisation virtuel(initd) ainsi que le chargement des noyaux compressés (bzImage).

OPTIONS

Installe une version de syslinux « sûre, lente et stupide ». Cette version doit marcher même sur des BIOS très buggés sur lesquels la version normale de syslinux ne marcherait pas. Si vous trouvez une machine sur laquelle l'option -s est nécessaire afin de créer un système d'amorçage fiable, alors envoyez un mail à l'auteur de syslinux dans le quel vous inclurez un maximum d'information au sujet de votre machine, ainsi que l'erreur produite par syslinux.

FICHIERS

Fichier de configuration

Toute les configurations par défaut de syslinux peuvent être changé en ajoutant un fichier de configuration nommé SYSLINUX.CFG à la racine de la disquette. Ce fichier est du type texte au format UNIX ou DOS, contenant un ou plusieurs champs(items). Ce fichier n'est pas sensible à la case, c'est à dire qu'il ne fait aucune différence entre les majuscules et minuscules.

Dans ce fichier, les lignes vides, ainsi que les lignes de commentaires commençants par le caractère # sont ignorées.

Cette directive défini la ligne de commande par défaut. Si syslinux démarre automatiquement, il va agir comme si l'utilisateur a entré « default » dans la ligne de commande (invite « boot: »).
Si le fichier de configuration n'est pas présent, ou bien qu'aucun champ « default » n'est défini dans le fichier de configuration alors la valeur par défaut sera « linux auto ».
la chaîne « auto » quelque soit ce que l'utilisateur spécifiait lorsqu'il utilisait la commande DEFAULT. Quant à la version 1.54, la commande par défaut n'avait pas la bonne longueur, ceci causait un problème lorsque l'on utilisait un shell à la place de « init ». Pour cette ancienne version vous devez spécifier cette option manuellement.
Ajoute une ou plusieurs options à la ligne de commande du noyau. Elle sont ajoutées l'une à l'autre pour les démarrages manuels ou automatiques. Les options sont ajoutées au tout début de la ligne de commande du noyau, ce qui permet à l'utilisateur d'entrer des options qui « écraseront » celles-ci, c'est à dire que l'on peut modifier manuellement ces options. C'est équivalent à lilo(8)
"append" option.

label label
kernel image
append options ...

Définit une entrée (label) pour la ligne de commande. Lorsque ce label sera entré syslinux devra démarrer l'image définit par le champ kernel. Si le champ kernel n'est pas défini, syslinux démarrera l'image portant le nom du label. Les options définis par le champ « append » remplaceront ceux défini par défaut(avant la première commande label). Si le champ « append » n'est pas défini, syslinux utilisera les options par défaut définies avant le premier label. La commande « append - » permet de n'utiliser aucune option. Il est permis de définir au maximum 128 « label ».
Les labels suivent la même syntaxe que les fichiers DOS, il faut donc faire attention à ce qu'ils soient uniques après que syslinux les aient « charcutés ». Par exemple : deux labels « v2.1.30 » et « v2.1.31 » ne seront pas discernable, car ils donneront tout les deux « v2.1 ».
Le champs « image » peut être autre chose qu'un noyau linux ; il peut être un secteur de boot ou bien un fichier COMBOOT (voir plus loin).
Si flag_val est à 0, syslinux ne chargera que les noyaux explicitement définis par les « label ». Par défaut la valeur est à 1.
Définit combien de temps la ligne de commande (invite « boot: ») doit attendre avant de lancer le démarrage automatique. L'unité de temps utilisée est le 1/10 s. Lorsque l'utilisateur presse une touche, ce compte à rebours est arrêté, car syslinux suppose que l'utilisateur a commencé à entrer des valeurs dans la ligne de commande. Le compte à rebours sera inactif si le champ timeout est défini à 0. La valeur par défaut de timeout est 0. La valeur maximale que peut prendre le champ timeout est 35990; ce qui correspond à une heure.
Active le contrôle de la console à partir du port série. « port » est un nombre (0 = /dev/ttyS0 = COM1, etc.); si « baudrate » est omis, sa valeur par défaut sera de 9600 bps. Le port série est paramétré dans le mode suivant : en 8 bits, no parity, 1 stop bit.
Afin de garantir le bon fonctionnement de cette directive celle-ci doit être placée au tout début du fichier de configuration.
Utilise une fonte (police de caractère) définie par le fichier « filename » qui est au format .psf. Cette police sera utilisée pour tout ce qui sera affiché à l'écran excepté la ligne de copyright, qui est affichée lors du chargement de ldlinux.sys. Syslinux charge les fontes vers la carte vidéo; si le fichier .psf contient une table Unicode, alors celle-ci est ignorée. Cette option fonctionne uniquement pour des cartes graphiques compatibles EGA et VGA.
Cette directive défini la configuration du clavier. Cela consiste simplement au chargement d'une table de conversion des codes claviers reçus par le BIOS, ceci implique que seul les combinaisons de touches définis par la configuration par défaut du BIOS peuvent être défini. Grâce à cette fonction vous pouvez aider les utilisateurs de clavier AZERTY.
Le programme keytab-lilo.pl(8) du package lilo(8) peut être utilisé afin de créer les tables de codage clavier.
Affiche le fichier « filename » sur l'écran lors de la séquence de démarrage (à la suite de l'affichage de ce fichier, l'invite « boot: » est affichée). Pour plus d'information sur cette options regardez plus bas dans la section « DISPLAY files ». Si le fichier défini n'est pas trouvé, cette option est simplement ignorée.
Si flag_val est à 0, syslinux affiche l'invite « boot: » seulement si la touche Shift ou Alt est pressée, ou bien si Caps Lock ou Scroll lock est activé (ceci est la configuration par défaut). Si flag_val est à 1, alors l'invite « boot: » est dans tout les cas affichée.

f1 filename
f2 filename
...
f9 filename
f0 filename
Affiche un fichier en fonction de la touche de fonction pressée lors de l'affichage de l'invite « boot: ». Ceci peut être utile afin d'implémenter une aide en ligne avant le démarrage du système(vraissemblablement pour indiquer les options à transmettre à la ligne de commande) la définition de « filename » pour les touches de fonctions F11 et F12 seront rarement utilisées. Pour plus d'informations sur ces fichiers d'affichages veuillez regarder plus bas dans la section « DISPLAY files ».
Quand vous utilisez une console sur le port série, pressez les touches <Ctrl-F><chiffre> pour obtenir les écrans d'aides, par exemple <Ctrl-F>2 pour avoir l'écran f2, et <Ctrl-F>0 pour l'écran f10.

« Display file format » (format de fichier d'affichage)

Les fichiers d'affichages utilisés par DISPLAY ainsi que ceux liés aux touches de fonctions sont au format ASCII DOS ou bien UNIX(avec ou sans <CR>). De plus, syslinux interprétera certains codes spéciaux définis ci-dessous :

<FF> = <Ctrl-L> = ASCII 12
Efface l'écran, et positionne le curseur en haut à gauche de l'écran. À noter que l'écran est rempli avec la couleur courante du curseur.
<SI><bg><fg>, <SI> = <Ctrl-O> = ASCII 15
Définit la couleur d'affichage courante, le fond de l'écran ainsi que la couleur du caractère, où <fI<bg> et <fg> sont des chiffres hexa décimaux, correspondants aux valeurs standards de l'affichage PC. Les valeurs sont :
0 = noir	 	8 = gris foncé
1 = bleu foncé	 	9 = bleu brillant
2 = vert foncé 	 	a = vert brillant
3 = cyan foncé	 	b = cyan brillant
4 = rouge foncé	 	c = rouge brillant
5 = violet foncé	d = violet claire
6 = marron	 	e = jaune
7 = gris claire	 	f = blanc
Les nuances brillantes (de 8 à f) pour le fond sont transformées en leurs couleur foncé correspondante (de 0 à 7).
Les couleurs ne sont pas visibles sur une console contrôlé par le port série.
<CAN>filename<newline>, <CAN> = <Ctrl-X> = ASCII 24
Cette commande entre en mode graphique et affiche le fichier graphique, ceci uniquement dans le cas où votre carte graphique permet de basculer dans le mode VGA. Le format de fichier utilisé est un format spécifique appelé LSS16 ; un programme Perl nommé « ppmtolss16 » est fourni dans le package syslinux, ce programme est utilisé afin de produire des images dans ce format. Ce programme (en langage Perl) inclut aussi les spécificités de ce format de fichier.
L'image est affichée dans le mode 640x480 en 16 couleur. Dès que l'on est en mode graphique, les attributs d'affichages (définis par <SI>) fonctionnent légèrement différemment : la couleur de fond est ignorée, et la couleur des fontes est l'une des 16 couleurs de la palette définie dans le fichier de l'image. Pour cette raison, ppmtolss16 vous permet de définir une palette de couleur.
Les indices de couleur 0 et 7, doivent être définis avec attention, car 0 est la couleur de fond, et 7 est la couleur utilisée par les affichages de SYSLINUX.
<EM>, <EM> = <Ctrl-U> = ASCII 25
Si vous êtes en mode graphique, cette commande vous permet de revenir en mode texte.
<DLE>..<ETB>, <Ctrl-P>..<Ctrl-W> = ASCII 16-23
Ces codes vous permettent d'afficher un message en fonction du mode dans lequel se trouve la console : mode texte, mode graphique, mode port série).
Caractère                       Text    Graph   Serial
------------------------------------------------------
<DLE> = <Ctrl-P> = ASCII 16     Non     Non     Non
<DC1> = <Ctrl-Q> = ASCII 17     Oui     Non     Non
<DC2> = <Ctrl-R> = ASCII 18     Non     Oui     Non
<DC3> = <Ctrl-S> = ASCII 19     Oui     Oui     Non
<DC4> = <Ctrl-T> = ASCII 20     Non     Non     Oui
<NAK> = <Ctrl-U> = ASCII 21     Oui     Non     Oui
<SYN> = <Ctrl-V> = ASCII 22     Non     Oui     Oui
<ETB> = <Ctrl-W> = ASCII 23     Oui     Oui     Oui
Par exemple :
<DC1>Text mode<DC2>Graphics mode<DC4>Serial port<ETB>
<SUB> = <Ctrl-Z> = ASCII 26
Ce code définit la fin du fichier (convention du DOS).

Images Comboot et les autres systèmes d'exploitations

Cette version de syslinux supporte l'enchaînement du chargement d'autres systèmes d'exploitation (comme MS-DOS et ses dérivés, ce qui inclut aussi Windows 95/98).

L'enchaînement du chargement requiert que le secteur d'amorçage des autres systèmes d'exploitations soit stocké dans un fichier à la racine de la disquette. Étant donné que ni le noyau Linux, ni les secteurs de démarrage, ni les fichiers COMBOOT n'ont des nombres magiques afin de les distinguer, syslinux utilise leurs extensions afin de les reconnaître. Les extensions suivantes sont reconnues :

aucun ou autre	Linux kernel image (image du noyau linux)
CBT		COMBOOT image (non exécutable à partir du DOS)
BSS		Secteur de boot (DOS superblock will be patched in)
BS		Secteur de boot
COM		COMBOOT image (exécutable sous DOS)

Lorsqu'un nom de fichier est donné à la ligne de commande, syslinux va chercher si il existe un fichier portant ce nom, si il n'en trouve pas, il va chercher ce fichier en ajoutant une extension en suivant l'ordre cité plus haut. Le nom de fichier spécifié dans le champ KERNEL dans le fichier de configuration doit être le nom complet du fichier (avec son extension).

Un fichier COMBOOT est un fichier exécutable DOS au format « .COM ». Ils peuvent, entre autre, être produit par le package Etherboot de Markus Gutschke et Ken Yap. Les conditions suivantes sont nécessaires afin que syslinux soit capable de les exécuter:

  • Le programme ne doit pas faire des appels au DOS (puisque qu'il n'est pas exécuté sous DOS), bien qu'il soit possible de faire des appels au BIOS. La seule exception est l'appel de l'interruption 20h (INT 20h) qui permet de terminer un programme, et de retourner à l'invite de syslinux. Attention, INT 21h AH=4Ch, INT 21h, AH=31h ou INT 27h ne sont pas supportés.
  • Seulement les champs pspInt20 à l'adresse 00h, pspNextParagraph à l'adresse 02h et pspCommandTail à l'adresse 80h(qui contient les caractères de la ligne de commande de syslinux) dans le PSP sont supportés. Tous les autres champs sont à zéro.
  • Le programme ne doit pas modifier la mémoire en dehors de son segment de 64K si il retourne à syslinux par l'interruption 20h.

Syslinux ne fournit pas pour le moment d'API à utiliser dans les fichiers COMBOOT. Si vous en avez besoins, une future version pourra inclure une interface(basée sur une Interruption) avec des fonctions de syslinux ; vous pouvez me contacter si vous avez des besoins ou des idées pour l'API.

Control de protection de base

Syslinux va tenter de détecter si l'utilisateur essaye de démarrer sur un 286 ou sur une machine moins puissante, ou une machine avec moins de 608K de mémoire basse(« DOS »), ce qui signifie que la séquence de boot ne pourra pas s'effectuer jusqu'à la fin. Si c'est le cas, un message sera affiché et la séquence de démarrage sera arrêtée. Afin de désactiver cette option, gardez la touche Ctrl enfoncée.

La date et l'heure de la compilation de votre version de syslinux peut être obtenue par la commande DOS : « type ldlinux.sys ». Ceci est aussi utilisé comme signature pour le fichier LDLINUX.SYS afin de comparer si il correspond bien au secteur de boot de la disquette.

syslinux ignore les attributs des fichiers qu'il utilise, vous pouvez donc les activés comme bon vous semble. SYSLINUX installe automatiquement le fichier LDLINUX.SYS avec l'attribut lecture seul activé.

Bootable CD-ROMs (Démarrage système à partir d'un CD-ROM)

SYSLINUX peut être utilisé afin de créer les images de démarrage pour un CD-ROM bootable. Cependant, il apparaît que beaucoup de BIOS sont très buggués lorsqu'il s'agit de démarrer sur un CD-ROM. Certain utilisateur mon transmis les étapes suivantes afin de vous aider à créer un CD-ROM qui pourra démarrer sur un maximum de machine.

  • Utilisé l'option -s (« sûre, lente et stupide »)
  • Mettre le ou les fichiers de démarrage aussi près possible du début du système de fichiers ISO 9660 du CD-ROM.

Un CD-ROM est beaucoup plus rapide qu'une disquette, l'utilisation de l'option -s n'aura pas une très grande influence sur la rapidité du démarrage du système.

Démarrage à partir d'une partition FAT d'un disque dur

SYSLINUX peut démarrer à partir d'une partition du disque dur ayant un système de fichiers du type FAT12 ou FAT16(FAT32, introduit dans Windows 95 OSR-2, n'est pas encore supporté). La procédure d'installation est identique à celle qui consiste à installer SYSLINUX sur une disquette, et vous pouvez faire cette installation aussi bien en étant sous DOS que sous Linux. Pour démarrer à partir de la partition, SYSLINUX a besoin d'être lancé à partir du Master Boot Record ou bien à partir d'un autre boot loader.

BUGS

Il est dangereux d'utiliser SYSLINUX sur un système de fichiers qui s'étend au delà du cylindre 1024, car la limitation du BIOS ne permet pas d'atteindre un cylindre supérieur à 1024.

SYSLINUX ne marchera pas (et refusera de s'installer) sur un système de fichiers ayant une taille de cluster supérieur à 16ko (ce qui est le cas de la plupart des systèmes de fichiers de plus 1 Go).

Rapport de Bug

J'apprécierais d'être au courant de tous les problèmes que vous avez pu rencontrer avec SYSLINUX. J'aimerais aussi entendre vos utilisations de SYSLINUX qui se sont soldées par un succès, et spécialement si vous l'utilisez au sein d'une distribution.

Si vous avez un problème à signaler, incluez s'il vous plaît un maximum d'informations sur votre système et votre BIOS ; la majorité de tous les problèmes on un rapport avec le BIOS ou avec un bug matériel, et j'ai besoin d'autant d'informations que possible afin de diagnostiquer les problèmes.

Il existe une mailing list pour des discussions entre les utilisateurs de SYSLINUX, ainsi que pour des annonces sur de nouvelle version. Pour vous joindre à cette mailing list, envoyez un message à majordomo@linux.kernel.org avec la ligne :

subscribe syslinux

dans le corps principal du message. L'adresse de la mailing list est syslinux@linux.kernel.org.

VOIR AUSSI

lilo(8), keytab-lilo.pl(8), fdisk(8), mkfs(8), superformat(1)

AUTEUR

Cette page de manuel est une modification de la version originale de la documentation de syslinux par H. Peter Anvin <hpa@zytor.com>. La conversion en « manpage » a été faite par Arthur Korn <arthur@korn.ch>.

TRADUCTION

Harobed <stephane_klein@yahoo.fr>, 2001. Si vous constatez des erreurs de traduction ou tout autres fautes veuillez bien m'en informer par un mail. (Message personel : merci à ma petite chouette pour la relecture).

7 octobre 2000