Coreboot Hikes The Bay Trail To DRAM Initialization


This article is written on an open-source working system, however not an open-source machine — the BIOS isn’t open-source, and even when it had been supported by the coreboot venture (previously LinuxBIOS), there would nonetheless be an entire host of binary blobs required to get it besides. On one classic structure, there’s one much less blob, as coreboot can now initialize DRAM on Intel Bay Trail SOCs, as [Mate Kukri] introduced in a chat on the current Open Source Firmware Conference.

Bay Trail isn’t precisely cutting-edge {hardware}, to make sure — the SoCs are over a decade outdated at this level, and had been solely utilized in low-performance cell functions like Chromebooks. On the opposite hand, coreboot has been on Chromebooks for at the least as lengthy. Getting DRAM arrange is tough as a result of, nicely, you don’t have any reminiscence to work with till you do. Traditionally, the way in which you probably did that was to name on one of many many proprietary ‘binary blobs’ supplied with subsequent to no documentation by the producer. Reverse engineering that requires some critical bus-sluthing, which was completed in software program with the SerialICE debugger and the Unicorn Engine CPU emulator. The discuss centered on that method and the way it could be utilized extra broadly, quite than entering into the weeds of easy methods to do DRAM init on one out of date SOC. At some level the entire thing must be archived on the OFSC website so these of us not fortunate sufficient to attend in individual can hear what [Mate] — and all the opposite audio system — needed to say.

Because coreboot is open, you are able to do much more with it than a proprietary UEFI firmware — for instance, you may select to not initialize RAM in any respect, and run entirely in the CPU’s cache. You may — in fact — run DOOM. If you wish to be binary-blob-free, you’ll want to search out {hardware} supported by the extra hardcore Libreboot distribution of coreboot, which admits no binary blobs in any respect. When it involves Libreboot, it might actually be easier to install than to search out appropriate {hardware} nowadays.



Source link