summaryrefslogtreecommitdiff
path: root/readme.txt
blob: 14b484c5013ffa9148f977ceae04fa03835ff2f8 (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
75
76
77
78
79
80
81
82
83
84
85
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/

the following directories and files are copyright 2024 benji dial, under the
license in isc.txt (isc license):

  - applications
  - euler
  - kernel
  - libraries
  - makefile

the following directories and files are copyright 2024 benji dial, under the
license in cc-by.txt (creative commons attribution 4.0 international):

  - skeleton/assets/pointer.ppm

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.