Syslinux что это
Перейти к содержимому

Syslinux что это

  • автор:

Syslinux

Syslinux это универсальный загрузчик операционных сред.

Syslinux поддерживает загрузку

  • с файловых систем Linux ext2/3/4 или btrfs — в этом случае говорят об extlinux
  • с файловой системы MS-DOS FAT — это собственно загрузчик syslinux
  • с CD/DVD дисков — в этом случае загрузчик называется isolinux
  • по сети, используя PXE-загрузку с TFTP и/или HTTP серверов, — с помощью версии pxelinux.

Syslinux предоставляет множество модулей расширяющих его функциональность, например из известных memdisk. hdt.c32 и несколько подсистем организации меню: в текстовом варианте — menu.c32 и в графическом — vesamenu.c32 и gfxboot.c32.

Получение загрузчика

Syslinux распрораняется в открытых кодах и в виде скомпилированных бинарных пакетов. В Debian дистрибутивах бинарные пакеты имеют названия syslinux, syslinux-common и syslinux-utils. Эти пакеты могут быть получены как через хранилища пакетов, так и загружены напрямую с сайта pkgs.org.

Внимание! Установка пакетвой в операционной среде не приводит к установке Syslinux на жёсткий диск в качестве первоначального загрузчика, но предоставляет возможность осуществить такую установку на любой носитель, собрать ISO-образ с использованием данного загрузчика или организовать PXE-загрузку.

получение загрузчика через хранилища linux

Описание получения загрузчика через хранилища linux приведено на примере Debian Squeeze.

Пакет присутствует в хранилище пакетов debian squeeze.
Для установки пакета

  • в командной строке: следует выполнить команду # apt-get install syslinux syslinux-common syslinux-utils
  • в графическом режиме: воспользоваться специализированной программой управления пакетами

После установки пакет доступен для использования.

Замечание: COM32 модули необходимые для организации PXE-загрузки размещаются в каталоге /usr/lib/syslinux/modules.

получение загрузчика сайта www.pkgs.org

Получение загрузчика сайта www.pkgs.org может потребоваться, если нужна последняя версия Syslinux.

Для получения загрузчика Syslinux с сайта www.pkgs.org

  • загружаются пакеты с хранилища www.pkgs.org
на примере версии 6.03 и архитектуры amd64 # wget http://ftp.br.debian.org/debian/pool/main/s/syslinux/syslinux_6.03+dfsg-5+deb8u1_amd64.deb # wget http://ftp.br.debian.org/debian/pool/main/s/syslinux/syslinux-common_6.03+dfsg-5+deb8u1_all.deb # wget http://ftp.br.debian.org/debian/pool/main/s/syslinux/syslinux-utils_6.03+dfsg-5+deb8u1_amd64.deb 
  • распаковывается (устаналивается) загрузчик Syslinux
# dpkg -i syslinux*

получение загрузчика с сайта www.kernel.org

Получение загрузчика сайта www.kernel.org может позволить избежать установки пакета в систему, например если загрузчик предполагается использовать лишь как PXELINUX.

Для получения загрузчика Syslinux с сайта www.kernel.org

  • загружаются пакеты с сайта www.kernel.org
  • распаковается архив
# tar xvzf syslinux-6.03.tar.gz
Внимание! В дальнейшем в статье указываемые пути, например [bios/]mbr/ или [bios/]win32/, понимаются как пути отложенные от корня данного распакованного архива.
  • (например) извлекаются файлы необходимые для организации PXE-загрузки
# find -H / -name pxelinux.0 -exec cp <> / \; # find -H / -name *.c32 -exec cp <> / \; # find -H / -name memdisk -exec cp <> / \;

Размещение SysLinux в качестве загрузчика

Процедура размещения Syslinux в качестве главного загрузчика зависит от операционной среды, из которой она осуществляется.

установка SysLinux из WINDOWS

Для установки загрузчика Syslinux из Windows используется файл «[bios/]win32/syslinux.exe» для 32-х битных систем и «[bios/]win64/syslinux64.exe» для 64-х битных систем. Установщик Syslinux для Windows поддерживает файловые системы FAT и NTFS.

