Проект по созданию полностью открытой прошивки для Raspberry Pi
В рамках проекта rpi-open-firmware развивается полностью открытый вариант прошивки для плат Raspberry Pi, способный загружать Linux без использования блобов. Несмотря на использование открытых драйверов, работа видеоускорителя VideoCore IV обеспечивается загружаемой в GPU проприетарной прошивке. По сути на стороне GPU выполняется подобие операционной системы, на стороне которой реализована поддержка OpenGL ES, а суть работы открытых драйверов сводится к трансляции вызовов к закрытой прошивке. Задачей проекта rpi-open-firmware является создание простейшего свободного варианта подобной прошивки для GPU.
Rpi-open-firmware заменяет штатную прошивку, поставляемую в файле bootcode.bin, и состоит из двух частей: компонентов для выполнения на стороне GPU VC4 и компоненты, исполняемые на центральном процессоре (обеспечивают инициализацию контроллера eMMC и доступ к загрузочному разделу). На текущем уровне развития прошивка позволяет загружать урезанное ядро Linux, инициализирует UART, VPU PLL (PLLC), eMMC и процессор ARM, включает драйверы для управления частотой процессора и энергопотреблением. Частично реализована поддержка USB PHY (выполняется инициализация, но для полноценной работы не хватает работы с DMA). Прошивка совместима с Raspberry Pi 1 Model B, Raspberry Pi 2 Model B и Raspberry Pi 3 Model B. Исходные тексты поставляются под лицензией GPLv2+.