De community rond de Raspberry Pi (en bij uitbreiding van Linux) heeft een enorme hoeveelheid ontwikkelingen voortgebracht, maar er is één element waarmee ze een harde strijd voert: de propriëtaire code die hoort bij de VideoCore IV-videomodem van Broadcom, aanwezig in alle modellen van de computer. De klassieke kortcut om functionaliteit te verkrijgen is wat velen een “blob” noemen. Toch heeft ontwikkelaar Kristina Brooks een voorlopige bootloader gepubliceerd die probeert dat slot op de Raspberry Pi te doorbreken.
De strijd tegen propriëtaire code
De Free Software Foundation beschrijft de noodzaak van propriëtaire code om een Raspberry Pi correct te initialiseren als een “fatale fout”. Natuurlijk verleent de FSF dezelfde hoffelijkheid aan alle hardware die zich in een vergelijkbare situatie bevindt, maar we moeten erkennen dat het duel tussen de community en de Broadcom VPU veel langer heeft geduurd dan we aanvankelijk dachten (de Raspberry Pi is al meer dan vier jaar op de markt). De voordelen van de Raspberry Pi zijn groot genoeg om deze technische beperking even terzijde te leggen, maar als het doel is om het platform “meer open” te maken, zal er vroeg of laat mee gekruist moeten worden.
Een open bootloader voor de Raspberry Pi
Daarop richt het recente werk van programmeur Kristina Brooks zich. Zij publiceerde op GitHub een open source bootloader voor de VPU in de Raspberry Pi. De officiële beschrijving spreekt van een kleine firmware die UART, de PLL van de VPU en ARM kan initialiseren. Het idee is dat deze nieuwe code de bootcode.bin vervangt op de SD-kaart van de Raspberry Pi, en hij is al getest op de drie belangrijkste generaties van de computer. Brooks legt uit dat UART noodzakelijk is als je enige uitvoer verwacht, en er blijven nog verschillende problemen op te lossen, waaronder het juiste gebruik van de kernen in de nieuwere modellen van de RPi.
Het spreekt voor zich dat de ontwikkeling nog ver verwijderd is van het kunnen opstarten van Linux, en vanuit een bepaald oogpunt is het logischer om de bootloader op het niveau van een proof-of-concept te plaatsen.
De richting van het project is juist, en zowel Brooks als de andere medewerkers die op de GitHub-pagina worden genoemd, hebben formidabel werk geleverd, inclusief Broadcom zelf voor het vrijgeven van de “headers”. Kritieke aspecten zoals hardwareversnelling en codec-ondersteuning staan nog op de agenda en misschien bereiken ze nooit een optimale positie, maar met geduld, inspanning en meer samenwerking zullen we zeker een meer open Raspberry Pi zien dan vandaag de dag.