Налаштування на системах з BIOS
У решти розділу вважатимемо, що завантажувальний розділ знаходиться на / dev / sda1 (часто ісполузуемое місце). Якщо це не так, обов'язково внесіть правки в міру необхідності.
Щоб використовувати EXTLINUX. переконайтеся, що встановлено відповідний завантажувальний сектор. Потім встановіть завантажувач на розділ. EXTLINUX може не працювати, якщо ці кроки пропущені. Така настройка завантажувального сектора не потрібно в разі установки SYSLINUX, PXELINUX і ISOLINUX.
Налаштування завантажувального сектора
Налаштування MBR (msdos)
замітка
Ці інструкції призначені для розмітки розділів MBR (msdos). Для GPT, перейдіть до розділу настройка GPT.
Перш за все, встановіть завантажувальний сектор, передбачений Syslinux. Прийміть необхідні заходи при використанні цієї команди; якщо пропущено count = 1. вона перезапише весь диск, замість тільки перших 440 байт:
root # dd bs = 440 conv = notrunc count = 1 if = / usr / share / syslinux / mbr.bin of = / dev / sda
Відзначте завантажувальний розділ як активний. У стовпці "Boot" з'явиться *:
root # fdisk / dev / sda
Налаштування GPT
замітка
Ці інструкції призначені для розмітки GPT. Для MBR (msdos), прочитайте настройка MBR (msdos).
Спочатку встановіть завантажувальний сектор, передбачений Syslinux. Прийміть необхідні заходи при використанні цієї команди; якщо пропущено count = 1. вона перезапише весь диск, замість тільки перших 440 байт:
root # dd bs = 440 conv = notrunc count = 1 if = / usr / share / syslinux / gptmbr.bin of = / dev / sda
Потім запустіть утиліту gdisk з sys-apps / gptfdisk і включіть атрибут legacy BIOS bootable (успадкований завантажувач BIOS) на тому розділі, де зберігається / boot / extlinux.
root # gdisk / dev / sda
установка завантажувача
Налаштування EXTLINUX
Використовуйте команду extlinux для установки необхідних файлів в / boot / extlinux
root # mkdir / boot / extlinux
root # extlinux --install / boot / extlinux
root # ln -snf. / Boot / boot
Пакет Syslinux містить різні модулі для включення додаткових функцій. Починаючи з Syslinux версії 5, деякі модулі залежать від інших, тому хорошою ідеєю буде скопіювати більшість основних модулів незалежно від варіанту використання. Дивіться перевірка динамічних посилань. щоб упевнитися, що збережені всі залежності.
root # cd / usr / share / syslinux
root # cp menu.c32 memdisk libcom32.c32 libutil.c32 / boot / extlinux
Налаштування ISOLINUX
Щоб встановити ISOLINUX, почніть з основного каталогу, в якому розташовуються всі файли, які необхідно перемістити на CD або DVD. В основному каталозі, створіть підкаталог isolinux і скопіюйте файл isolinux.bin з пакета Syslinux в папку isolinux.
root # mkdir isolinux
root # cp /usr/share/syslinux/isolinux.bin isolinux /
Створіть файл isolinux.cfg відповідно до інструкцій наведеними нижче.
Потім створіть два додаткових каталогу kernel і images в основному каталозі:
root # mkdir kernel images
Скопіюйте двійковий файл memdisk в каталог kernel.
root # cp / usr / share / syslinux / memdisk kernel /
замітка
Для використання команди mkisofs потрібно встановити пакет app-cdr / cdrtools. Проводиться це запуском:
root # emerge --ask app-cdr / cdrtools
Коли конфігурація завершена, наступна команда mkisofs може бути використана для створення кінцевого образу ISO (не забудьте замініть $ на той самий основний каталог, який використовувався в попередніх командах):
root # mkisofs -o output.iso -b isolinux / isolinux.bin -c isolinux / boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table $
Файл boot.cat буде створений автоматично.
Налаштування PXELINUX
З PXELINUX можливе завантаження по мережі з використанням образів, які розподіляються через TFTP-сервер. У цій статті передбачається, що TFTP-сервер встановлений, і його TFTP кореневим каталогом є / var / lib / tftpboot. З цими настройками, скопіюйте завантажувач PXELINUX в завантажувальний каталог TFTP і створіть каталог з конфігурацією.
root # cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/pxelinux.0
root # mkdir /var/lib/tftpboot/pxelinux.cfg
замітка
При копіюванні новітнього lpxelinux.0 замість pxelinux.0. можна завантажити ядро і ramdisk через HTTP і зробити використання DNS імен в файлі конфігурації.
Шістнадцяткове подання IP може бути знайдено за допомогою gethostip команди:
user $ gethostip -x 192.168.0.50
Приклад потрібній послідовності в файлі конфігурації виглядає так:
замітка
Для полегшення підтримки, створіть файли конфігурації з ім'ям хоста і символічним посиланням на уявлення IP. Для перемикання за замовчуванням, просто видаліть або перейменуйте символьне посилання.
Налаштування SYSLINUX
Використовуйте команду syslinux для установки завантажувача SYSLINUX на файлову систему (FAT):
root # syslinux --install / dev / sda1
Установка на системах з EFI
замітка
EFI підтримується починаючи з Syslinux 6.00.
Системний розділ EFI
Створіть розділ з типом EF (MBR) або EF00 (GPT) і файлову систему FAT32 на цьому розділі. Також можна використовувати існуючий системний розділ EFI. якщо такий є. Бажано змонтувати цей розділ в / boot / efi /.
замітка
Далі мається на увазі що система завантажена в режимі EFI, і що системний розділ EFI знаходиться на / dev / sda1.
установка завантажувача
На системному розділі EFI створіть каталог для файлів Syslinux. Цей каталог також буде містити конфігураційні файли, який буде створено пізніше.
root # mkdir -p / boot / efi / EFI / syslinux
Передайте файли syslinux.efi і ldlinux.e64 разом з іншими необхідними файлами .c32 з / usr / share / syslinux / efi64 / в новий каталог syslinux. наприклад:
root # cd / usr / share / syslinux / efi64
root # cp syslinux.efi ldlinux.e64 menu.c32 libcom32.c32 libutil.c32 / boot / efi / EFI / syslinux
Якщо система не була завантажена в режимі EFI, то файли Syslinux необхідно скопіювати в каталог / boot / efi / EFI / Boot. а файл syslinux.efi необхідно перейменувати в bootx64.efi. Якщо це так, то пропустіть наступний розділ, що стосується утиліти efibootmgr.
Вказівка Syslinux на EFI
Переконайтеся, що CONFIG_EFI_VARS включена в ядрі. Якщо вона була включена як модуль, переконайтеся, що модуль завантажений в пам'ять. Це можна зробити, скориставшись утилітою modprobe. Після того як модулі були завантажені, створіть нову завантажувальний запис використовуючи efibootmgr.
root # modprobe efivars
root # efibootmgr -c -l '\ EFI \ syslinux \ syslinux.efi' -L SYSLINUX -p 1
efibootmgr автоматично відрегулює порядок завантаження EFI і помістить недавно створену запис у верхню частину списку. Змініть порядок завантаження параметром -o. якщо така поведінка не бажано.
замітка
Щоб команда efibootmgr працювала, спершу потрібно встановити пакет sys-boot / efibootmgr. Якщо це необхідно, використовуйте наступну команду:
root # emerge --ask sys-boot / efibootmgr
конфігурація
Конфігураційний файл для Syslinux називається syslinux.cfg. Для сумісності з існуючими установками, такі застарілі імена файлів конфігурації все ще підтримуються:
- EXTLINUX: extlinux.conf
- ISOLINUX: isolinux.cfg
Формат конфігурації також однаковий. Конфігураційний файл повинен бути представлений в каталозі, з встановленим Syslinux.
проста конфігурація
Це відобразить просту рядок "boot:", подібну до тієї, яка використовується в Gentoo Minimal LiveCD:
конфігурація меню
Наступна конфігурація надає приклад простого текстового меню. Це досягається за допомогою модуля vesamenu. У деяких випадках, коли vesa не сумісна, модуль простого меню буде працювати. Скопіюйте модуль меню VESA в файлову систему boot або системний розділ EFI. Системи BIOS повинні використовувати наступний приклад:
root # cp /usr/share/syslinux/vesamenu.c32 / boot / extlinux /
Для EFI систем слід використовувати:
root # cp /usr/share/syslinux/efi64/vesamenu.c32 / boot / efi / EFI / syslinux /
замітка
Уникайте використання параметр KERNEL для вибору образів Linux ядра, замість цього використовуйте параметр LINUX. Якщо використовується KERNEL і ім'я образу закінчується на .0. то extlinux неправильно це витлумачить і спробує використовувати PXE для завантаження по мережі, що завершився екраном повним графічних артефактів і нічим іншим. Для більшої інформації дивіться розділ "KERNEL file" на вікі SYSLINUX.
замітка
У файлі конфігурації, абсолютні шляхи будуть вважатися щодо файлової системи root, що не-відносні шляхи будуть вважатися щодо каталогу установки Syslinux.
Передача параметрів ядра
Якщо тільки параметри ядра НЕ закодовані жорстко в образ ядра і не вбудований initramfs, їх потрібно передати ядру через завантажувач. Щоб це зробити, використовуйте параметр APPEND і / або INITRD. як показано тут:
Файл syslinux.cfgДобавленіе параметрів ядра
Перевірка динамічних посилань
Починаючи з syslinux-5.00, модулі .c32 використовують динамічну лінковку. Щоб перевірити, що ці залежності були встановлені, увійдіть в каталог Syslinux і скористайтеся командою ldd.
root # LD_LIBRARY_PATH =. ldd * .c32
Якщо будь-які .c32 модулі відсутні, переконайтеся, що взяте в каталог.