# syslinux[64].exe [options] : [bootsecfile]
Например: # syslinux.exe --install a: - установка на флоппи-диск # syslinux.exe --mbr --active --directory /boot/syslinux/ --install z: - установка на диск z:, например флешку где - в качестве разделителей должны быть использованы именно /, а не \ - в каталоге z:\boot\syslinux\ будет размещён файл-загрузчик "ldlinux.sys" - и раздел z: помечен как активный - для организации меню должен быть создан файл z:\boot\syslinux\syslinux.cfg
Внимание! Ни с параметром --mbr, ни без него установщик Syslinux НЕ устанавливает в MBR загрузочную запись. Для этого должны быть использованы специальные средства, например в linux команда dd: # dd if=[bios/]mbr/mbr.bin of=/dev/sda bs=440 count=1

установка SysLinux из DOS

Установка загрузчика Syslinux из DOS осуществляется с помощью файла «[bios/]dos/syslinux.com». Установщик Syslinux для DOS поддерживает файловую систему FAT.

# syslinux.com [options] : [bootsecfile]
Например: # syslinux.com --install a: - установка на флоппи-диск
Замечание: Для установки стандартного простого MBR в DOS может быть использована команда # FDISK /MBR

установка SysLinux из LINUX

Установка загрузчика Syslinux из Linux может быть осуществлена с помощью нескольких файлов

  • «[bios/]linux/syslinux» для установки с привилегиями суперпользователя на файловую систему FAT без монтирования раздела
  • «[bios/]mtools/syslinux» для установки с разрешением непривилегированной записи на файловую систему FAT без монтирования раздела
  • «[bios/]extlinux/extlinux» для установки на предварительно смонтированный раздел на все поддерживаемые ФС: FAT12/16/32, NTFS, ext2/3/4, Btrfs, XFS, UFS/FFS

Синтаксис команды syslinux

# syslinux [options]

Например: # syslinux /dev/fd0 - установка на флоппи-диск

Синтаксис команды extlinux

# extlinux [options]

Например: # extlinux --directory /boot/syslinux/ --install /dev/sdb1 - установка загрузчика на носитель /dev/sdb1 в каталог /boot/syslinux/
Замечание: Для маркировки раздела активным может быть использована команды # parted /dev/sdb set 1 boot on или # fdisk /dev/sdb Command (m for help): a Partition number (1-X): 1 Command (m for help): w При отсутствии метки активный запуск загрузки с раздела с Syslinux будет остановлен с ошибкой Missing Operating System.
  • syslinux.org: wiki/Install
  • syslinux.org: wiki/Common_Problems

параметры установщика SysLinux

Параметры ([options]) установщика загрузчика Syslinux различаются для различных вариантов установки.

общие параметры -h --help - отображение помощи по программе -v --version - отображение версии программы -i --install - установка поверх текущего загрузочного сектора -U --update - обновление предыдущей установки -H --heads=# - прямое указание номера heads -S --sectors=# - прямое указание номера sectors per track -z --zip - прямое указание геометрии zipdrive (-H 64 -S 32) -s --stupid - медленный, безопасный, "тупой" режим Используется на очень глючных BIOS-ах с которыми стандартный SYSLINUX не запускается. -r --raid - RAID режим Устраняет ошибку при загрузке при использовании RAID-1 --once=. - одноразовое выполнение команды при следующей загрузке; обычно команда это известная метка пункта меню (label) --clear-once - очистка запланированной при загрузке команды --reset-adv - Reset auxiliary data vector --menu-save=mylabel - установка пункта меню по умолчанию при следующей загрузке Для постоянного применения данного параметра файл конфигурации должен содержать также директиву MENU SAVE
параметры установки в неподключённые (несмонтированные) устройства -d --directory - целевой каталог для установки, откладываемый от корня целевого устройства Каталог должен быть создан до выполнения команды -f --force - форсирование установки игнорируя предосторожности. В некоторых случая эта директива не изменит результат. --offset=# - указание смещения в байтах в образе файлового устройства целевого устройства Параметр применяется только когда целевое устройство является файлов с образом диска
параметры установки из-под DOS/Windows -d --directory - целевой каталог для установки, откладываемый от корня целевого устройства Каталог должен быть создан до выполнения команды -f --force - форсирование установки игнорируя предосторожности. В некоторых случая эта директива не изменит результат. -m --mbr - установка сгенерерованного загрузочного кода в MBR Замечание: Текущая версия SYSLINUX не устанавливает MBR даже с этим параметром. -a --active - маркировка раздела в качестве "активного" (установка флага "загружаемый")
параметры установки в подключённые (смонтированные) устройства --device - [4.06+] форсирование использования специфичного блочного устройства (только для экспертов)

