https://github.com/erik-donath/sodium
An small x86 Operating System which uses multiboot2 and the grub bootloader.
https://github.com/erik-donath/sodium
boot grub i686 kernel multiboot2 operating-system os uefi-boot x86
Last synced: 10 days ago
JSON representation
An small x86 Operating System which uses multiboot2 and the grub bootloader.
- Host: GitHub
- URL: https://github.com/erik-donath/sodium
- Owner: Erik-Donath
- License: mit
- Created: 2024-07-15T16:30:47.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2025-01-15T17:03:58.000Z (3 months ago)
- Last Synced: 2025-03-26T16:48:18.919Z (27 days ago)
- Topics: boot, grub, i686, kernel, multiboot2, operating-system, os, uefi-boot, x86
- Language: C
- Homepage: https://github.com/Erik-Donath/Sodium/
- Size: 281 KB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Sodium
An small x86 Operating System which uses multiboot2 and the grub bootloader.
Warning: This Sytem is still in early development. Many things can (and propatly will) go wrong.# What is a Operating System
## Build & Run
This project is build by using a Docker container.
Steps to Build and Run:
1: Install Docker (Linux: ```apt install docker```, Windows: ```winget install Docker.DockerDesktop```)
2: Optional: Install qemu (Linux: ```apt install qemu```, Windows: visit 'https://www.qemu.org/' and use 'Stefan Weil' binaries.
3: Run ```docker build buildenv -t sodium-buildenv``` to build the builenv
4: Windows: Use ```docker run --rm -it -v C:/Sodium/:/root/env sodium-buildenv``` and replace 'C:/Sodium/' with the project directory
4: Linux: Use ```sudo docker run --rm -it -v ./:/root/env:Z sodium-buildenv```
5: Run ```qemu-system-x86_64 -debugcon stdio -cdrom dist/Sodium.iso``` to start the OS! (Only if qemu is install)You can also run the OS by using the .iso file directly (For example in VBox or on a LiveUSB).
## Architekture
Here is an overview of the current project Architekture
```
Sodium
├── buildenv
│ ├── docker-entrypoint.sh
│ └── Dockerfile
├── src
│ ├── kernel
│ │ ├── arch/i686
│ │ │ └── / i686 Driver and Systems /
│ │ ├── kernel.c
│ │ └── ...
│ ├── boot/i686
│ │ ├── boot.asm
│ │ ├── multiboot.inc
│ │ ├── shutdown.asm
│ │ └── grub
│ │ └── grub.cfg
│ └── linker.ld
├── dist
│ ├── Sodium.iso
│ └── kernel.bin
├── build
│ └── /* Build Directory */
├── Makefile
├── README.md
└── LICENSE
```