Close

Adding ELF support

A project log for MooseOS

x86 Operating System that runs on QEMU, Bochs and physical PCs.

ethan-zhangEthan Zhang 10/11/2025 at 06:270 Comments

Retroactive Log – September 22nd (Reconstructed from memory and commit logs)

Before I talk about adding ELF file support, I wanted to mention the numerous bug fixes and small features I added. The features I added include:

While some of the features are pretty big, I just wanted to mention them as 'minor additions' because adding them was all relatively straightforward, and there are no stories to share when adding them. Nevertheless, they were a great experience.

Now back to the main topic of this log. I implemented ELF file parsing and validation through reading, interpreting, and making my own copy of the example code. You see, I had made some friends on this OSDev journey, and I was able to use their operating systems as a great base for my ELF code. Since I had a working base, understanding the theory and implementing them were a breeze. 

I managed to get ELF files loaded through a small script which generated an ELF upload code, which would upload the ELF file onto MooseOS during the next boot. Then, I added a load command in the terminal, which would validate the ELF file and output its validation results.

This marks the end of the series of retroactive logs.

Discussions