Литература

  • wikipedia.org: SYSLINUX
  • syslinux.org: WIKI
  • wiki.archlinux.org: Syslinux

Справочная информация

  • 28.09.2013: Syslinux: создание статьи о загрузчике операционных сред Syslinux
  • 08.02.2015: Syslinux: добавлен раздел Получение и Установка загрузчика
  • 18.02.2015: Syslinux: добавлен раздел Параметры установщика SysLinux
  • 08.01.2016: Syslinux: добавлен раздел Получение загрузчика сайта www.pkgs.org

BootDev

Пришло время разобраться с загрузчиком Syslinux. Данный загрузчик нашел широкое применение во многих загрузочных LiveCD. Мы же, установим его на флешку в BIOS и EFI вариантах. Попробуем загрузить с его помощью различные образы дисков (из этого списка), в обоих режимах.

Подготовка.

Для начала, скачаем отсюда последнюю версию загрузчика. Для удобства работы с файлами и выполнения консольных команд, я буду использовать Far Manager с консольной оболочкой ConEmu.

На данный момент последняя версия загрузчика имеет номер 6.04, датируемая 04.03.2016.

Форматирование флешки.

Файловой системой флешки будет FAT32. Почему не NTFS? Главной причиной является то, что флешка будет использовать EFI загрузчик. А UEFI BIOS не поддерживает файловую систему NTFS.

И так, начнем. Подключаем флешку и запускаем FAR от имени администратора.

В открывшемся окне FAR нажимаем одновременно клавиши CTRL+O, тем самым мы скроем файловые панели, и перед нами будет лишь окно консоли.

Вводим команду diskpart и жмем ENTER. Тем самым мы попадем в программу DiskPart, стандартную консольную программу ОС Windows предназначенную для работы с дисками.

Выведем список дисков системы. Для этого вводим команду list disk и нажимаем ENTER . Список дисков нам необходим для того чтобы узнать под каким номером в системе числится наша флешка.

В моем случае флешка имеет номер диска 2. Это легко определяется по размеру диска.
Укажем программе, что работать нужно с диском под номером 2. Пишем select disk 2 и жмем ENTER.

Программа сообщит о том что диск успешно выбран. Теперь очистим флешку от информации о ее разделах, иными словами очистим ее полностью. Пишем clean и нажимаем ENTER.

Немного ожидания и мы увидим сообщение о том, что диск успешно очищен. Для того, чтобы флешка была загрузочной, необходимо чтобы на ней был первичный активный раздел. Создадим его. Вводим команду create partition primary и нажимаем ENTER.

Раздел создан. Сделаем его активным. Пишем active и жмем ENTER.

Отформатируем созданный раздел в файловой системе FAT32. Для этого вводим format fs=fat32 quick и жмем ENTER.

По завершении форматирования, вводим команду exit для выхода из программы DiskPart. В ней нам больше делать нечего ��.

И так, мы снова оказались в консоли FAR’а. Нажимаем сочетание клавиш CTRL+O для возврата файловых панелей, они нам сейчас пригодятся.

Небольшое отступление для людей впервые использующих FAR.

Приведу мини инструкцию по работе с ним. У данного файлового менеджера две файловые панели, левая и правая. Каждая панель содержит в себе список файлов, в виде меню, по которому можно перемещаться стрелками ←↑→↓. Одна из панелей в FAR всегда активная. Активную панель панель можно определить по расположенному в ней

