Skip to content

An small x86 Operating System which uses multiboot2 and the grub bootloader.

License

Notifications You must be signed in to change notification settings

Erik-Donath/Sodium

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

76 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

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
├── script
│   └── Code Generation Scripts (used by Makefile)
├── src
│   ├── kernel
│   │   ├── arch/i686
│   │   │   └── / i686 Driver and Systems /
│   │   ├── hal
│   │   │   └── / Hardware Abstraction Layer /
│   │   ├── util
│   │   │   └── / Universal Stuff /
│   │   ├── kernel.c
│   │   └── ...
│   ├── boot/i686
│   │   ├── boot.asm
│   │   ├── multiboot.asm
│   │   └── grub
│   │       └── grub.cfg
│   └── linker.ld
├── dist
│   ├── Sodium.iso
│   └── kernel.bin
├── build
│   └── Build Directory
├── Makefile
├── README.md
└── LICENSE