Зараз завантаження через UEFI стало стандартом, а плати з тільки UEFI BIOS — звичним явищем. Ще у 2017 році компанія Intel оголосила, що з 2020 року підтримка застарілого BIOS (Legacy BIOS) буде припинена.
- https://www.anandtech.com/show/12068/intel-to-remove-bios-support-from-uefi-by-2020 - http://www.uefi.org/sites/default/files/resources/Brian_Richardson_Intel_Final.pdf
У зв’язку з цим, у системі збірки OpenWrt з’явилася можливість створення UEFI-завантажуваних образів.
Починаючи з коміту
a6b7c3e672764858fd294998406ae791f5964b4a
OpenWrt підтримує створення UEFI-сумісних образів для x86-64. Завантажити їх можна зі сторінки:
downloads.openwrt.org → snapshots → x86/64.
Щоб створити UEFI-сумісний образ:
За потреби оберіть додаткові пакети. Збережіть зміни і вийдіть з `menuconfig`.
Запустіть збірку як звичайно:
make
Після завершення збірки, результати з’являться в каталозі: `./bin/targets/x86/64/`
Увага: створений файл — це disk image, а не partition image!
Його потрібно записувати на пристрій цілком, наприклад `/dev/sdX`, а не на розділ `/dev/sdX1`.
Щоб створити UEFI-образ із підтримкою Secure Boot, використовуйте спеціальний форк OpenWrt із відповідним feeds-репозиторієм у гілці `feature-uefi-secure-boot`.
Цей форк базується на гілці Jow-staging та підтримує:
##### Покрокова інструкція
# Додайте форк репозиторію git remote add devrepo https://github.com/alive4ever/openwrt git fetch devrepo git checkout feature-uefi-secure-boot # Налаштуйте feeds echo 'src-git packages https://github.com/alive4ever/packages;feature-uefi-secure-boot' > ./feeds.conf ./scripts/feeds clean ./scripts/feeds update packages ./scripts/feeds update -i ./scripts/feeds install -a # Запустіть конфігурацію make menuconfig # Оберіть Target: x86, Subtarget: x86_64 # Увімкніть: 'Sign EFI executable binaries' у Target Images # У розділі Utilities оберіть: efitools, efibootmgr, efivar, sbsigntool
##### Генерація сертифіката
# Створіть ключ і сертифікат для підпису OLD_UMASK=$(umask) umask 077 openssl req -new -x509 -sha256 \ -days 90 -out ./db.crt \ -subj '/CN=secure boot signing certificate' \ -newkey rsa:2048 -nodes \ -keyout ./db.key umask $OLD_UMASK
##### Збірка образу
make
Щоб мати змогу завантажити цей образ на реальному UEFI-пристрої:
Після імпорту — система зможе надійно та безпечно завантажитися з цього образу.