Skip to content

smcpolin/gopher-os

 
 

Repository files navigation

gopher-os

Build Status codecov Go Report Card License: MIT

The goal of this project is to build a 64-bit POSIX-compliant tick-less kernel with a Linux-compatible syscall implementation using Go.

This project is not about building yet another OS but rather exists to serve as proof that Go is indeed a suitable tool for writing low level code that runs at ring-0.

Note: This project is still in the early stages of development and is not yet in a usable state. In fact, if you build the ISO and boot it, the kernel will eventually panic with a Kmain returned error.

To find out more about the current project status and feature roadmap take a look at the status page.

Building and running gopher-os

TLDR version: make run-qemu or make run-vbox.

A detailed guide about building, running and debugging gopher-os on Linux/OSX as well as the list of supported boot command line options are available here.

How does it look?

80x25 (stadard 8x16 font): 80x25 with standard 8x16 font

1024x768 (10x18 font): 1024x768x32 with 10x18 font

2560x1600 (14x28 font): retina mode (2560x1600) with 14x28 font

Contributing

gopher-os is Open Source. Feel free to contribute! To get started take a look at the contributing guide.

Licence

gopher-os is distributed under the MIT license.

About

A proof of concept OS written in Go

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 94.8%
  • Assembly 4.2%
  • Other 1.0%