hilbert os is a 64-bit hobby operating system, which is not very mature yet. to build and test it, you will need some dependencies. these can be installed on debian with: apt install g++ gcc gdb git make nasm qemu-system-x86 xorriso then, just run "make -jx", replacing x with the number of threads to use while building. this will create a bios-bootable disk image in out/disk.iso. you can then test it in qemu with gdb attached by running "make run". acknowledgements (* = downloaded during make): - limine bootloader* homepage: https://limine-bootloader.org/ license: limine/COPYING (bsd two-clause) - terminus font homepage: https://terminus-font.sourceforge.net/ license: terminus/license.txt (sil open font license v1.1) - photo at skeleton/assets/burdon.ppm photographer: aaron burdon source: https://unsplash.com/photos/selective-focus-photography-snowflakes-9yhy1FXlKwI license: https://unsplash.com/license - mintsuki's freestanding c headers* homepage: https://github.com/mintsuki/freestanding-headers license: mintsuki-freestanding-headers/LICENSE (bsd zero-clause) project structure: - applications/init: the first application started by the kernel - applications/link.ld: a common linker script used by every application - documentation: documentation on the kernel (not very organized) - kernel: the kernel of hilbert os - libraries/daguerre: an image loading / rendering library - libraries/euler: the c++ standard library and runtime for applications - limine: the limine bootloader (see acknowledgements) - mintsuki-freestanding-headers: mintsuki's freestanding headers (see acknowledgements) - obj: built object files - out: completed builds - skeleton: files that are directly copied to the initfs - terminus: the terminus font (see acknowledgements) - license.txt: the license that hilbert os is under - limine.cfg: the limine configuration used by the built disk - makefile: the makefile that is used to build the entire os - qmeu.gdb: a file for gdb to include when doing make run - readme.txt: this file