Skip to content

earowley/TartOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TartOS

About

TartOS is a bare-metal operating system for the RPi3, written in Zig. It is inspired by bztsrc's bare metal tutorial and draws heavily from it. If you're familiar with it already, the code in this repo should seem very familiar. The goals of this project are to:

  • Achieve the same level of functionality as the bare metal tutorial
  • Use Zig features to make hardware interaction nicer
    • Should serve as a nice base for writing a bare metal program

Building

Building requires the following utils (which may be installed from a package manager):

  • Zig 0.11.0
  • make
  • llvm (for llvm-objcopy)

To start, check that Zig is correctly setup:

# This should make an ELF file under zig-out/bin
$ make appelf
$ file zig-out/bin/app
zig-out/bin/app: ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), statically linked, with debug_info, not stripped

Next, check that llvm-objcopy can create the image file, or use another solution to do so:

# This should make an image file under artifacts/ called app.img
$ make app

Running

If you have QEMU installed, you can run the OS directly, but keep in mind that emulation is limited in features:

$ make run

Resources

About

Tiny hobby OS for the RPi3

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published