Dit artikel beschrijft een presentatie voor de Open Source Firmware Conference 2026 over het implementeren van native DRAM-initialisatie in coreboot. Traditioneel was dit proces afhankelijk van propriëtaire 'MRC'-blobs vanwege de complexiteit van het programmeren van geheugencontroller-registers en het uitvoeren van trainingsalgoritmen.
Met het Intel Bay Trail-platform als casestudy wordt toegelicht hoe moderne reverse engineering-technieken kunnen worden ingezet om deze blobs te vervangen door open source-code. Centraal staan het gebruik van SerialICE in combinatie met de Unicorn Engine voor het traceren van binaries, en de inzet van LLM-gebaseerde tooling om prototypes sneller om te zetten naar werkende coreboot-implementaties.
Oude SoC nieuwe trucjes leren: Native raminit voor Bay Trail
Er bestaat al lange tijd een stedelijke legende over de moeilijkheid van het implementeren van native DRAM-initialisatie in coreboot.
Firmware-code die in dit stadium wordt uitgevoerd, heeft geen hoofdgeheugen tot তার beschikking en moet werken met een kleine hoeveelheid CPU-cache als gegevensopslag. DRAM-initialisatie houdt in:
- het ophalen van de kenmerken van de geheugenchips voor elk kanaal;
- het berekenen van gemeenschappelijke parameters;
- het programmeren van een grote set geheugencontroller-registers;
- het programmeren van de DDR PHY-registers.
Daarna moet een reeks SoC-specifieke en JEDEC-standaard trainingsalgoritmen worden uitgevoerd om empirisch een set vertragingen (delays) af te leiden op basis van beperkte hardware-signaalfeedback.
Al dit was lange tijd ondergebracht in propriëtaire "MRC"-blobs met nauwelijks documentatie, wat de meeste coreboot-ontwikkelaars ervan weerhield om open source-code voor deze taak te produceren.
Casestudy: Intel Bay Trail
Deze presentatie richt zich op het meer dan 10 jaar oude Intel Bay Trail-platform, dat in coreboot aanwezig is sinds de release van Chromebooks met deze SoC. In plaats van te focussen op de low-level details van dit specifieke platform, wordt dit gebruikt als casestudy voor moderne technieken voor reverse engineering en de daaropvolgende implementatie van open source-code voor deze DRAM-initialisatiestap.
De presentatie zal het volgende belichten:
- Het gebruik van SerialICE, gemoderniseerd met de Unicorn Engine, om de werking van binary blobs te traceren.
- Hoe dit kan worden hergebruikt en gecombineerd met nieuwe harnesses om het snel prototypen van de kernalgoritmen mogelijk te maken.
- Hoe zorgvuldig en sceptisch gebruik van moderne LLM-gebaseerde tooling de conversie versnelde naar een werkende coreboot-implementatie van prototype-kwaliteit, die in staat is om op meerdere echte boards te booten.
Over de spreker: Mate Kukri
Mate is een software engineer met een passie voor het bouwen van een veiligere en betrouwbaardere computerervaring door free en open source naar de laagste niveaus van de softwarestack te brengen. Hij is de afgelopen jaren een contributor aan het coreboot-project geweest, waarbij hij heeft gewerkt aan het retrofitten van coreboot op diverse bestaande hardware. Momenteel is hij een maintainer van de bootloader-stack en UEFI Secure Boot-ondersteuning in een grote Linux-distributie.
Sessie-informatie
- Datum: 16 september 2026
- Tijd: 16:50–17:20
- Locatie: Main Room // Grote Zaal
- Type: Presentatie
Oude SoC nieuwe trucjes leren: Native raminit voor Bay Trail
Er bestaat al lange tijd een stedelijke legende over de moeilijkheid van het implementeren van native DRAM-initialisatie in coreboot.
Firmware-code die in dit stadium wordt uitgevoerd, heeft geen hoofdgeheugen tot তার beschikking en moet werken met een kleine hoeveelheid CPU-cache als gegevensopslag. DRAM-initialisatie houdt in:
- het ophalen van de kenmerken van de geheugenchips voor elk kanaal;
- het berekenen van gemeenschappelijke parameters;
- het programmeren van een grote set geheugencontroller-registers;
- het programmeren van de DDR PHY-registers.
Daarna moet een reeks SoC-specifieke en JEDEC-standaard trainingsalgoritmen worden uitgevoerd om empirisch een set vertragingen (delays) af te leiden op basis van beperkte hardware-signaalfeedback.
Al dit was lange tijd ondergebracht in propriëtaire "MRC"-blobs met nauwelijks documentatie, wat de meeste coreboot-ontwikkelaars ervan weerhield om open source-code voor deze taak te produceren.
Casestudy: Intel Bay Trail
Deze presentatie richt zich op het meer dan 10 jaar oude Intel Bay Trail-platform, dat in coreboot aanwezig is sinds de release van Chromebooks met deze SoC. In plaats van te focussen op de low-level details van dit specifieke platform, wordt dit gebruikt als casestudy voor moderne technieken voor reverse engineering en de daaropvolgende implementatie van open source-code voor deze DRAM-initialisatiestap.
De presentatie zal het volgende belichten:
- Het gebruik van SerialICE, gemoderniseerd met de Unicorn Engine, om de werking van binary blobs te traceren.
- Hoe dit kan worden hergebruikt en gecombineerd met nieuwe harnesses om het snel prototypen van de kernalgoritmen mogelijk te maken.
- Hoe zorgvuldig en sceptisch gebruik van moderne LLM-gebaseerde tooling de conversie versnelde naar een werkende coreboot-implementatie van prototype-kwaliteit, die in staat is om op meerdere echte boards te booten.
Over de spreker: Mate Kukri
Mate is een software engineer met een passie voor het bouwen van een veiligere en betrouwbaardere computerervaring door free en open source naar de laagste niveaus van de softwarestack te brengen. Hij is de afgelopen jaren een contributor aan het coreboot-project geweest, waarbij hij heeft gewerkt aan het retrofitten van coreboot op diverse bestaande hardware. Momenteel is hij een maintainer van de bootloader-stack en UEFI Secure Boot-ondersteuning in een grote Linux-distributie.
Sessie-informatie
- Datum: 16 september 2026
- Tijd: 16:50–17:20
- Locatie: Main Room // Grote Zaal
- Type: Presentatie