A lightweight, hobbyist x86_32 operating system built from scratch. SecureOS focuses on learning low-level system architecture, kernel development, and bare-metal programming without relying on standard libraries.
- Multiboot Compliant: Boots seamlessly via the GRUB bootloader on x86 architectures.
- Custom Splash Screen: Features direct bitmap graphics support (
logo.bmp) initialized right at boot time. - Streamlined Build System: A unified
Makefileautomates compilation, linking, and ISO generation. - Pure Low-Level: Written strictly in C, x86 Assembly and Rust with zero external runtime dependencies.
| Component | Technology | Description |
|---|---|---|
| Kernel Logic | C (GCC Cross-Compiler), Rust(Rustup Toolchain-Manager) | Core operating system logic, drivers, complex logic |
| Bootstrapping | x86 Assembly (NASM) | Entry point |
| Bootloader | GNU GRUB | Multiboot-compliant system loading |
| Emulation | QEMU | Fast hardware emulation for testing |
SecureOS/
āāā kernel/ # Core OS source code (C & Assembly)
| āāā include/ # Headers for self-made libraries
| āāā ... # Headers
| āāā lib/ # Self-made libraries
| āāā ... # Libraries
| āāā entry.asm # GRUB entry file
| āāā kernel.c # Main kernel file
| āāā linker # Linkerfile
āāā iso_root/ # Root directory for building the ISO image
ā āāā boot/ # Boot directory for GRUB
ā āāā grub/ # GRUB bootloader configuration files
| āāā grub.cfg# GRUB config file
|āā LICENSE # MIT License
āāā Makefile # Automation script for building and cleaning
āāā logo.bmp/logo.raw # Boot screen logo image
āāā README.md # Project documentation
To compile and run SecureOS, you need a Linux environment (or Windows Subsystem for Linux - WSL) with the following tools installed:
# Ubuntu / Debian setup
sudo apt update
sudo apt install build-essential nasm xorriso qemu-system-x86-
Clone the repository:
git clone https://github.com/EngineGames-Development/SecureOS.git cd SecureOS -
Compile the source and generate the bootable ISO:
make
You can boot and test your freshly compiled secureos.iso directly using QEMU:
qemu-system-i386 -cdrom secureos.iso
- Set up GRUB and Multiboot headers
- Implement automated Makefile build system
- Basic Assembly bootloader entry point
- Implement Interrupt Descriptor Table (IDT) & ISRs
- Create a basic VGA text-mode driver for screen output
- Basic Keyboard driver input handling
- Basic Sound(beep) driver
- PCI-Scanner
- Implement Global Descriptor Table (GDT)
- Basic Sata
- Coming soon
Contributions make the open-source community an amazing place to learn and create. Since SecureOS is in its early architectural stages, any help is highly appreciated!
- 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 the LICENSE file in the repository for more information.