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.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
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
You can build the kernel just like this.
ARCH=i686 make build-kernel
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.
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.
- 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.
This project is licensed under the MIT License - see the LICENSE.md file for details
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!