Syslinux/ru

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

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

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

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

Чтобы использовать EXTLINUX, убедитесь, что установлен подходящий загрузочный сектор. Затем установите загрузчик на раздел. EXTLINUX может не работать, если эти шаги пропущены. Такая настройка загрузочного сектора не требуется в случае установки SYSLINUX, PXELINUX и ISOLINUX.

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
Создайте раздел с типом  (MBR) или   (GPT) и файловую систему FAT32 на этом разделе. Также можно использовать существующий системный раздел EFI (ESP), если такой есть. Желательно смонтировать этот раздел в.

Установка загрузчика
На системном разделе EFI создайте каталог для файлов Syslinux. Этот каталог также будет содержать конфигурационные файлы, который будут созданы позже.

Скопируйте файлы и  вместе с другими необходимыми файлами  из  в новый каталог syslinux. Например:

Если система не была загружена в режиме EFI, то файлы Syslinux необходимо скопировать в каталог, а файл необходимо переименовать в. Если это так, то пропустите следующий раздел, касающийся утилиты.

Указание Syslinux на EFI
Убедитесь, что CONFIG_EFI_VARS включена в ядре. Если она была включена как модуль, убедитесь, что модуль загружен в память. Это можно сделать, воспользовавшись утилитой. После того как модули были загружены, создайте новую загрузочную запись используя :

автоматически отрегулирует порядок загрузки EFI и поместит недавно созданную запись в верхнюю часть списка. Измените порядок загрузки параметром, если такое поведение не желательно.

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

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

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

Конфигурация меню
Следующая конфигурация предоставляет пример простого текстового меню. Это достигается с помощью модуля. В некоторых случаях, когда  не совместима, модуль простого меню будет работать. Скопируйте модуль меню VESA в файловую систему boot или системный раздел EFI. Системы BIOS должны использовать следующий пример:

Для EFI систем следует использовать:

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

Проверка динамических ссылок
Начиная с syslinux-5.00, модули используют динамическую линковку. Чтобы проверить, что эти зависимости были установлены, войдите в каталог Syslinux и воспользуйтесь командой :

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