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.
- 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.
git clone https://github.com/ReturnInfinity/BareMetal-OS.git cd BareMetal-OS ./setup.sh
setup.sh automatically runs the build and install scripts. Once the setup is complete you can execute the run.sh script to verify that everything installed correctly.
Rebuilding the source code
Installing the system to the disk image
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 -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.