файловому курсору, и выделенному заголовку панели. Перемещаться между панелями, т.е. сделать активной противоположенную,

можно нажатием клавиши TAB. Заголовок панели отражает текущее ее местоположение.
Теперь о функциональных клавишах и их сочетаниях:
ALT+F1 — открыть окно выбора диска для левой панели.
ALT + F2 — открыть окно выбора диска для правой панели.
CTRL+O — показать/скрыть файловые панели.
CTRL+PgDown — провалиться внутрь каталога/архива.
CTRL+PgUp — вернуться на уровень выше.
CTRL+H — показать/скрыть системные и скрытые файлы.
Insert — выделить элемент под курсором.

CTRL+(F3F12) — различные варианты сортировки файлов в файловых панелях. Наиболее предпочитаемые CTRL+F4 по типу, и CTRL+F5 по дате.

CTRL+(09) — различные варианты отображения файловых панелей. Наиболее предпочитаемые CTRL+3 и CTRL+0.
CTRL+* — выделить или инвертировать выделенные всего содержимого в текущей файловой панели.
F3 — просмотр файлов.
F4 — редактирование файлов.
F5 — копирование файлов с активной панели в неактивную.
F6 — перемещение файлов с активной панели в неактивную.
SHIFT+ F6 — переименование файла под курсором.
F7 — создание каталога в активной файловой панели.
F8 — удаление файлов.
F9 — вызов строки меню.
ALT+F7 — поиск файлов в активной панели.

Установка загрузчиков.

На данный момент в нашем распоряжении пустая, только что подготовленная флешка, и скачанный архив с загрузчиком Syslinux. Распакуем архив с загрузчиком в произвольную папку. В моем случае, это будет папка E:\syslinux.

После извлечения файлов, в файловой панели с архивом, сменим текущее расположение на нашу флешку.

В корне флешки создадим каталог EFI, а внутри подкаталог boot. Данные каталоги необходимы для загрузки в EFI режиме.

Переходим в каталог boot, переключаемся на панель с распакованным загрузчиком. Выполняем поиск файлов (ALT+F7) в ней по маске *.efi.

В результатах поиска должно появиться 2 файла.

Выведем найденные файлы на панель.

Скопируем файл syslinux.efi из подкаталога efi64 в папку EFI\boot на флешке, но не как есть, а с изменением имени на bootx64.efi. Для этого выставляем курсор на копируемый файл, нажимаем кнопку F5 на клавиатуре, в открывшемся окошке копирования файлов дописываем в поле пути назначения, новое имя файла.

После копирования, возвращаемся с временной панели обратно к каталогу с распакованным загрузчиком. Самый простой вариант, это просто перейти на по пункту «..» во временной панели.

Выполним вновь поиск по файлам загрузчика, но уже по маске поиска *ldlinux*.

В этот раз файлов в результатах будет больше.

Скидываем все найденное на временную панель.

Из данного списка, скопируем файл ldlinux.e64 в папку EFI\boot.

Снова возвращаемся из временной панели к распакованным файлам загрузчика.

На данный момент мы установили на флешку EFI версию загрузчика в минимальной комплектации. Теперь приступим к установке BIOS версии. Открываем окно поиска файлов, вводим маску поиска *.exe.

Результатов поиска будет 2.

Выбираем в результатах поиска syslinux.exe и жмем на клавишу ENTER. Тем самым мы попадем в каталог содержащий данный файл.

Далее переключаемся на файловую панель флешки, и переходим в ее корень. Быстрее всего это можно сделать сочетанием клавиш CTRL+\.

Создадим цепочку каталогов boot\syslinux. Создание цепочки каталогов аналогично созданию одного каталога, просто вместо имени одного каталога описывается вся цепочка.

Переходим в только что созданный каталог boot\syslinux. После чего возвращаемся в противоположенную панель к файлу syslinux.exe.

