UEFI: различия между версиями

Материал из ALT Linux Wiki
м (текущее состояние)
Строка 7: Строка 7:
{{main|План выпуска бранча p7}}
{{main|План выпуска бранча p7}}
== Состояние ==
== Состояние ==
Бета.  Нормально устанавливаемся на bare metal и в мультизагрузку с, например, openSUSE 12.2 и Windows 8.
Релиз.  Нормально устанавливаемся на bare metal и в мультизагрузку с, например, openSUSE 12.2 и Windows 8.


== Результат ==
== Результат ==
По состоянию на февраль 2013 года начальная поддержка UEFI включена в альфу [[Альт Линукс 7.0 Кентавр|Centaurus 7.0]] и [[Regular|регулярные сборки образов]]; последние также включают подписанный загрузчик и публичный ключ для работы без отключения Secure Boot.
По состоянию на декабрь 2013 года поддержка UEFI включена в [[Альт Линукс 7.0 Кентавр|Centaurus 7.0.1]] и [[Regular|регулярные сборки образов]], включая возможность работы без отключения Secure Boot.


Реализация поддерживает запись на CD/DVD-болванку или USB-флэшку и загрузку в EFI mode или Legacy mode.  Проверена на ASUS/Gigabyte UEFI и MacBook/MBP EFI.
Реализация поддерживает запись на CD/DVD-болванку или USB-флэшку и загрузку в EFI mode или Legacy mode.  Проверена на ASUS/Gigabyte/Lenovo UEFI и MacBook/MBP EFI.


== Применение ==
== Применение ==
Строка 21: Строка 21:
Следует устанавливать 64-битные дистрибутивы; запуск 32-битного дистрибутива возможен в режиме BIOS/CSM (Compatibility Support Module), а в режиме EFI такая установка не будет сочтена загрузочной<ref>OVMF в составе virtualbox обычно загружает EFI Shell, а поведение фирмварей на железе варьирует от представления меню пунктов загрузки до перехода к настройкам</ref>.
Следует устанавливать 64-битные дистрибутивы; запуск 32-битного дистрибутива возможен в режиме BIOS/CSM (Compatibility Support Module), а в режиме EFI такая установка не будет сочтена загрузочной<ref>OVMF в составе virtualbox обычно загружает EFI Shell, а поведение фирмварей на железе варьирует от представления меню пунктов загрузки до перехода к настройкам</ref>.


При загрузке с образа в EFI-режиме загрузчиком будет графический rEFInd либо совсем текстовое ELILO, в BIOS-режиме — синяя текстовая либо брендированная графическая менюшка SYSLINUX.
При загрузке с образа в EFI-режиме загрузчиком будет графический rEFInd либо совсем текстовое ELILO, в BIOS-режиме — синяя текстовая либо брендированная графическая менюшка SYSLINUX.


После собственно загрузки и логина именем root в EFI-режиме должны отработать команды
После собственно загрузки и логина именем root в EFI-режиме должны отработать команды
Строка 34: Строка 34:


