1
0
Fork 0
mirror of https://github.com/maxdev1/ghost.git synced 2025-12-04 04:23:47 -05:00
No description
Find a file
2025-11-20 08:43:36 +01:00
.github/workflows Ensure fetching submodule 2025-10-31 21:21:25 +01:00
applications Layout fixes & log pipe syscall 2025-11-20 08:43:36 +01:00
documentation Clean up documentation 2025-10-24 22:38:30 +02:00
kernel Layout fixes & log pipe syscall 2025-11-20 08:43:36 +01:00
libapi Layout fixes & log pipe syscall 2025-11-20 08:43:36 +01:00
libc Bugfix in kvlog & strowhatever implementations 2025-10-24 21:59:07 +02:00
patches Add patch for cairo so it properly builds a shared library 2025-03-05 19:41:38 +01:00
sysroot Fix navigator, update conversions 2025-11-10 22:27:46 +01:00
target Remove duplicate target 2025-10-22 21:28:51 +02:00
tools Fix many more things 2025-03-21 20:13:59 +01:00
.clang-format Implement PCI driver 2025-01-16 22:08:42 +01:00
.gitattributes Started reworking parts of the kernel. Updated documentation. Cleaned up build system. 2019-02-24 19:12:32 +01:00
.gitignore Working on a port to x86_64, switching from GRUB to Limine 2025-03-20 01:12:38 +01:00
.gitmodules Add fenster as submodule 2025-10-31 21:13:44 +01:00
build.sh make CI build fail if one of the apps fail 2025-11-13 21:44:56 +01:00
docker-build-toolchain-image.sh Add missing target for limine auto-build 2025-10-22 20:59:08 +02:00
docker-prepare.sh Working on a port to x86_64, switching from GRUB to Limine 2025-03-20 01:12:38 +01:00
ghost.sh Remove duplicate target 2025-10-22 21:28:51 +02:00
GHOST_COPYRIGHT Let kernel script ONLY build loader & kernel; move ramdisk & iso packing into target script; cleanup some docs 2025-01-15 19:50:50 +01:00
LICENSE Sources 0.4.1 2015-07-26 14:57:42 +02:00
README.md Update README 2025-11-13 21:47:24 +01:00
toolchain.sh Let terminal do less unnecessary repainting; add mouse scrolling 2025-03-10 21:37:52 +01:00
variables.sh.template Prepare some things for x86_64 2022-10-11 18:58:44 +02:00

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.

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 which originated from this project:

Screenshot of 0.12.0

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