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
geckOS
image filesystem - GRUB Legacy:
For providing a bootloader for
geckOS
compatible for the targeted system - QEMU: For simulating and testing
geckOS
- This may require installing additional emulator support for the
i386
system
- 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/
make
Note, 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_SRC
inmk/mkimg/mkimg.sh
: This points to the location for GRUB Legacy's boot stages (this seems to work on Arch Linux with thegrub-legacy
AUR package!)