Syslinux/ru

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

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

Настройка
Чтобы использовать EXTLINUX Вам потребуется убедиться, что установлен как подходящий загрузочный сектор, так и действительный загрузчик на раздел. Убедитесь, что Вы не пропустили шаги.

Настройка загрузочного сектора не требуется для установок с SYSLINUX, PXELINUX и ISOLINUX.

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

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

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

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

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

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

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

В этом основном каталоге создайте подкаталог с названием и скопируйте в него файл  из пакета syslinux.

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

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

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

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

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

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

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

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

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

01-88-99-aa-bb-cc-dd C0A80032 C0A8003 C0A800 C0A80 C0A8 C0A C0 C default

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

Конфигурация
Файл конфигурации называется по аналогии с загрузчиком:


 * SYSLINUX:
 * EXTLINUX:
 * ISOLINUX:

Формат конфигурации также одинаков.

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

Конфигурация меню
Следующая конфигурация предоставляет пример простого текстового меню.

Это делается через модуль vesamenu, в некоторых случаях когда vesa несовместима, сработает простой модуль меню.

Скопируйте модуль меню VESA на загрузочную файловую систему:

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