Polo
First steps into OSDev. The project is based off of the excellent OSDev's Meaty skeleton project.
Features Implemented:
- Loads GDT
- Serial Driver
- Minimal libc (See the libc project)
- Interrupt Handlers
- Minmal Keyboard support
- Timer
Features planned:
- Expand keyboard support so it deals with modifer keys properly (Shifts, Ctrls etc.)
- Memory manager
- Minimal Unix like shell
- Expand libc or integrate a 3rd party libc
- File system Driver
Nice to haves:
- Networking
- VGA support
- Userspace programs
Requirements
- Cross compiler
- qemu / bochs. I'd recommend bochs. If you're using Ubuntu, apt-get bochs sets bochs up without support for debugging. I'm not sure if it's possible to add debugging to this, so I compiled bochs from source with the appropriate configuration options. These are pretty complicated, so I'd recommend OSDev's bochs ./configure guide.
Running
- FIX THIS BEFORE PROCEEDING
- Please navigate to ./bochs.sh and provide the right path to your bochs installation. This could've been done in so many better ways (environment variables, putting bochs in bin etc. but I was just excited to get going)
- ./build_master.sh should clean, compile everything and run bochs. If you'd like to run qemu instead, change the last step in ./build_master.sh to run ./qemu.sh instead.