Building, Running, and Deployment
BoredOS uses a single top-level Makefile to orchestrate the build process.
The Build Process
When you run make in the root directory, the following stages occur automatically:
- Limine Setup (
limine-setup): If the Limine bootloader binaries are missing, the Makefile automatically clones the appropriate Limine binary release from GitHub and compiles its host utility. - Kernel Compilation:
All
.cfiles insrc/core,src/mem,src/dev,src/sys,src/fs,src/wm, andsrc/netare compiled into object files (.o) inside thebuild/directory usingx86_64-elf-gcc. - Kernel Assembly:
All
.asmfiles insrc/arch/are assembled into object files usingnasm. - Kernel Linking:
x86_64-elf-ldlinks the kernel object files together, instructed by thelinker.ldscript, outputting theboredos.elfkernel binary. - Userland Compilation:
The Makefile shifts into the
src/userlanddirectory, compiling the customlibcand generatingbin/*.elfexecutable user applications. - ISO Generation:
The
iso_rootdirectory is staged. The kernel, Limine configuration, fonts, images, and userland applications are copied in. Finally,xorrisogenerates theboredos.isobootable image.
Minimum System Requirements
To run BoredOS successfully (either in emulation or on bare metal), your target machine should meet the following minimum requirements:
- CPU: An
x86_64(64-bit) compatible processor. - Memory: Approximately
~256 MBof RAM. - Display: A VGA-compatible display (required for the GUI Window Manager).
- Networking (Optional): A compatible Network Interface Card (NIC) is required if you want to use the networking stack (e.g., an Intel E1000 or similar supported by the
net/nic/drivers). Networking is not strictly required for the OS to boot or run offline applications.
Running in Emulation
To test the generated ISO quickly without real hardware, use the QEMU emulator:
make run
This command automatically detects your operating system and invokes QEMU with specific arguments:
-m 4G: Allocates 4 Gigabytes of RAM.-cdrom boredos.iso: Mounts the built OS image as a CD-ROM.-smp 4: Enables 4 CPU cores.
Running on Bare Metal
CAUTION
Running hobby operating systems on real hardware is at your own risk and may cause undefined behavior.
To boot BoredOS on a physical PC:
- Build the OS to get
boredos.iso. - Use a flashing tool like Balena Etcher or
ddto write the ISO to a USB flash drive. - Reboot your target computer, enter the BIOS/UEFI setup.
- Boot Configuration: BoredOS supports booting on both modern UEFI systems and legacy BIOS systems natively via Limine. Ensure Secure Boot is disabled in your firmware settings.
- Select the USB drive from the boot menu.