Le premier firmware (bootloader) libre pour Raspberry Pi
Raspberry Pi

La communauté qui se trouve derrière le Raspberry Pi (et par extension, Linux) a donné lieu à une quantité extraordinaire de développements, mais s'il y a un élément avec lequel elle mène une dure bataille, c'est le code propriétaire associé au module vidéo VideoCore IV de Broadcom présent dans tous les modèles de l'ordinateur. Le raccourci classique pour obtenir des fonctionnalités est ce que beaucoup appellent un « blob », cependant, la développeuse Kristina Brooks a publié un bootloader préliminaire qui cherche à briser ce verrou sur le Raspberry Pi.

La Free Software Foundation décrit la nécessité de code propriétaire pour initialiser correctement un Raspberry Pi comme un « défaut fatal ». Bien sûr, la FSF étend la même courtoisie à tout matériel qui se trouve dans une situation similaire, bien que nous devions reconnaître que le duel entre la communauté et le VPU Broadcom Videocore IV s'est étendu bien plus longtemps que nous l'imaginions au départ (le Raspberry Pi est sur le marché depuis plus de quatre ans). Les avantages du Raspberry Pi sont suffisamment grands pour mettre de côté cette restriction technique, mais si l'objectif est de rendre la plateforme « plus ouverte », tôt ou tard il faudra croiser le fer avec elle.

Le premier firmware (bootloader) libre pour Raspberry Pi
Une avancée relativement petite si l'on considère le temps que le Raspberry Pi est disponible, mais une avancée quand même.

C'est à cela que vise le récent travail de la programmatrice Kristina Brooks, qui a publié sur GitHub un bootloader open source pour le VPU du Raspberry Pi. La description officielle nous parle d'un petit firmware capable d'initialiser l'UART, le PLL du VPU et ARM. L'idée est que ce nouveau code remplace le bootcode.bin que l'on trouve sur la carte SD du Raspberry Pi, et il a déjà été testé sur les trois principales générations de l'ordinateur. Brooks explique qu'il est nécessaire d'avoir l'UART si l'on espère une sorte de sortie, et il reste plusieurs problèmes à résoudre, notamment l'utilisation appropriée des cœurs dans les nouveaux modèles du Raspberry Pi.

Inutile de dire que le développement est encore loin de pouvoir démarrer Linux, et d'un certain point de vue, je pense qu'il est plus logique de placer le bootloader au niveau d'une preuve de concept. La direction du projet est la bonne, et tant Brooks que le reste des collaborateurs mentionnés sur la page GitHub ont fait un travail formidable, y compris Broadcom elle-même pour avoir libéré les « headers ». Des aspects critiques comme l'accélération matérielle et le support des codecs sont encore en suspens, et il se peut qu'ils n'atteignent jamais une position optimale, mais avec de la patience, des efforts et une plus grande collaboration, nous verrons certainement un Raspberry Pi plus ouvert qu'il ne l'est aujourd'hui.

Site officiel :