uefi-d: Booting to D

Jakub Szewczyk via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Tue Feb 9 12:15:03 PST 2016


I have started developing a hobbyist OS, I decided I want it to 
be written in D, but the only possibility to write code that can 
be ran by the UEFI chips that replaced BIOS in modern computers 
was to use either assembler or C. (For example: 
http://wiki.osdev.org/UEFI or 
http://wiki.osdev.org/UEFI_Bare_Bones) That's why I'm working on 
creating a D binding for the UEFI specifications (official SDK is 
at http://www.tianocore.org/), right now the project is in the 
stage, where it can be used for real applications, but only the 
most important headers have corresponding modules, I'm gradually 
porting more and more parts of the SDK to D.
I have included a sample, working, hello world application with a 
build script that works on x86-64-bit linux in the project. I 
don't have the time and resources to extensively test the 
correctness of these bindings, so if anyone else is interested in 
UEFI programming, I'm willing to cooperate :-).

Github link: https://github.com/kubasz/uefi-d

Code.dlang.org project: http://code.dlang.org/packages/uefi-d

Proof of this working on real hardware: 
https://raw.githubusercontent.com/kubasz/uefi-d/ded021fe036eccdf2ae377bc75df057e76c90198/sample/photo.jpg

Useful wiki with a good documentation of the API: 
http://wiki.phoenix.com/wiki/index.php/Category:UEFI_2.0


More information about the Digitalmars-d-announce mailing list