hilbert os is a 64-bit hobby operating system, which is not very mature yet. to build and test it, you will need some software installed. on debian, i believe running command [1] below as root (e.g. with sudo) is sufficient. the default makefile target builds a disk image at build/disk.iso that can be booted on a 64-bit bios system. you can use command [2] to build that. finally, use command [3] to run the disk in qemu with gdb attached. [1] apt install g++ gdb git make nasm qemu-system-x86 xorriso [2] make -j$(nproc) [3] make run acknowledgements (any under "dependencies" are downloaded during build): - dependencies/binutils (gnu binutils v2.42) copyright 2024 free software foundation, inc. license: dependencies/binutils/COPYING (gnu gpl v2) homepage: https://www.gnu.org/software/binutils/ note: the patch in patches/binutils.txt is applied before building - dependencies/gcc (gnu compiler collection v14.1.0) copyright 2024 free software foundation, inc. license: dependencies/gcc/COPYING3 (gnu gpl v3) dependencies/gcc/COPYING.RUNTIME (gcc runtime library exception v3.1) homepage: https://gcc.gnu.org/ - dependencies/limine (limine bootloader v7.5.1) copyright 2019 - 2024 mintsuki and contributors license: dependencies/limine/COPYING (bsd two-clause) homepage: https://limine-bootloader.org/ - dependencies/minstuki-headers copyright 2022 - 2024 mintsuki and contributors license: dependencies/mintsuki-headers/LICENSE (bsd zero-clause) homepage: https://github.com/mintsuki/freestanding-headers/ - skeleton/assets/burden.ppm ("selective focus photography snowflakes" by aaron burden) license: https://unsplash.com/license source: https://unsplash.com/photos/selective-focus-photography-snowflakes-9yhy1FXlKwI - skeleton/assets/terminus-bold-18x10.psf (terminus font, bold, 18x10) copyright 2020 dimitar toshkov zhekov license: skeleton/assets/terminus-ofl.txt (sil open font license v1.1) homepage: https://terminus-font.sourceforge.net/ everything in the following directories is copyright 2024 benji dial, under the license in license.txt (the isc license): - applications - euler - kernel - libraries project structure: - applications/init: the initial program loaded by the kernel. currently it displays the image by aaron burden, and inverts the colors when the enter key is pressed. - documentation: documentation. currently this directory is a bit disorganized, and has some descriptions of things that have not been created yet. - euler: (a minimal start to) a c/c++ standard library and runtime. the plan is to follow the c++17 standard, and only add things as i need them. - kernel: the kernel. - libraries/daguerre: an image loading / rendering library. - patches/binutils.txt: a patch that is applied to gnu binutils before it is built. - skeleton: files that are copied directly to the initfs.