Table of Contents
A simple 32 bit hobby OS made in order to learn more about how CPUs and OSes work.
- GNU make
sudo apt install make
- GCC
sudo apt install gcc
- QEMU
sudo apt install qemu-system
- GDB (optional)
sudo apt install gdb
- To emulate the OS in qemu:
make
- To write the OS to /dev/sda ENSURE THAT /dev/sda (or whatever you have changed this to in the makefile) is not a system critical disk:
then enter your password when prompted
make install
- To debug the OS:
then in a separate shell:
make debug
bash gdb.sh
- Basic boot and hello world
- Switch to 32 bit
- VESA support for higher resolutions
- Virtual memory
- Advanced hardware detection
- PCI
- ACPI
- Basic power management
- Reading from secondary storage
- Basic filesystem support
- Multiprocessing
- IPC
- Multithreading
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Please note that this is a hobby project and is not even fully featured enough to turn off yet
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE.txt
for more information.
Project Link: https://github.com/MarkRoss470/pepperOS