Syslinux/es

Syslinux es un paquete constituido por una familia de bootloaders. El paquete incluye SYSLINUX (para sistemas de ficheros FAT), EXTLINUX (para sistemas de ficheros ext2/3/4, btrfs y xfs), PXELINUX (para arrancar desde la red con PXE) y ISOLINUX (ISO-9660) para arrancar desde CD/DVD.

Instalación
La instalación del paquete Syslinux proporcionará dicho software al sistema, pero no instalará o activará ninguno de los distintos gestores de arranque que contiene el paquete.

Configurar en sistemas BIOS
El resto de esta sección presume que la partición de arranque se encuentra en  (que es lo común). Si este no es su caso, asegúrese de hacer los ajustes necesarios.

Para utilizar EXTLINUX hay que asegurarse de instalar el boot sector adecuado, y, a continuación, instalar el gestor de arranque en la partición. Si se omiten estos pasos EXTLINUX no estará operativo. Este tipo de configuración para el sector de arranque no es necesario para las instalaciones de SYSLINUX, PXELINUX y ISOLINUX.

Configurar MBR (msdos)
En primer lugar, instale el sector de arranque proporcionado por Syslinux. Tenga mucho cuidado con esta orden; si  no se indica, se sobrescribirá todo el disco, en lugar de solo los primeros 440 bytes:

Marque la partición de arranque como activa. Un  aparecerá en la columna «Boot»:

Configurar GPT
En primer lugar, instale el sector de arranque proporcionado por Syslinux. Tenga mucho cuidado con esta orden; si  no se indica, se sobrescribirá todo el disco, en lugar de solo los primeros 440 bytes:

Después, ejecute gdisk del paquete y active los atributos de la partición de arranque de legacy BIOS en la partición donde  se almacena.

Configurar EXTLINUX
Utilice la orden extlinux para instalar los ficheros necesarios para

El paquete Syslinux contiene varios módulos para permitir funciones adicionales. Partiendo con Syslinux versión 5, hay que decir que algunos módulos dependen de otros, por lo que es una buena idea copiar la mayoría de los módulos básicos, independientemente del caso que nos ocupe. Véase Comprobar los enlaces dinámicos para verificar si se han instalado todas las dependencias.

Configurar ISOLINUX
Para instalar ISOLINUX, comenzaremos creando un directorio base en el sean situados todos los ficheros que deben residir en el CD o DVD. En el directorio base, crearemos un subdirectorio llamado y copiaremos el fichero  del paquete de Syslinux a la carpeta :

Crearemos el fichero conforme a las instrucciones mencionadas a continuación.

Seguidamente, crearemos dos directorios más, y, en el directorio base:

Copiaremos el binario al directorio :

When the configuration has been made, the following mkisofs command can be used to create the final ISO image (remember to substitute  with the same base directory used in the previous commands):

The file will be automatically created.

PXELINUX setup
With PXELINUX is possible to netboot using images that are shared through a TFTP server. This article will assume there is a TFTP server installed, and its TFTP root directory is located at With this setup, copy the PXELINUX loader to the TFTP boot directory and create a configuration directory:

The config directory can be used to store different configurations for the netbooted clients. When a client tries to boot, the MAC address or the IP address is used to determine the appropriate client config file. First it tries to look for the MAC address, followed by a try on the hexadecimal representation of the client IP. After that a character is stripped from the end of this hexadecimal representation until no more characters are left, or until a configuration file is located. If none of the tries match, the default config file is used.

The hexadecimal representation of an IP can be found by using the gethostip command:

An example config file matching sequence occurs as follows:

SYSLINUX setup
Use the syslinux command to install the SYSLINUX bootloader on the (FAT) file system:

EFI system partition
Create a partition of type  (MBR) or   (GPT) with a FAT32 file system. It is also possible to use an existing EFI system partition if one is present. It is advisable to mount this partition at

Boot loader install
In the EFI system partition, create a directory for the Syslinux files. This directory will also contain the configuration files that will be created later.

Copy the and  files along with the other desired .c32 files from  to the Syslinux directory. For example:

If the system has not been booted in EFI mode, then the Syslinux files need to be copied to the directory instead and  needs to be renamed to. If this is the case then skip the next section concerning the efibootmgr utility.

Making Syslinux known to EFI
Ensure that  is enabled in the kernel. If it was built as a module, ensure that it is loaded into memory. This action can be done using the modprobe utility. After the modules have been loaded create a new boot entry using efibootmgr:

efibootmgr</tt> will automatically adjust the EFI boot order to put the most recently created entry at the top of the list. If that is undesired, change the boot order with the  option.

Configuration
The configuration file for Syslinux is called. For compatibility with existing installs, the following legacy configuration file names are still supported:
 * EXTLINUX:
 * ISOLINUX:

The configuration format, however, is the same. The configuration file must be present in the directory where Syslinux is installed.

Simple configuration
This will provide a simple "" prompt, similar to the one in Gentoo's Minimal LiveCD:

Menu configuration
The following configuration provides a simple text menu example. This is done via the  module. In some cases where  is not compatible, the simpler menu module will work. Copy the VESA menu module into the boot filesystem or EFI system partition. BIOS systems should use the following example:

EFI systems should use:

Passing kernel parameters
Unless the kernel parameters are hard-coded and the initramfs is built-in into the kernel image, these may need to be passed on to the kernel through the boot loader. To do so, use the  and/or   parameter:

Checking dynamic links
Since syslinux-5.00, the modules use dynamic linking. To verify if the dependencies has been installed enter the Syslinux directory and use the ldd</tt> command:

If any modules are missing be sure to copy them to the directory.

External resources

 * SYSLINUX git sources.