https://github.com/furkanonder/olympos
An experimental 32-bit Operating System
https://github.com/furkanonder/olympos
32-bit from-scratch operating-system
Last synced: 3 months ago
JSON representation
An experimental 32-bit Operating System
- Host: GitHub
- URL: https://github.com/furkanonder/olympos
- Owner: furkanonder
- License: gpl-3.0
- Created: 2025-03-08T20:07:34.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-10-08T15:12:22.000Z (4 months ago)
- Last Synced: 2025-10-08T17:34:23.735Z (4 months ago)
- Topics: 32-bit, from-scratch, operating-system
- Language: C
- Homepage:
- Size: 148 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Olympos
An experimental 32-bit Operating System.
## Prerequisites
Before building Olympos, you need to have the following tools installed:
### Required Packages
For Arch Linux:
```bash
# Core build tools
sudo pacman -S gcc make nasm
# For creating and running ISO
sudo pacman -S mtools xorriso grub qemu
# For debugging
sudo pacman -S gdb
```
For other distributions, install the equivalent packages using your package manager.
### Cross-Compiler
You need a cross-compiler targeting i686-elf.
#### For Arch Linux Users
The cross-compiler can be easily installed from the AUR
```bash
yay -S i686-elf-gcc
```
#### For Other Distributions
If you're not using Arch Linux, you'll need to build the cross-compiler from source or find equivalent packages for your distribution.
## Building
1. Clone the repository:
```bash
git clone
cd olympos
```
2. Build the system:
```bash
./build.sh
```
3. Create a bootable ISO:
```bash
./iso.sh
```
## Running
To run Olympos in QEMU:
```bash
./qemu.sh
```
## Debugging
Olympos includes support for debugging the kernel with GDB:
```bash
./debug.sh
```
## Testing
Olympos includes a comprehensive integration test framework that runs tests in QEMU and verifies output
through the serial port.
### Quick Start
To run all tests:
```bash
./test.sh
```
For more information, see the [test framework documentation](tests/README.md).
## Build System Scripts
- `build.sh`: Main build script
- `clean.sh`: Removes all built files
- `config.sh`: Configure build environment
- `headers.sh`: Install system headers
- `iso.sh`: Create bootable ISO
- `qemu.sh`: Run OS in QEMU
- `debug.sh`: Run OS in QEMU with GDB attached
## License
The GNU General Public License v3.0