Skip to content
SydOS kernel
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.vscode VSCode stuff May 19, 2018
acpica More ACPICA stuff Mar 27, 2018
isofiles/boot/grub
res
scripts Update GCC version for i486 toolchain May 22, 2018
src Free ARP frame after use May 19, 2018
.gitignore
DISK1.IMA Test floppy file Jan 17, 2018
Doxyfile
LICENSE.md
Makefile Generate ISO with i686 kernel now May 5, 2018
README.md
fat12.img fat12 test floppy Feb 12, 2018

README.md

SydOS

Welcome to SydOS! Me, along with a couple of friends (and hopefully you!) are working on a small toy kernel. Someday it might be suitable for some form of use. I'm targetting getting it to run inside virtual machines as the guest, but you're welcome to play around and make it work on real machines if you want. I'll probably PR them.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Prerequisites

You will need the NASM compiler, QEMU, and an i686-elf toolchain. You can compile the others if you wanted to, but it's not needed. NOTE: the toolchain build script will place all binaries in $HOME/tools. You must add this to your PATH variable.

brew install nasm qemu
cd scripts && ./toolchain-i686.sh

Building

You can build the kernel just like this.

ARCH=i686 make build-kernel

Testing

You can do two types of "tests". A quick one, and a GDB one. The following will just boot QEMU, pointed to the kernel. If anything goes wrong, there's no way to really debug it, but it's decent to see if your code completely breaks everything. Serial will be pointed to stdio on your console. If you're using a text editor or IDE this probably won't work.

make test

A more indepth GDB based testing session can be achieved like below. No fancy serial redirection exists here, since the console will be assigned to GDB. Serial will be inside QEMU's view options.

make debug

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Authors

  • Sydney Erickson - Project Owner and Manager - 1byte2bytes
  • John Davis - Computer Wizard, driver writer and debugger - Goldfish64

See also the list of contributors who participated in this project.

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Acknowledgments

Thanks to the osdev.org wiki, osdever.net, James Molloy's kernel tutorials, BrokenThorn Entertainment's OS dev tutorials, and everyone else online who's put up resources or asked questions we've had before. Keep being curious, it helps us all!

You can’t perform that action at this time.