Ghost is a hobbyist operating system for the Intel x86 platform. The OS is written from scratch in C/C++ and Assembly.
This is the main development repository.
Project website: http://ghostkernel.org/
See the documentation
folder. It contains information about the technical design as well as detailed building instructions.
An usually up-to-date version of the documentation is provided here: https://ghostkernel.org/documentation/
- 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. - Once the process has finished, it will open a bash within the container. The container has this repository folder mounted to
/ghost/source
. - Build the operating system by running
./build.sh
in that directory within the container.
Afterwards, the target
folder will contain the bootable ISO image.
- x86-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
- Driver-level VM86 handling
- Drivers for
- VESA/VBE video output
- PS/2 keyboard & mouse
- PCI handling
- Multiboot compliance
- It's also very cool
- musl (provides libm part of Ghost libc)
- cairo
- freetype
- libpng
- pixman
- zlib
- nasm
If you want to get in contact, contribute to the project or have any questions, feel free to contact me at:
-Max Schlüssel