Лия Роу (Leah Rowe), основной разработчик и основатель дистрибутива Libreboot, представила первый выпуск проекта Canoeboot, развиваемого параллельно с Libreboot и позиционируемого как полностью свободная сборка Libreboot, соответствующая требованиям Фонда СПО к полностью свободным дистрибутивам. Ранее проект был опубликован под именем “неофициальный GNU Boot”, но после поступления претензии от создателей GNU Boot вначале был переименован в nonGeNUine Boot, а теперь в Canoeboot. Выпуск Canoeboot 20231026 основан на недавней версии Libreboot 20231021, из которой удалены компоненты и изменения, не соответствующие критериям Фонда СПО.
Необходимость в создании отдельной сборки Libreboot объясняется тем, что сформированные Фондом СПО требования к свободным дистрибутивам не допускают поставку бинарных прошивок (firmware) и любых бинарных компонентов драйверов. При этом начиная с прошлого года проект Libreboot перешёл на более прагматичные правила использования бинарных компонентов, позволившие заметно расширить спектр поддерживаемого аппаратного обеспечения. Новой целью проекта Libreboot стала поддержка всего оборудования, поддерживаемого в CoreBoot, за исключением бинарных компонентов, влияющих на безопасность и надёжность (например, в Libreboot используется me_cleaner для отключения Intel ME). При таком подходе Libreboot потерял статус полностью свободного дистрибутива с позиции Фонда Свободного ПО.
Устройства, поддерживаемые в Canoeboot (платы, которые поддерживаются в Libreboot, но не поддерживаются в Canoeboot зачёркнуты):
- Серверные материнские платы:
- ASUS KFSN4-DRE
- ASUS KGPE-D16
- Десктоп-системы:
- Gigabyte GA-G41M-ES2L;
- Acer G43T-AM3;
- Intel D510MO / D410PT;
- Apple iMac 5,2;
- HP Elite 8200 SFF/MT;
- HP Elite 8300 USDT;
- ASUS KCMA-D8;
- Dell Precision T1650.
- Ноутбуки:
- ThinkPad X60 / X60S / X60 Tablet;
- ThinkPad T60;
- Lenovo ThinkPad X200 / X200S / X200 / X220 / X230 Tablet;
- Lenovo ThinkPad X301;
- Lenovo ThinkPad R400;
- Lenovo ThinkPad T400 / T400S / T420 / T420S / T430 / T440;
- Lenovo ThinkPad T500 / T530;
- Lenovo ThinkPad W500 / W530 / W541;
- Lenovo ThinkPad R500;
- HP EliteBook 2560p / 2570p / 2170p / 8470p / Folio 9470m;
- Dell Latitute E6400 / E6430;
- Apple MacBook1 и MacBook2;
- ASUS Chromebook Flip C101 (ARM);
- Samsung Chromebook Plus (ARM).
Основные изменения:
- Осуществлён переход на находящуюся в разработке ветку загрузчика GRUB 2.12-rc. Добавлена поддержка шифрованных разделов в формате LUKS2, использующих механизм формирования ключа на базе алгоритма argon2 (ранее поддерживались только конфигурации с PBKDF2).
- Упрощены команды сборочного инструментария lbmk (Libreboot build system), например, вместо “./build boot roms” теперь можно указывать “./build roms”. Число сборочных скриптов сокращено с 50 до 12. Проведены два аудита сборочной системы lbmk, позволившие на 50% сократить размер кода и повысить производительность.
- Проведена реструктуризация каталогов. Содержимое каталога “resources/scripts/” вынесено в отдельный каталог “script/”, а каталог “resources/” переименован в “config/”, так как там остались только файлы конфигурации и патчи (патчи планируют вынести в каталог “patch/”). Файлы IFD/GbE перенесены в каталог “config/ifd/”. Специфичные для производителей бинарные файлы отделены от файлов IFD/GbE и размещены в каталоге “vendorfiles/”.
- Добавлена поддержка сборки serprog-прошивок для плат на базе микроконтроллеров RP2040 (pico-serprog) и STM32 (stm32-vserprog). Протокол serprog поддерживается в
flashrom и применяется для прошивки SPI flash. - Загрузчик U-Boot, используемый в прошивках для Chromebook, обновлён до версии 2023.10.
- Выполнена синхронизация с репозиторием Coreboot по состоянию на 12 октября, а с репозиторием SeaBIOS – по состоянию на 24 августа.
- По сравнению с Libreboot удалена поддержка устройств:
- Dell Latitude E6430
- Dell Precision T1650
- HP EliteBook 2170p
- HP EliteBook 2560p
- HP EliteBook 2570p
- HP EliteBook 8470p
- HP 8200 SFF
- HP 8300 USDT
- HP EliteBook 9470m
- Lenovo ThinkPad T420
- Lenovo ThinkPad T420S
- Lenovo ThinkPad T430
- Lenovo ThinkPad T440p
- Lenovo ThinkPad T520
- Lenovo ThinkPad T530
- Lenovo ThinkPad W530
- Lenovo ThinkPad W541
- Lenovo ThinkPad X220/X220T
- Lenovo ThinkPad X230/X230T