Skip to content
master
Go to file
Code

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
doc
Feb 19, 2020
Feb 14, 2020
Jan 21, 2020
Feb 14, 2020
May 4, 2020
Jan 30, 2020

README.md

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.

Discord - Website

Prerequisites

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

Summary

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 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

./build.sh

Installing the system to the disk image

./install.sh 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

./install-demos.sh

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

Test the install with QEMU

./run.sh

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

./vmdk.sh

Build a VDI disk image for VirtualBox

./vdi.sh

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

// EOF

About

Build scripts for BareMetal OS and its related utilities

Topics

Resources

License

Packages

No packages published

Languages

You can’t perform that action at this time.