A basic 64bit multiboot2 compliant operating system for learning purposes
This operating system was never meant to be used in the real world but rather as a hobby project
- coreutils such as
echo
- fairly stable TUI
- basic VGA and keyboard driver
- support for 64 bit
- 16 bit color
- GRUB bootloader
make sure you have docker and qemu installed and running
- download and extract the source
- cd into source directory
- create a docker image using the provided Dockerfile (you only have to do this once!)
docker build buildenv -t sinx-buildenv
- enter the docker environment
- Linux or MacOS:
docker run --rm -it -v "$(pwd)":/root/env sinx-buildenv
- Windows (CMD):
docker run --rm -it -v "%cd%":/root/env sinx-buildenv
- run makefile inside docker env
make build
- exit docker environment
exit
- run the iso!
sudo qemu-system-x86_64 kernel.iso
- do a very basic code organize
- make a keyboard driver
- add a more advanced keybord input system
- clean up / remove print.c
- make a red screen of death / kernel panic state
- add the ability to BACKSPACE
- do a complete filetree redisign
- GET 64 BIT/LONG MODE SUPPORT
- make a basic input system
- rewrite VGA driver for stability/font control
- make a more advanced userland shell
- add basic command framework
- fix enter and backspace bugs
- add a blinking cursor
- read from RTC
- rewrite all c code into file.c and file.h respectively
- create/modify a better build system
- cache all unmodded files for faster compile time
- add inturupts
- test on real hardware
- organize functions into appropriate files
- add full ASCII compatability
- convert project to camelCase
- organize #include statements to remove repeats
- add POSIX compliance
- add filesystem support