UEFI: различия между версиями
м (→Linkdump: ->Ссылки) |
м (версии относятся к сборке; добавил ссылку на m-p в качестве основного рекомендуемого варианта) |
||
Строка 8: | Строка 8: | ||
== Состояние == | == Состояние == | ||
Бета. Нормально устанавливаемся на bare metal и в мультизагрузку с, например, openSUSE 12.2 и Windows 8. | Бета. Нормально устанавливаемся на bare metal и в мультизагрузку с, например, openSUSE 12.2 и Windows 8. | ||
== Результат == | == Результат == | ||
Строка 57: | Строка 49: | ||
<div id="HOWTO"></div> | <div id="HOWTO"></div> | ||
== Самостоятельная сборка == | == Самостоятельная сборка == | ||
Достаточно хорошая поддержка сборки UEFI-загружаемых гибридных образов<ref>бывшие здесь секции HOWTO и про live-uefi-*.iso уже окультурены и обобщены в указанных пакетах, потому более не требуются</ref> добавлена в {{pkg|mkimage}} | |||
Достаточно хорошая поддержка сборки UEFI-загружаемых гибридных образов<ref>бывшие здесь секции HOWTO и про live-uefi-*.iso уже окультурены и обобщены в указанных пакетах, потому более не требуются</ref> добавлена в текущий {{pkg|mkimage}}; в качестве образца можно использовать example4 из документации пакета, а суть требуемых изменений в профиле сводится к: | |||
* добавлению в инсталер {{pkg|dosfstools}} ({{pkg|efibootmgr}} будет вытянут текущим {{pkg|alterator-grub}}); | * добавлению в инсталер {{pkg|dosfstools}} ({{pkg|efibootmgr}} будет вытянут текущим {{pkg|alterator-grub}}); | ||
* добавлению в базовую устанавливаемую систему {{pkg|grub2-efi}}; | * добавлению в базовую устанавливаемую систему {{pkg|grub2-efi}}; | ||
Строка 63: | Строка 56: | ||
* передаче mkimage переменной <tt>EFI_BOOTLOADER</tt> со значением <tt>elilo</tt> либо <tt>refind</tt><ref>другие типы бутлоадеров ещё не реализованы, см. {{path|tools/mki-copy-efiboot}}</ref><ref>что автоматически приведёт к добавлению в <tt>BOOT_TYPE</tt> значения <tt>efiboot</tt></ref>. | * передаче mkimage переменной <tt>EFI_BOOTLOADER</tt> со значением <tt>elilo</tt> либо <tt>refind</tt><ref>другие типы бутлоадеров ещё не реализованы, см. {{path|tools/mki-copy-efiboot}}</ref><ref>что автоматически приведёт к добавлению в <tt>BOOT_TYPE</tt> значения <tt>efiboot</tt></ref>. | ||
Для сборки образов требуется свежий Sisyphus, в т.ч.: | |||
* {{pkg|mkimage}} 0.2.5+ (для SB — 0.2.7+)<ref>рекомендуется также {{pkg|mkimage-profiles}} 0.9.8+ или свежий гит {{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|syslinux}} 4.04-alt5+<ref>в апстриме syslinux нужное добавлено в 4.06</ref> | |||
* {{pkg|evms}} 2.5.5-alt30+ | |||
* {{pkg|guile-evms}} 0.4-alt14+ | |||
* {{pkg|alterator-vm}} 0.4.2-alt1+ | |||
{{main|m-p|l1=mkimage-profiles}} | |||
== Примечания == | == Примечания == | ||
<references /> | <references /> |
Версия от 13:55, 22 февраля 2013
Поддержка UEFI в ALT Linux
Цель
Обеспечить возможность совместного использования с ОС, установленными в UEFI-режиме, без мороки с переключением BIOS/UEFI; предоставить возможность использования UEFI-«железа» без CSM[1].
Состояние
Бета. Нормально устанавливаемся на bare metal и в мультизагрузку с, например, openSUSE 12.2 и Windows 8.
Результат
По состоянию на февраль 2013 года начальная поддержка UEFI включена в альфу Centaurus 7.0 и регулярные сборки образов; последние также включают подписанный загрузчик и публичный ключ для работы без отключения Secure Boot.
Реализация поддерживает запись на CD/DVD-болванку или USB-флэшку и загрузку в EFI mode или Legacy mode. Проверена на ASUS/Gigabyte 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.
При загрузке установленной системы типичным на сегодня будет почти обычный grub2-efi.
Secure Boot
Если нет возможности отключить (зайдя в firmware по Del или F2 и поискав в секциях Boot или Security) — можно подтвердить ключ, добавленный в упомянутые сборки по пути EFI/enroll/altlinux.cer[4]. Пошаговая процедура описана на rodsbooks.com (потребуются не все шаги).
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
KVM
Нужно загрузить экземпляр kvm с TianoCore firmware.
Самостоятельная сборка
Достаточно хорошая поддержка сборки UEFI-загружаемых гибридных образов[5] добавлена в текущий mkimage; в качестве образца можно использовать example4 из документации пакета, а суть требуемых изменений в профиле сводится к:
- добавлению в инсталер dosfstools (efibootmgr будет вытянут текущим alterator-grub);
- добавлению в базовую устанавливаемую систему grub2-efi;
- добавлению в modules для propagator kernel/drivers/firmware ради efivars.ko;
- передаче mkimage переменной EFI_BOOTLOADER со значением elilo либо refind[6][7].
Для сборки образов требуется свежий Sisyphus, в т.ч.:
- mkimage 0.2.5+ (для SB — 0.2.7+)[8]
- xorriso 1.2.4+
- syslinux 4.04-alt5+[9]
- evms 2.5.5-alt30+
- guile-evms 0.4-alt14+
- alterator-vm 0.4.2-alt1+
Примечания
- ↑ 2013: такое уже начинает появляться
- ↑ при установке загрузчика в MBR или раздел, а не ESP, загрузка в EFI mode не пройдёт
- ↑ OVMF в составе virtualbox обычно загружает EFI Shell, а поведение фирмварей на железе варьирует от представления меню пунктов загрузки до перехода к настройкам
- ↑ в ранних образах был по пути EFI/BOOT/altlinux.cer
- ↑ бывшие здесь секции HOWTO и про live-uefi-*.iso уже окультурены и обобщены в указанных пакетах, потому более не требуются
- ↑ другие типы бутлоадеров ещё не реализованы, см. tools/mki-copy-efiboot
- ↑ что автоматически приведёт к добавлению в BOOT_TYPE значения efiboot
- ↑ рекомендуется также mkimage-profiles 0.9.8+ или свежий гит mkimage-profiles-desktop
- ↑ в апстриме syslinux нужное добавлено в 4.06
Ссылки
Важное:
- http://www.rodsbooks.com/efi-bootloaders/index.html
- https://wiki.archlinux.org/index.php/UEFI
- http://en.opensuse.org/KVM/UEFI_Secure_boot_using_qemu-kvm
Разное:
- http://www.opennet.ru/opennews/art.shtml?num=36068
- http://www.suse.com/blogs/uefi-secure-boot-overview/
- http://www.suse.com/blogs/uefi-secure-boot-plan/
- http://www.suse.com/blogs/uefi-secure-boot-details/
- http://cdimage.debian.org/cdimage/unofficial/efi-development/upload4/
- https://help.ubuntu.com/community/UEFI
- https://wiki.archlinux.org/index.php/UEFI_Bootloaders
- https://felipec.wordpress.com/2012/01/18/efi-adventures/
- http://mjg59.dreamwidth.org/4957.html
- http://download.intel.com/support/motherboards/server/sr9000mk4u/sb/d71474002_sr9000mk4u_efi_userguide.pdf
- MacBookPro