Close

Running on a real PC!

A project log for MooseOS

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

ethan-zhangEthan Zhang 10/11/2025 at 07:100 Comments

On the school holidays, a friend told me that he was scrapping a 2009 HP PC that he received from another friend. Since I've always wanted to run MooseOS on a real machine, I persuaded him to give it to me. On quick examination, it was using onboard VGA graphics (the graphics card broke), and had decent specs, which meant it was perfect for my OS.

The PC was in a poor state. Almost everything, including the disk and the NIC, was loose. The power button was broken, a gigantic fan was screwed onto the motherboard, and somehow my friend managed to solder a microwave button as a placeholder power switch. Funnily enough, the microwave button broke, and every time I wanted to turn on the computer, I had to short two oddly placed wires (they were sticking out from the front of the PC!). 

The first thing I did was to wire a real button onto the PC.

Once I got the PC running, I copied MooseOS's .iso file into a USB and managed to boot it up. However, it returned with a General Protection Fault.

After some examination, I found out the bug was caused by initialising the PICs in the wrong order. Somehow, I never noticed it, and QEMU wasn't triggering a GPE. It was a quick and easy fix, and I got MooseOS running!

Caption: The PC running MooseOS. Notice how the clock still says the year is 2009. The PC itself is in shambles, but it still works. Notice the microwave button sticking out of the top. 

Discussions