Skip to content
A barebones OS kernel written in go
Branch: master
Clone or download
Latest commit 61643a0 Aug 26, 2015
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
runtime
.gitignore add .gitignore Aug 24, 2015
LICENSE add LICENSE Aug 25, 2015
Makefile fix make runtime/libgo.so Aug 25, 2015
README.md Update README.md Aug 26, 2015
boot.asm add boot.asm and linker.ld Aug 24, 2015
kernel.go fix make entry Aug 25, 2015
linker.ld add boot.asm and linker.ld Aug 24, 2015

README.md

bootgo

A barebones OS kernel written in go

The kernel contains some code modified from osdev barebones tutorial http://wiki.osdev.org/Bare_Bones

setup

To compile bootgo You need a gccgo cross-compiler(my gccgo version is 5.2.0)

  1. build a target i386/i686 gcc cross-compiler with go enabled, follow the article http://wiki.osdev.org/GCC_Cross-Compiler (gcc 5.2.0 is recommended)

  2. install nasm from your repositories

  3. install qemu for test

compiler & run!

  1. compile: make GCC=i686-elf-gcc GCCGO=i686-elf-gccgo, replace GCC and GCCGO with your binary name

  2. run on qemu: make run-qemu QEMU=qemu-system-i386, replace QEMU with your target binary name

You can’t perform that action at this time.