RaspberryPi and UEFI
Введение
Использование UEFI для одноплатных компьютеров позволит их рассматривать как полноценную альтернативу PC, снизит порог вхождения для пользователей. В данной статье описывается текущий статус поддержки дистрибутивов Альт на UEFI для Raspberry Pi 3 и 4.
Установка UEFI
Необходимо скачать архив RPi_EFI.zip
Этот архив содержит в себе UEFI (edk2) для Raspberry Pi 3B, 3B+ и 4B из пакета edk2-rpi
Порядок установки:
1. Отформатируйте microSD-карту c таблицей разделов ms-dos (MBR). GPT не поддерживается!!!
2. Создайте первым раздел с типом FAT16 (0x0f) или FAT32 (0x0c). Загрузка с ESP-раздела невозможна.
3. Распакуйте на созданный раздел этот архив.
4. Безопасно извлеките micro-SD карту и вставьте в целевую плату.
Особенности UEFI для Raspberry Pi 3:
1. На Raspberry Pi 3 поддерживается загрузка как с SD-карты, так и с USB. В initrd должны быть модули ядра: dwc2 и bcm2835.
Проблемы:
1. На Raspberry Pi 4 с 4 ГБ ОЗУ объём доступной оперативной памяти ограничен 3 ГБ, т.к. используется неполное ACPI (параметр сборки edk2: -D ACPI_BASIC_MODE_ENABLE=1). Иначе не работает USB.
2. На Raspberry Pi 4 загрузка работает только с USB. Поэтому сценарий использования такой: micro-SD карта минимального объёма, которая форматируется в MBR FAT32, на неё распаковывается этот архив, а уже операционная система устанавливается на USB-накопитель. Для загрузки с USB накопителя в initrd должны быть модули ядра: xhci-plat-hcd и bcm2835.
3. На Raspberry Pi 4 wi-fi и ethernet не работают.
4. Общая проблема: при загрузке Linux не загружается drm-модуль, аппаратное ускорение не доступно. Разрешение экрана доступно только одно - то, которое было у grub. Поэтому в /etc/sysconfig/grub2 пропишите:
GRUB_GFXMODE=auto
Или же конкретное разрешение экрана.
И обновите конфиг grub:
update-grub
Для того, чтобы изображение выводилось на весь экран в config.txt уже прописан параметр:
disable_overscan=1
Доступные сборки
Доступны регулярные сборки (гибридные ISO-образы) на базе репозитория Сизиф для записи на USB-flash.
Особенности установки
1. Не используйте авторазметку диска в инсталляторе, если устанавливаете на micro-SD карту.
2. Не удаляйте, не форматируйте первый раздел micro-SD карты. Не меняйте на нём флаги раздела. На нём находится EFI. Также его можно использовать как /boot/efi
3. При установке загрузчика выберите EFI (для съёмных устройств).
4. После установки в сборках без NetworkManager оказывается не настроенный интерфейс eth1. Причина в том, что при установке интерфейсу присваивается имя eth0 и настраивается eth0. Необходимо перенести eth0 в eth1:
mv /etc/net/ifaces/eth0 /etc/net/ifaces/eth1
Ссылки
1. Raspberry Pi на пути к ARM ServerReady: представлена бета-версия прошивки UEFI+ACPI