UqaabOS is a foundational operating system developed entirely from scratch, adhering to a Monolithic Kernel Architecture. It is a passion-driven project aimed at gaining deeper insights into Kernel Development. Designed and build with emphasis on learning and understanding the inner workings of an operating system via practical implementation.
- Hardware Support:
- Drivers: Support for Keyboard, Mouse, VGA, and ATA.
- Interrupts: Handling for hardware interrupts and exceptions.
- GDT: Global Descriptor Table for memory segmentation.
- Memory Management:
- Memory Management: Basic memory management functionalities.
- Multitasking:
- Multitasking: Cooperative multitasking to run multiple tasks.
- File System:
- FAT32: Support for the FAT32 file system.
- Terminal:
- Terminal: A command-line interface for interacting with the OS.
You will need the following tools:
make
nasm
qemu-system-i386
grub-mkrescue
- An
i686-elf
cross-compiler toolchain (gcc
,g++
,ld
)
-
Clone the repository:
git clone https://github.com/faishal882/uqaabOS.git cd uqaabOS
-
Build the OS:
make
This will create the
build/uqaabOS.iso
file. -
Run with QEMU:
qemu-system-i386 -cdrom build/uqaabOS.iso
-
Run with the virtual harddrive attached
qemu-system-i386 -cdrom build/uqaabOS.iso -drive file=hdd.img,format=raw -boot d
Made with ❤️ by the UqaabOS Team