=== Secure Boot ===
=== Secure Boot ===
Если нет возможности отключить (зайдя в firmware по Del или F2 и поискав в секциях Boot или Security) — можно подтвердить тестовый ключ, добавленный в упомянутые сборки по пути {{path|EFI/enroll/altlinux.cer}}<ref>в ранних образах был по пути {{path|EFI/BOOT/altlinux.cer}}</ref>.  Пошаговая процедура описана на [http://www.rodsbooks.com/efi-bootloaders/secureboot.html rodsbooks.com] (потребуются не все шаги).
Если нет доверия к Microsoft, можно подтвердить (enroll) сертификат ALT Linux, добавленный по пути {{path|EFI/enroll/altlinux.cer}}.  Пошаговая процедура описана на [http://www.rodsbooks.com/efi-bootloaders/secureboot.html rodsbooks.com] (потребуются не все шаги).  В выпусках 7.0.2 и регулярных сборках с конца ноября используется подписанный shim с этим сертификатом, т.е. отключать SecureBoot необязательно.


=== VirtualBox ===
=== VirtualBox ===
Желательна ветка 4.2 и выше, в 4.1 реализация EFI несколько странная и крайне задумчивая.  Требуется 64-битный экземпляр со включенной галкой "EFI" в настройках материнской платы.  ISO рекомендуется подключать через SATA-, а не IDE-контроллер (спасибо vsu@ за подсказку).  Диск — динамический на 10Gb или больше, чтобы по возможности отрабатывала авторазбивка.
Желательна ветка 4.2 и выше, в 4.1 реализация EFI несколько странная и крайне задумчивая.  Требуется 64-битный экземпляр со включенной галкой "EFI" в настройках материнской платы.  ISO рекомендуется подключать через SATA-, а не IDE-контроллер (спасибо vsu@ за подсказку).  Диск — динамический на 10Gb или больше, чтобы по возможности отрабатывала авторазбивка.


Получить доступ к настройкам можно быстрым нажатием F8, пока промелькивает логотип VirtualBox.
Получить доступ к настройкам можно быстрым нажатием F8, пока промелькивает логотип VirtualBox.
Строка 51: Строка 51:
== Самостоятельная сборка ==
== Самостоятельная сборка ==


Достаточно хорошая поддержка сборки UEFI-загружаемых гибридных образов<ref>бывшие здесь секции HOWTO и про live-uefi-*.iso уже окультурены и обобщены в указанных пакетах, потому более не требуются</ref> добавлена в текущий {{pkg|mkimage}}; в качестве образца можно использовать example4 из документации пакета, а суть требуемых изменений в профиле сводится к:
Достаточно хорошая поддержка сборки UEFI-загружаемых гибридных образов добавлена в текущий {{pkg|mkimage}}; в качестве образца можно использовать example4 из документации пакета, а суть требуемых изменений в профиле сводится к:
* добавлению в инсталер {{pkg|dosfstools}} ({{pkg|efibootmgr}} будет вытянут текущим {{pkg|alterator-grub}});
* добавлению в инсталер {{pkg|dosfstools}} ({{pkg|efibootmgr}} будет вытянут текущим {{pkg|alterator-grub}});
* добавлению в базовую устанавливаемую систему {{pkg|grub2-efi}} и {{pkg|installer-feature-efi-stage3}};
* добавлению в базовую устанавливаемую систему {{pkg|grub2-efi}} и {{pkg|installer-feature-efi-stage3}};
Строка 58: Строка 58:


Для сборки образов требуется свежий Sisyphus либо p7/branch, в т.ч.:
Для сборки образов требуется свежий Sisyphus либо p7/branch, в т.ч.:
* {{pkg|mkimage}} 0.2.5+ (для SB — 0.2.7+)<ref>рекомендуется также {{pkg|mkimage-profiles}} 0.9.8+ или свежий гит {{pkg|mkimage-profiles-desktop}}</ref>
* {{pkg|mkimage}} 0.2.5+ (для SB — 0.2.12+)<ref>рекомендуется также {{pkg|mkimage-profiles}} 1.1.18+ или свежий гит {{pkg|mkimage-profiles-desktop}}</ref>
* {{pkg|xorriso}} 1.2.4[http://git.altlinux.org/people/mike/packages/?p=libisofs.git;a=commitdiff;h=786a1a8f11f1e6d0e39daf938992f104fdf25a5d +]
* {{pkg|xorriso}} 1.2.4[http://git.altlinux.org/people/mike/packages/?p=libisofs.git;a=commitdiff;h=786a1a8f11f1e6d0e39daf938992f104fdf25a5d +]
* {{pkg|syslinux}} 4.04-alt5+<ref>в апстриме syslinux нужное добавлено в 4.06</ref>
* {{pkg|syslinux}} 4.04-alt5+<ref>в апстриме syslinux нужное добавлено в 4.06</ref>

Версия от 14:57, 30 декабря 2013


Поддержка UEFI в ALT Linux

Цель

Обеспечить возможность совместного использования с ОС, установленными в UEFI-режиме, без мороки с переключением BIOS/UEFI; предоставить возможность использования UEFI-«железа» без CSM[1].

Основная статья: План выпуска бранча p7

Состояние

Релиз. Нормально устанавливаемся на bare metal и в мультизагрузку с, например, openSUSE 12.2 и Windows 8.

Результат

По состоянию на декабрь 2013 года поддержка UEFI включена в Centaurus 7.0.1 и регулярные сборки образов, включая возможность работы без отключения Secure Boot.

Реализация поддерживает запись на CD/DVD-болванку или USB-флэшку и загрузку в EFI mode или Legacy mode. Проверена на ASUS/Gigabyte/Lenovo UEFI и MacBook/MBP EFI.

Применение

Как обычно; отличия состоят в разбивке и установке загрузчика:

  • требуется подключить в /boot/efi существующий или новый FAT32-раздел с GPT-типом ESP (EFI System Partition) размером ~100—500 Мб;
  • модуль установки загрузчика предложит вариант «EFI», с которым стоит согласиться[2].

Следует устанавливать 64-битные дистрибутивы; запуск 32-битного дистрибутива возможен в режиме BIOS/CSM (Compatibility Support Module), а в режиме EFI такая установка не будет сочтена загрузочной[3].

При загрузке с образа в EFI-режиме загрузчиком будет графический rEFInd либо совсем текстовое ELILO, в BIOS-режиме — синяя текстовая либо брендированная графическая менюшка SYSLINUX.

После собственно загрузки и логина именем root в EFI-режиме должны отработать команды

modprobe efivars
efibootmgr

— в BIOS-режиме вторая из них скажет

Fatal: Couldn't open either sysfs or procfs directories for accessing EFI variables.
Try 'modprobe efivars' as root.
Внимание! Не пытайтесь запускать efibootmgr на оборудовании Apple,
известны случаи повреждения его firmware таким образом.

При загрузке установленной системы типичным на сегодня будет почти обычный grub2-efi.

Secure Boot

Если нет доверия к Microsoft, можно подтвердить (enroll) сертификат ALT Linux, добавленный по пути EFI/enroll/altlinux.cer. Пошаговая процедура описана на rodsbooks.com (потребуются не все шаги). В выпусках 7.0.2 и регулярных сборках с конца ноября используется подписанный shim с этим сертификатом, т.е. отключать SecureBoot необязательно.

VirtualBox

Желательна ветка 4.2 и выше, в 4.1 реализация EFI несколько странная и крайне задумчивая. Требуется 64-битный экземпляр со включенной галкой "EFI" в настройках материнской платы. ISO рекомендуется подключать через SATA-, а не IDE-контроллер (спасибо vsu@ за подсказку). Диск — динамический на 10Gb или больше, чтобы по возможности отрабатывала авторазбивка.

Получить доступ к настройкам можно быстрым нажатием F8, пока промелькивает логотип VirtualBox.

Следует отметить, что NVRAM на виртуальном железе VirtualBox не переживает выключение экземпляра (это известная проблема). Т.е. установщик/efibootmgr не может добавить ссылку на grub, а если добавить её руками, она исчезнет при следующем запуске экземпляра. Объезд упомянут по этой же ссылке: выполнить в ещё загруженной системе

echo "fs0:\EFI\altlinux\grubx64.efi" > /boot/efi/startup.nsh
Основная статья: VirtualBox

KVM

Нужно загрузить экземпляр kvm с TianoCore firmware.

Основная статья: KVM

Самостоятельная сборка

Достаточно хорошая поддержка сборки UEFI-загружаемых гибридных образов добавлена в текущий mkimage; в качестве образца можно использовать example4 из документации пакета, а суть требуемых изменений в профиле сводится к:

  • добавлению в инсталер dosfstools (efibootmgr будет вытянут текущим alterator-grub);
  • добавлению в базовую устанавливаемую систему grub2-efi и installer-feature-efi-stage3;
  • добавлению в modules для propagator kernel/drivers/firmware ради efivars.ko;
  • передаче mkimage переменной EFI_BOOTLOADER со значением elilo либо refind[4][5].

Для сборки образов требуется свежий Sisyphus либо p7/branch, в т.ч.:

  • mkimage 0.2.5+ (для SB — 0.2.12+)[6]
  • xorriso 1.2.4+
  • syslinux 4.04-alt5+[7]
  • evms 2.5.5-alt30+
  • guile-evms 0.4-alt14+
  • alterator-vm 0.4.2-alt1+
Основная статья: mkimage-profiles


Примечания

  1. 2013: такое уже начинает появляться
  2. при установке загрузчика в MBR или раздел, а не ESP, загрузка в EFI mode не пройдёт
  3. OVMF в составе virtualbox обычно загружает EFI Shell, а поведение фирмварей на железе варьирует от представления меню пунктов загрузки до перехода к настройкам
  4. другие типы бутлоадеров ещё не реализованы, см. tools/mki-copy-efiboot
  5. что автоматически приведёт к добавлению в BOOT_TYPE значения efiboot
  6. рекомендуется также mkimage-profiles 1.1.18+ или свежий гит mkimage-profiles-desktop
  7. в апстриме syslinux нужное добавлено в 4.06

Ссылки

Важное:

Разное: