blob: d48c43c4b88838e2dc870a6b963d215898e0e5e4 (
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
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
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.
|