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.1 Для загрузки на Raspberry Pi 3 (B и B+) переименуйте config_RPi3.txt в config.txt
4.2 Для загрузки на Raspberry Pi 4B (4 ГБ ОЗУ) переименуйте config_RPi4_ACPI.txt в config.txt
4.3 Для загрузки на Raspberry Pi 4B (1-2 ГБ ОЗУ) переименуйте config_RPi4.txt в config.txt
5. Безопасно извлеките 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. Raspberry Pi на пути к ARM ServerReady: представлена бета-версия прошивки UEFI+ACPI