Skip to content

goneal26/bongos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BongOS -> A 64-bit hobby operating system

Temporary Logo

Pronounced like the drum or the drug apparatus, whichever you prefer.

Built off of the Limine bootloader C template.

Roadmap

  • Limine Bare Bones Kernel & build system
  • VGA graphics interfacing
  • Basic font rendering (8x8 font)
  • Basic text buffer display + formatted printing
  • Getting and displaying hardware info (memory layout, tables, etc)
  • Interrupt handling and keyboard input

Dependencies

Any make command depends on GNU make (gmake) and is expected to be run using it. This usually means using make on most GNU/Linux distros, or gmake on other non-GNU systems.

It is recommended to build this project using a standard UNIX-like system, using a Clang/LLVM toolchain capable of cross compilation (the default, unless KCC and/or KLD are explicitly set).

Additionally, building an ISO with make all requires xorriso, and building a HDD/USB image with make all-hdd requires sgdisk (usually from gdisk or gptfdisk packages) and mtools.

Architectural targets

The KARCH make variable determines the target architecture to build the kernel and image for.

The default KARCH is x86_64. Other options include: aarch64, loongarch64, and riscv64.

Makefile targets

Running make all will compile the kernel (from the kernel/ directory) and then generate a bootable ISO image.

Running make all-hdd will compile the kernel and then generate a raw image suitable to be flashed onto a USB stick or hard drive/SSD.

Running make run will build the kernel and a bootable ISO (equivalent to make all) and then run it using qemu (if installed).

Running make run-hdd will build the kernel and a raw HDD image (equivalent to make all-hdd) and then run it using qemu (if installed).

For x86_64, the run-bios and run-hdd-bios targets are equivalent to their non -bios counterparts except that they boot qemu using the default SeaBIOS firmware instead of OVMF.

About

BongOS, A 64-bit hobby OS

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published