The Generally Lightweight Disk Operating System(GL-DOS, for short) is a simplistic 32-bit operating system with its own bootloader(no GRUB or anything), a pet project of mine.
The following features are what came off the top of my head at the time of writing this. After that's done, I might work on additional(optional) features for the OS, although I will most likely not complicate it much, since I never planned for this to become an actual useful OS.
- Bootloader
- Real-mode I/O routines
- Switch to Protected mode
- Protected-mode I/O routines
- Basic kernel
- Basic graphics
- Keyboard drivers
- Keycode to ASCII
- Reliable syscalls
To run GL-DOS, you need the following tools:
First, compile GL-DOS:
$ make os
You'll have to set the QEMULIB variable to your QEMU directory(or wherever it stores its runtime libraries). By default, as can be seen, QEMULIB follows the Windows directory convention, since I'm emulating GL-DOS on my host OS - Windows.
After that's done, you can run GL-DOS using the following command:
$ make run
Unlike most of my other projects, this one is compiled on WSL(Windows subsystem for Linux). Since GL-DOS will be emulated using QEMU, you shouldn't worry about any possible incompatibilities when compiling on either Linux, Windows or MacOS, since neither of the two will be directly running any code(QEMU will be doing that). You just need the aforementioned tools and you're all set.