Запоминаем букву диска нашей флешки, в моем случае это F:. Переходим в командную строку нажав сочетание клавиш CTRL+O. Набираем команду cls и жмем ENTER для очистки экрана от предыдущих наших действий. Вводим команду syslinux.exe -a -m -d /boot/syslinux F: и жмем ENTER.

Если не последовало никаких сообщений, значит все прошло успешно. Данная команда устанавливает BIOS версию загрузчика. А точнее, прописывает в MBR запись диска свой стартовый код, и копирует базовые файлы загрузчика в указанную директорию. Нажимаем CTRL+O и наблюдаем что в папке boot\syslinux появились файлы загрузчика.

Возвращаемся в корень каталога распакованного загрузчика. Выполняем поиск файлов по фразе libutil.c32;menu.c32. Эти файлы необходимы чтобы заработало меню загрузчика Syslinux.

Перекидываем найденные файлы на временную панель.

Копируем файлы libutil.c32 и menu.c32 из подкаталога bios в папку boot\syslinux.

И эти же самые файлы, но уже из подкаталога efi64 в папку EFI\boot.

Получиться должно так как указано на скриншоте ниже.

На данном этапе мы установили загрузчик Syslinux в BIOS и UEFI BIOS исполнении. Текущая установка минимальна, только основное ядро загрузчика с компонентами отрисовки текстового меню, без файла конфигурации и прочих дополнительных модулей.

Проверка загрузки флешки в BIOS и EFI режимах.

Проведем промежуточную проверку флешки, чтобы быть уверенными в том, что все проделанное выше корректно. Проверять будем с помощью виртуальной машины VirtualBox. О том как это делается подробно описано тут. Я лишь приведу результаты проверки.

Загрузка в BIOS режиме.

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

Загрузка в EFI режиме.

Аналогичное предупреждение об отсутствии файла конфигурации.

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

Пакет: syslinux-common (3:6.04~git20190206.bf6db5b4+dfsg1-3)

В syslinux включён набор загрузчиков, поддерживающих файловые системы DOS FAT и NTFS (SYSLINUX), файловые системы для Linux ext2/ext3/ext4, btrfs и xfs (EXTLINUX), загрузку по сети PXE (PXELINUX) и ISO 9660 CD-ROMs (ISOLINUX).

Этот пакет содержит общие файлы.

Загрузка syslinux-common

Загрузить для всех доступных архитектур

Архитектура Размер пакета В установленном виде Файлы
all 1 209,3 Кб 3 498,0 Кб [список файлов]

Эта страница также доступна на следующих языках (Как установить язык по умолчанию):

Чтобы сообщить о проблеме, связанной с веб-сайтом, отправьте сообщение (на английском) в список рассылки debian-www@lists.debian.org. Прочую контактную информацию см. на странице Debian Как с нами связаться.

Авторские права © 1997 — 2023 SPI Inc.; См. условия лицензии. Debian это торговый знак компании SPI Inc. Об этом сайте.

Syslinux

SYSLINUX Project — набор загрузчиков ядра Linux (автор H. Peter Anvin), состоит из нескольких отдельных загрузчиков, самым известным из которых является ISOLINUX.

syslinux — загрузчик ядра Linux и стартового RAM-диска с FAT- или FAT32-раздела на дискете, жёстком диске или USB-накопителе.

Список загрузчиков в SYSLINUX Project

  • syslinux, использующийся для загрузки с FAT или FAT32
  • isolinux, для загрузки с iso9660
  • pxelinux, для загрузки по PXE
  • extlinux, для загрузки с ext2/ext3/ext4 или btrfs

Существует ряд утилит, имеющих одинаковый с ядром Linux формат загрузки и пригодных для запуска из-под syslinux. Одной из них является утилита Memtest86.

См. также

Ссылки

  • Syslinux на ftp.kernel.org — для платформ Linux/win32
  • Руководство по Syslinux на Русском языке
  • Программное обеспечение по алфавиту
  • Загрузчики операционных систем
  • Свободное программное обеспечение, написанное на Си
  • Свободное программное обеспечение, написанное на языке ассемблера
  • Программное обеспечение с лицензией GNU GPL

Wikimedia Foundation . 2010 .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *