Skip to content

boazsegev/BoOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bo OS - a toy project for OS development

This is a toy project.

I rewrote the UEFI headers from the specification (UEFI Specs. v.2.6) so that this UEFI application wouldn't require any libraries to compile.

This project requires mtoc to finish compilation (converts the MachO executable to a Portable Executable format with the EFI required header). You can compile it as part of the developer tools from OpenSource Apple.

Testing is performed using QEMU emulation together with the OVMF boot-loader, which is part of the tianocore EDK II package.

My goals:

  • Create a simple OS that prints "BoOS booted" and nothing else.
  • Get clang to run on BoOS.
  • Slowly work my way towards and implement some core POSIX features.

You can use the boilerplate version if you want to start your own kernel and OS using macOS and clang for your development environment. However, the UEFI headers might have been updated since then, so you might want to copy these from the latest version.

Resources I read through or used: