Syslinux/ru

Syslinux - это пакет, который содержит семейство загрузчиков. Пакет включает SYSLINUX (загрузчик для файловых систем FAT), EXTLINUX (загрузчик файловых систем ext2/3/4, btrfs и xfs), PXELINUX (сетевой загрузчик PXE) и ISOLINUX (ISO-9660) для загрузки CD/DVD.

Поддержка EFI была добавлена в версиях 6.00 и выше.

Установка
Установка пакета Syslinux предоставит программное обеспечение для системы, но не установит или активирует любой загрузчик, которые содержатся в пакете.

Настройка на системах с BIOS
В оставшейся части раздела будем считать, что загрузочный раздел находится на (часто исполузуемое  место). Если это не так, обязательно внесите правки по мере необходимости.

To use EXTLINUX be sure to install the proper boot sector, then install the boot loader into the partition. If these steps are omitted EXTLINUX will not be operational. This type of a boot sector setup is not needed for the SYSLINUX, PXELINUX and ISOLINUX installations.

Настройка MBR (msdos)
Сначала, установите загрузочный сектор, предусмотренный Syslinux. Примите необходимые предосторожности при использовании этой команды; если пропущен, она перезапишет весь диск, вместо только первых 440 байт:

Отметьте загрузочный раздел как активный. В столбце "Boot" появится  :

Настройка GPT
Сначала установите загрузочный сектор, предусмотренный Syslinux. Примите необходимые предосторожности при использовании этой команды; если пропущен, она перезапишет весь диск, вместо только первых 440 байт:

Затем запустите утилиту из  и включите атрибут legacy BIOS bootable (унаследованный загрузчик BIOS) на том разделе, где хранится.

Настройка EXTLINUX
Используйте команду для установки необходимых файлов в

Пакет Syslinux содержит различные модули для включения дополнительных функций. Начиная с Syslinux версии 5, некоторые модули зависят от других, поэтому хорошей идеей будет скопировать большинство основных модулей независимо от варианта использования. Смотрите проверка динамических ссылок, чтобы удостовериться, что сохранены все зависимости.

Настройка ISOLINUX
Чтобы установить ISOLINUX, начните с основного каталога, в котором располагаются все файлы, которые необходимо переместить на CD или DVD. В основном каталоге, создайте подкаталог и скопируйте файл  из пакета Syslinux в папку :

Создайте файл в соответствии с инструкциями приведенными ниже.

Затем создайте два дополнительных каталога и  в основном каталоге:

Скопируйте двоичный файл в каталог :

Когда конфигурация завершена, следующая команда может быть использована для создания конечного образа ISO (не забудьте замените ${BASEDIR} на тот же основной каталог, который использовался в предыдущих командах):

Файл будет создан автоматически.

Настройка PXELINUX
С PXELINUX возможна загрузка по сети с использованием образов, которые распределяются через TFTP-сервер. В этой статье предполагается, что TFTP-сервер установлен, и его TFTP корневым каталогом является. С этими настройками, скопируйте загрузчик PXELINUX в загрузочный каталог TFTP и создайте каталог с конфигурацией.

Каталог с конфигурацией может быть использован для хранения различных настроек для клиентов, загружающихся по сети. Когда клиент пытается загрузиться, MAC- или IP-адрес используются для определения подходящего файла конфигурации клиента. Сначала он пытается найти MAC-адрес, сопровождаемый шестнадцатеричным представлением клиентского IP. Затем с конца шестнадцатеричного представления убирается символ, до тех пор пока больше не остается символов, или пока не найден файл конфигурации. Если не подходит ни одна из попыток, используется файл конфигурации по умолчанию - default.

Шестнадцатеричное представление IP может быть найдено с помощью команды:

Пример подходящей последовательности в файле конфигурации выглядит так:

Настройка SYSLINUX
Используйте команду для установки загрузчика SYSLINUX на файловую систему (FAT):

Раздел EFI системы
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

Установка загрузчика
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 utility.

Указание Syslinux на EFI
Ensure that CONFIG_EFI_VARS 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 utility. After the modules have been loaded create a new boot entry using :

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.

Конфигурация
Конфигурационный файл для Syslinux называется. Для совместимости с существующими установками, следующие устаревшие имена файлов конфигурации все еще поддерживаются:
 * EXTLINUX:
 * ISOLINUX:

Формат конфигурации также одинаков. Конфигурационный файл должен быть представлен в каталоге, с установленным Syslinux.

Простая конфигурация
Это отобразит простую строку "", подобную той, которая используется в Gentoo Minimal LiveCD:

Конфигурация меню
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 систем следует использовать:

Передача параметров ядра
Если только параметры ядра не закодированы жестко в образ ядра и не встроен initramfs, их нужно передать ядру через загрузчик. Чтобы это сделать, используйте параметр APPEND и/или INITRD, как показано здесь:

Проверка динамических ссылок
Since syslinux-5.00, the modules use dynamic linking. To verify if the dependencies has been installed enter the Syslinux directory and use the command:

Если любые модули отсутствуют, убедитесь, что скопировали их в каталог.

Смотрите также

 * Устаревший GRUB
 * GRUB2