Выпуск CoreBoot 4.6
Состоялся релиз проекта CoreBoot 4.6, в рамках которого разрабатывается свободная альтернатива проприетарным прошивкам и BIOS. В создании новой версии приняло участие более 120 разработчиков, которые подготовили 1708 изменений.
Основные новшества:
- Продолжается работа по сокращению зависимости от бинарных прошивок и проприетарных компонентов. CoreBoot пытается заменить закрытые компоненты прошивок на свободные реализации, что не всегда возможно. Например, прошивки Intel ME, AMD PSP и микрокод верифицируются по цифровой подписи. Для Intel ME удалось найти обходной вариант, позволяющий запустить сокращённый вариант прошивки, сводящий функциональность и возможности Intel ME к минимуму, необходимому для работы системы. Для чистки прошивки использован инструментарий me_cleaner, который удаляет все разделы прошивки, кроме базового FTPR. В итоге размер загружаемых в Intel ME данных удалось сократить с 5 Мб до 80 Кб. Решение работает на системах Intel от Nehalem до Skylake;
- Представлен новый обработчик (payload) cbui, построенный с использованием графической библиотеки nuklear и позволяющий создавать интерфейсы взаимодействия с пользователем, управляемые при помощи клавиатуры и мыши. До свежих выпусков обновлены обработчики SeaBIOS, FiLO и iPXE. Во всех обработчиках для загрузки теперь по умолчанию используется HTTPS. Для упрощения разработки собственных обработчиков проектом развивается библиотека libpayload, которая была расширена в рамках подготовки к замене старого обработчика nvramcui;
- Обновлён сборочный инструментарий, осуществлён переход с GCC 5.3.0 на GCC 6.3.0. Обновлены версии GMP, MPFR, Binutils, GDB, IASL и Clang;
- CoreBoot теперь может использоваться совместно с реализацией UEFI от проекта Tianocore EDK2, но данная возможность пока не интегрирована в систему сборки, так как EDK2 поддерживает сборку с использованием GCC 4.8 (coreboot использует GCC 6.3.0) и наблюдаются отдельные проблемы с совместимостью (интеграцию планируется обеспечить до конца лета);
- Продолжено развитие отладочной консоли cbmem: обеспечено сохранение состояния консоли между перезагрузками и добавлена возможность работы с консолью на поздних стадиях инициализации. Для ядра Linux разработан специальный драйвер, который позволяет обойтись без старой утилиты cbmem для чтения данных из области cbmem;
- Представлена новая утилита blobtool, которая пока используется для генерации конфигурации контроллеров Gigabit Ethernet на некоторых старых материнских платах, но может быть применима для компиляции/декомпиляции любых других бинарных данных на основе заданной спецификации;
- В инструментарий добавлена поддержка разработки компонентов на языке Ada;
- В код для прямого взаимодействия с графической подсистемой добавлена поддержка EDID;
- Решены проблемы с инициализацией памяти на платформах sandybridge и ivybridge, а также добавлена поддержка дополнительных модулей ОЗУ;
- Расширена поддержка оборудования. Добавлена поддержка контроллера roda/it8518, новых типов устройств SPI, сенсорных экранов WCOM, тачпадов ALPS, GPIO IRQ, I2C HID, добавлен новый драйвер для SD/MMC/eMMC. В порт для RISC-V добавлена поддержка SoC lowRISC. Расширена поддержка Intel-систем на базе Sandybridge, Apollolake, Quark, Skylake и Kabylake, а также новых чипов AMD (00670F00);
- Добавлена поддержка материнских плат:
- AMD Gardenia — AMD Stoney Ridge
- Asus F2A85_M_PRO — AMD Family 15h Trinity
- Asus P5GC_MX — Intel Socket LGA775
- Gigabyte GA_945GCM_S2L & GA_945GCM_S2C — Intel Socket LGA775
- Google Auron: Yuna, Gandof, Lulu — Intel Broadwell
- Google Beltino: McCloud, Monroe, Tricky, Zako — Intel Haswell
- Google Eve — Intel Kabylake
- Google Fizz — Intel Kabylake
- Google Gru: Bob, Scarlet — RockChip RK3399
- Google Oak: Hana, Rowan — MediaTek MT8173
- Google Poppy & Soraka — Intel Kabylake
- Google Rambi: Banjo, Candy, Clapper, Glimmer, Gnawty, Heli, Kip, Orco, Quawks, Squawks, Sumo, Swanky, & Winky — Intel Baytrail
- Google Reef: Sand, Snappy, Nasher — Intel Apollolake
- Google Slippy: Leon, Wolf — Intel Haswell
- Intel KBLRVP3 & KBLRVP7 — Intel Kabylake
- Intel LEAFHILL — Intel Apollolake
- Intel MINNOW3 — Intel Apollolake
- Lenovo L520: Intel Sandybridge
- Lenovo S230U: Intel Ivybridge
- Lenovo X1 Carbon GEN1 — Intel Sandybridge
- lowRISC NEXYS4DDR — RiscV
- MSI MS7721 — AMD Bulldozer
- PC Engines APU2 — AMD Jaguar
- RODA RV11 & RW11 — Intel Ivybridge
- Sapphire Pure Platinum H61 — Intel Socket LGA1155
- Siemens MC_APL1 — Intel Apollolake
- Прекращена поддержка материнских плат:
- Google Auron
- Google Veyron Chromeboxes: Brain, Danger, Emile, Romy
- Google Veyron Test Projects: Gus, Nicky, Pinky, Shark, Thea
Выпуск протестирован на материнских платах и устройствах:
- asus kgpe-d16
- asus kfsn4-dre
- asus p5gc-mx
- lenovo x60
- lenovo x230
- asrock e350m1
- lenovo t420
- lenovo x200
- sapphire pureplatinumh61
- gigabyte ga-945gcm-s2l
- lenovo t400
- lenovo t60
- gigabyte m57sli
- purism librem13
- gigabyte ga-g41m-es2l
- google slippy
- intel d510mo
- эмулятор q35, развиваемый проектом QEMU.
© OpenNet