ELILO
Мені дуже важко вирішити, яку частину копіювати + вставити, тому що це все дуже добре, тому я просто попрошу вас прочитати її.
Род Сміт
Але перш ніж зробити це, я хотів би трохи прокоментувати це. Посилання ELILO вище - це одна з багатьох сторінок завантаження UEFI, яку ви знайдете на rodsbooks.com, написаному Родом Смітом. Він є досвідченим технічним письменником, і якщо ви коли-небудь гуглили тему завантаження та забиття УЄФІ, не читаючи щось його, це, швидше за все, ви пропустили кілька перших результатів.
Linux UEFI завантаження
В основному ядро Linux може бути безпосередньо виконане прошивкою.
У посиланні вище він згадує завантажувач заглушок EFI ядра Linux - це те, що ви повинні використовувати, на мій погляд, оскільки це дозволяє виклик ядра Linux безпосередньо самою прошивкою. Незалежно від того, що ви щось робите , виконується прошивка - і це здається, що щось таке є grub
. Якщо вбудована програма може безпосередньо завантажувати ваше ядро os, яка корисна завантажувач? Прошивка UEFI монтує формат FAT, відформатований GPT-розділом, позначений esp , таблицею розділів і виконує там шлях, який він зберег у вигляді змінної завантаження UEFI у вбудованому модулі флеш-пам’яті. Отже, одне, що ви можете зробити, - це поставити ядро Linux на цей розділ FAT і зберегти його шлях у цій змінній завантаження. Раптом ядро є власним завантажувач.
Завантажувачі
У системах UEFI завантажувачі завантажуються надмірно - включено ELILO.
Проблема завантажувачів, призначених для вирішення, полягала в тому, що системи BIOS читають лише в першому секторі завантаженого флагового розділу та виконують його. З ядром 512 байтів зробити щось значуще важко, тому загальне, що потрібно зробити, - це написати мініатюрну утиліту, яка могла б змонтувати файлову систему, де ви зберігали фактичне ядро та завантажували його.
Насправді, 512 байт часто було недостатньо навіть для завантажувачів. grub
, наприклад, насправді ланцюг завантажується перед тим, як коли-небудь завантажувати ваше ядро, оскільки він заклинає свою другу стадію в порожньому просторі між завантажувальним сектором та першим сектором вашої файлової системи. Це свого роду брудний злом - але це спрацювало.
Менеджери завантаження
Для легкої конфігурації, деякі переходи між ними можуть бути корисними.
Що rEFInd Рід Сміт робить запуск як EFI додатки - це відносно нова концепція. Це програма, яка виконується з диска - і повертається до - мікропрограмного забезпечення. Те, що робить REFInd, дозволяє вам керувати меню завантаження, а потім повертає свій вибір завантаження до програмного забезпечення для виконання. Він поставляється з драйверами UEFI файлової системи - так, наприклад, ви можете використовувати EFI-заглушку завантажувач ядра на знежиреному розділу (наприклад , в якості струму /boot
). Управляти мертвим просто - якщо така річ взагалі необхідна - і це додає простоту виконуваного ядра системи для зручності налаштованого завантажувача.
Атомний непрямий
Ядро не потребує символьних посилань - воно може mount --bind
.
Якщо на вашому шляху є якийсь шлях, /
де вам слід заборонити символізувати, це так /boot
. Осиротіла симпосилання /boot
- це не проблема, з якою ви коли-небудь мали б вирішити проблеми. Тим не менш, це достатньо поширена практика для налаштування детальних непрямих напрямків за /boot
допомогою декількох дистрибутивів - навіть якщо це жахлива ідея - для обробки оновлень ядра та / або декількох конфігурацій ядра.
Це проблема для систем EFI, які не налаштовані на завантаження драйверів файлової системи (такі, які надаються з пакетом rEFInd), оскільки FAT є загалом дурною файловою системою, і вона їх не розуміє.
Я особисто не використовую драйвери файлової системи UEFI, надані з rEFInd, хоча більшість дистрибутивів включає пакет rEFInd, який можна встановити через менеджер пакунків і забути про використання лише їх власного жахливого /boot
конфігураційного конфігурації та упакованих драйверів файлової системи UEFI rEFInd.
Моя конфігурація
Я колись написав набір інструкцій на нього і розмістив його тут , але це виглядає так:
% grep esp /etc/fstab &&
> ls /esp/EFI
LABEL=ESP /esp vfat defaults 0 1
/esp/EFI/arch_root /boot none bind,defaults 0 0
arch_root/ arch_sqsh/ arch_xbmc/ BOOT/ ipxe/
Тож я просто помістив ці два рядки в мою /etc/fstab
вказівку на папку, в якій я маю намір містити нову інсталяцію Linux, /boot
і я майже переживаю за все. Я також повинен зробити:
cat /boot/refind_linux.conf
"Arch" "root=LABEL=data rootflags=subvol=arch_root,rw,ssd,compress-force=lzo,space_cache,relatime"
Крім встановлення refind-efi
пакету через pacman
перший, це все, що потрібно для установки стільки окремих установок / конфігурацій, скільки я хочу. Зауважте, що більшість цього рядка вище складається з специфічних для btrfs параметрів монтажу, вказаних як параметри ядра. Більш типовий /boot/refind_linux.conf
, мабуть, виглядатиме так:
"Menu Entry" "root=/dev/sda2"
І це все, що потрібно.
rodsbooks.com
Якщо ви все ще хочете ELILO, ви можете знайти інструкції з установки за посиланням вище. Якщо ви хочете rEFInd, ви знайдете посилання на нього в першому пункті там. Якщо ви хочете виконати будь-яку конфігурацію завантаження UEFI, спочатку прочитайте rodsbooks.com .