“To use LLVM to build BaseTools, first set the CLANG_BIN environment value, and add “CXX=llvm” to choose LLVM compiler set when using make command.”
🤦♀️ Ugh. The Makefile sees CXX=llvm and then sets BUILD_CC=clang and BUILD_CXX=clang++.
I’m working to update it so people just pass CC=clang CXX=clang++ as _I_ at least would expect it to work.
This past week I’ve been learning how to use the EDK2 host-based unit testing framework.
It’s been _so_ useful: I’m working on adding a library to parse data from SPD EEPROMs on memory modules and create SMBIOS tables from it. Thanks to Thaiphoon Burner I now have a good set of test data and my unit tests have been finding several bugs.
I’ll definitely be using the framework more in future: there’s far too little unit testing in the embedded world.
#EDK2 #uefi #unittesing #ddr4 #ddr5 #smbios
Finally migrated my home router from #OpenWRT to now running #OpenBSD.
It's a Macchiatobin board on which I've compiled and flashed #EDK2 #UEFI firmware. It really does feel like an #x86 server.
#OpenWRT has been great. But it's very finicky to upgrade and maintain. I'm looking forward to #OpenBSD and less maintenance.
#openwrt #openbsd #EDK2 #uefi #x86
I've been maintaining the #EDK2 #UEFI firmware in #Buildroot. I will be packaging it in #pkgsrc as well to make it more available.
In the #ARM64 space, however, EDK2 has still got very limited use. It works well on #MachiatoBin, #Honeycomb and #Socionext #Synquacer hardware. But those are inaccessible and expensive platforms.
#EDK2 #uefi #buildroot #pkgsrc #arm64 #machiatobin #honeycomb #socionext #synquacer