Skip to content

spratt/argOS

Repository files navigation

argOS

This is a really generic Operating System (argOS), which is intended to be a playground in which to write operating system code.

The minimal build/run process is:

$ ./setup.sh gcc xorriso grub
$ make
$ make qemu

For detailed build instructions, see the BUILD.md file.

For license information, see the LICENSE file.

For contributor information, see the CONTRIBUTORS file.

WhereAmI

  • Successfully cross-compile elf64 kernel
  • Setup 32-bit multiboot bootstrap
  • Fully automate build process
  • Separate src and bin
  • Call custom code
  • Switch to long mode
  • ???
  • Profit

Resources

Phil Opp got me started:

I took a course with Prof Karsten, who wrote an experimental kernel from which I stole some configuration:

Of course, osdev.org provided so many resources:

And I found a bunch of miscellaneous resources on the way:

Attribution

Some of this code comes from existing sources, this is limited to:

from http://wiki.osdev.org/Creating_a_64-bit_kernel#link.ld

  • link.ld

from http://os.phil-opp.com/multiboot-kernel.html

  • bootstrap.ld
  • multiboot_header.asm
  • boot.asm

from https://git.uwaterloo.ca/mkarsten/KOS

  • some of setup.sh

About

a really generic OS

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published