Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/davidtranhq/davos
An operating system written in C++.
https://github.com/davidtranhq/davos
Last synced: 2 months ago
JSON representation
An operating system written in C++.
- Host: GitHub
- URL: https://github.com/davidtranhq/davos
- Owner: davidtranhq
- Created: 2022-11-02T05:22:36.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-10-18T17:55:53.000Z (2 months ago)
- Last Synced: 2024-10-18T19:27:39.143Z (2 months ago)
- Language: C++
- Size: 11 MB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# davOS
davOS is an operating system written in C++. As a WIP, currently it is just a minimal kernel for x86_64 that boots with the [Limine boot protocol](https://github.com/limine-bootloader/limine/blob/trunk/PROTOCOL.md).
## Build
### Building a GCC cross-compiler
A GCC cross-compiler targetting x86_64-elf needs to be built. Follow [these instructions](docs/building-an-x86-64-gcc-cross-compiler.md) to build one.
### Building the OS
Run `make` to build the kernel `davos.elf`.
Run `make iso` to build the kernel and a bootable CD-ROM `davos.iso`.
## Booting the OS
The OS can be booted using any VM or physical machine capable of booting from CD-ROMs. For development, consider the [qemu](https://www.qemu.org/download/) VM.
If using qemu, the OS can be booted from the ISO using `qemu-system-x86_64 -cdrom davos.iso`.
Alternatively, run them `make qemu` to build the kernel and CD-ROM and run qemu all in one step.
Use `make debug` to start QEMU in the background with an attached GDB instance.
Use `make test` to start QEMU with debug messages and tests enabled.
### QEMU on WSL2
Additional steps need to be taken to run qemu on WSL2 since it requires a GUI. [https://skeptric.com/wsl2-xserver/](https://web.archive.org/web/20220617121003/https://skeptric.com/wsl2-xserver/) provides a step-by-step guide on setting up a Windows X Server for running WSl2 GUI applications using [VcXsrv](https://sourceforge.net/projects/vcxsrv/).