Skip to content

A toy operating system with threading, paging, device drivers, and more!

License

Notifications You must be signed in to change notification settings

alexoneill/geckOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

geckOS

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!

Requirements

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

The other dependencies should be standard across most Unix installs, such as gcc, make, gzip, sudo, etc.

Building geckOS

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 in mk/mkimg/mkimg.sh: This points to the location for GRUB Legacy's boot stages (this seems to work on Arch Linux with the grub-legacy AUR package!)

About

A toy operating system with threading, paging, device drivers, and more!

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published