blob: bdd8e45fca8934a71c9f4ddfc32ab5f6a1bc00fd (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
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
|