https://github.com/maxdev1/ghost
Ghost, a micro-kernel based hobby operating system.
https://github.com/maxdev1/ghost
ghost hobby-kernel kernel libc microkernel operating-system os osdev x86-64
Last synced: 16 days ago
JSON representation
Ghost, a micro-kernel based hobby operating system.
- Host: GitHub
- URL: https://github.com/maxdev1/ghost
- Owner: maxdev1
- License: gpl-3.0
- Created: 2015-07-26T12:47:54.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2025-11-20T07:43:43.000Z (4 months ago)
- Last Synced: 2025-11-20T09:27:01.844Z (4 months ago)
- Topics: ghost, hobby-kernel, kernel, libc, microkernel, operating-system, os, osdev, x86-64
- Language: C
- Homepage: http://ghostkernel.org/
- Size: 7.3 MB
- Stars: 641
- Watchers: 30
- Forks: 61
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ABOUT GHOST
**Ghost** is a hobbyist operating system for the x86-64 platform.
The OS is written from scratch in C/C++ and Assembly.
This is the main development repository.
**Project website:** http://ghostkernel.org/
## Documentation
See the `documentation` folder. It contains information about the technical design as well as detailed building instructions.
A usually up-to-date version of the documentation is provided here: https://ghostkernel.org/documentation/
## Live ISO
If you just want to play around with the latest state, you can download an ISO
image from the [release section](https://github.com/maxdev1/ghost/releases).
The suggested way to test it is in VirtualBox with at least 512MB of RAM and the
VMSVGA graphics adapter enabled for better performance.
## Quick-start
1. On your host machine (where Docker is installed), run `./docker-build-toolchain-image.sh`. This will
build an image that contains the cross-compiler and other tools required for building the operating system.
2. Once the process has finished, it will open a bash within the container. The container has this repository folder mounted to `/ghost/source`.
3. Build the operating system by running `./build.sh` in that directory within the container.
Afterwards, the `target` folder will contain the bootable ISO image.
## Features
* x86_64-based micro-kernel
* SMP multi-processor support
* Comprehensive kernel interaction library (libapi)
* Own C standard library (libc)
* OS-specific GCC toolchain
* ELF binary & shared library support
* Window server & toolkit
* Support for C++ in kernel & userland
* Various interprocess-communication methods
* Drivers for
* VESA/VBE video output
* PS/2 keyboard & mouse
* PCI handling
* Limine protocol compliance
* It's also very cool
The OS uses the [fenster windowserver](https://github.com/maxdev1/fenster) which originated from this project:

## Ported software
* libpng
* pixman
* zlib
* cairo
* freetype
* musl (provides libm part of Ghost libc)
## Contact
If you want to get in contact, contribute to the project or have any questions,
feel free to contact me at:
lokoxe@gmail.com
-Max Schlüssel