table of contents
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¶
- -s
- 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.
- default kernel [ options ... ]
- 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 ».
- NOTE: Les anciennes versions de SYSLINUX ajoutaient automatiquement
- 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.
- appendoptions ...
- 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 ...
- Notes :
- 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).
- implicit flag_val
- Si flag_val est à 0, syslinux ne chargera que les noyaux explicitement définis par les « label ». Par défaut la valeur est à 1.
- timeout timeout
- 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.
- serial port [ baudrate ]
- 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.
- font filename
- 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.
- kbdmap keymap
- 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.
- display filename
- 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.
- prompt flag_val
- 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
- 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 |