A toy operating system with threading, paging, device drivers, and more!
geckOS is targeted for Intel IA32 x86 processors and is written primarily
in C and x86 Assembly. It runs best on a simulated i386 system!
Complaining and using geckOS requires the following packages:
- dosfstools: For formatting
the final
geckOSimage filesystem - GRUB Legacy:
For providing a bootloader for
geckOScompatible for the targeted system - QEMU: For simulating and testing
geckOS- This may require installing additional emulator support for the
i386system
- This may require installing additional emulator support for the
The other dependencies should be standard across most Unix installs, such as
gcc, make, gzip, sudo, etc.
Building geckOS is as simple as the following:
cd geckOS/
makeNote, this will prompt you for your sudo password to run the GRUB
installation during the image build process.
If you are nervous about randomly cloning a Github project, trying to compile
it, only to be asked for sudo, you can look at what commands are run as
root by inspecting mk/mkimg/mkimg.sh.
You may need to tweak or modify the following paths:
GRUB_SRCinmk/mkimg/mkimg.sh: This points to the location for GRUB Legacy's boot stages (this seems to work on Arch Linux with thegrub-legacyAUR package!)