Another example of riscv Kernel, this time using limine. Hopefully one day it could be integrated into DreamOS64.
- C 81%
- Makefile 14.9%
- Linker Script 4.1%
| build | Minor refactoring to build process | |
| src | Move mem* functions to string.h/.c files | |
| .gitignore | Add print function | |
| Makefile | Parse memory map | |
| README.md | Parse memory map | |
Dreamos V
This is a small experiment in writing a riscv64 kernel. The aim is one day if possible to integrate this code in the codebase of Dreamos64, but that is just a long term idea, and i'm not sure i will ever do it.
Limine will be stcuk to v9.5 for the time being.
Prerequisites
To be built it requires a riscv64 build environment installed, it can be either gcc or clang. For more information on how to build a cross compiler: OSDev Notes/Cross Compiler
It will also need:
- git
- qemu (with riscv64 support)
Build
First set the toolchain in build/Config.mk, by changing the value of the TOOLCHAIN variable.
Then just run:
make build
make run
All the binaries are placed in the dist/ folder.
Current features
- Load with limine
- Serial output (with printf like functionalities)