An open API service indexing awesome lists of open source software.

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.

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
![EX1](EX1.png)

## 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
```