Skip to content
This repository has been archived by the owner. It is now read-only.


Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

BareMetal OS

Build scripts for BareMetal OS and its related utilities - The easiest way to create a BareMetal OS environment. These scripts will download and compile all of the components needed for using BareMetal OS.


The scripts in this repo depend on a Debian-based Linux system like Ubuntu or Elementary. macOS is also supported to build and test the OS and Assembly applications if you are using Homebrew.

  • NASM - Assembly compiler to build the loader and kernel, as well as the apps written in Assembly.
  • QEMU - Computer emulator if you plan on running the OS for quick testing.
  • GCC - C compiler for building C/C++ applications.
  • Git - Version control software for pulling the source code from GitHub.

In Linux this can be completed with the following command:

sudo apt install nasm qemu-system-x86 gcc git


BareMetal OS consists of several different projects:

  • Pure64 - The boot sector and software loader. Pure64 is responsible for getting the computer into a clean 64-bit state on boot up.
  • BareMetal - The kernel.
  • Monitor - A simple command line interface.
  • BMFS - The BareMetal File System utility.
  • BareMetal-Demo - Various test/example programs.

Initial configuration

git clone
cd BareMetal-OS
./ automatically runs the build and install scripts. Once the setup is complete you can execute the script to verify that everything installed correctly.

Rebuilding the source code


Installing the system to the disk image

./ monitor.bin

This command installs the boot sector, loader (Pure64), kernel, and simple command line interface (Monitor) to the disk image.

Installing the demos to the disk image


This command installs the various test/example programs to the disk image.

Test the install with QEMU


Test the install with Bochs

Bochs does not support SATA drives so this is only useful for debugging the kernel. You will need bochs and bochs-x installed.

bochs -f bochs.cfg

Build a VMDK disk image for VMware


Build a VDI disk image for VirtualBox


The VDI script rewrites the disk ID of the VDI file to avoid the disk warning in VirtualBox.

// EOF


Build scripts for BareMetal OS and its related utilities








No packages published