Syslinux est un gestionnaire de démarrage léger et rapide.

Pré-requis

  • Une LFS fonctionnelle (testé sur une LFS 7.0). Il est peut être mieux d’avoir une LFS avec un grub d’installé qui démarre déjà.
  • nasm (voir BLFS)
  • python (voir BLFS : python 2.7)

Astuce

Le but de cette astuce est de remplacer grub dans une LFS fonctionnelle ou d’installer syslinux dans une LFS en construction.

ATTENTION : les manipulations de cette astuce vont installer un chargeur de démarrage, ces manipulations sont donc potentiellement dangereuse pour votre système. Il se peut qu’en cas de problèmes, le système ne veuille plus démarrer.

Etape 1 : Télécharger les sources et les déballer

Vous pouvez télécharger les sources à l’adresse : http://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-4.05.tar.xz

Ensuite il faut les déballer

tar -xf syslinux-4.05.tar.xz

Les sources contiennent également les versions binaires des fichiers. Il est donc possible si vous le souhaitez de passer directement à l’étape installation.

Etape 2 : Compilation

La compilation est très simple :

make

Nota : la compilation nécessite l’installation de nasm et python (voir BLFS pour leur installation)

Etape 3 : installation des binaires

En utilisant l’instruction suivante :

make install

Les “installeurs” de syslinux sont maintenant installé sur votre LFS

Etape 4 : Mise en place du démarrage avec syslinux

Voilà la partie intéressante de l’astuce. Il est a noter que cette astuce ne traitera que de l’utilisation de extlinux qui permet le démarrage du système depuis une partition ext2, ext3 ou ext4. Il est possible d’utiliser syslinux pour démarrer depuis un CD, un disque FAT etc… Pour plus de renseignements sur les autres méthodes, aller voir sur le site officiel

Il faut créer un répertoire pour l’installation du gestionnaire de démarrage

mkdir /boot/extlinux

et utiliser extlinux pour installer le gestionnaire de démarrage

extlinux --install /boot/extlinux

Etape 5 : Configuration

La configuration se fera dans le fichier /boot/extlinux/syslinux.conf

Dans sa version la plus courte le fichier contiendra :

DEFAULT lfs
LABEL lfs
   KERNEL /boot/vmlinuz.img
   APPEND ro root=/dev/xxx
  • vmlinuz.img : image du noyau, ou un lien symbolique vers l’image du noyau.
  • /dev/xxx : partition qui contient votre système.

Pour plus d’information sur le fichier de configuration, je vous invite à consulter la documentation. Sachez qu’il est possible d’avoir un menu et choisir son système à démarrer, de faire du boot PXE, d’afficher un fichier…

Il faut vérifier que votre partition est correctement configurée pour démarrer (avec le drapeau de démarrage)

Pour initialiser ce drapeau :

fdisk /dev/yyy

(avec yyy le nom du disque sda, sdb, etc par exemple)

ensuite choix a

et donner le numéro de la partition qui doit avoir le drapeau de démarrage. tapez w pour enregistrer

par exemple pour initialiser la partition /dev/sda1 avec le drapeau de démarrage :

fdisk /dev/sda
Command (m for help): a
Partition number (1-4): 1
Command (m for help): w

Ensuite il faut initialiser le mbr (ce qui va remplacer l’installation de grub s’il a déjà été installé)

Dans les sources, allez dans le répertoire mbr

puis exécutez la commande

cat mbr > /dev/yyy #avec yyy le nom du disque de démarrage (par ex sda, sdb ...)

Etape 6 : tester

Maintenant que nous avons terminé l’installation, il faut redémarrer le système pour vérifier que syslinux fonctionne correctement.

ATTENTION : Vous devez prévoir un dispositif de démarrage de secours pour votre système. Si syslinux rencontre un problème, votre système ne va pas démarrer. Il faut donc avoir soit un live CD pour se dépanner en cas de problème.

Normalement, au démarrage, avec le fichier de config minimal donné, vous devez voir votre machine démarrer directement sur le noyau de LFS.

Syslinux est installé.