summaryrefslogtreecommitdiff
path: root/readme.txt
diff options
context:
space:
mode:
authorBenji Dial <benji@benjidial.net>2024-07-31 19:53:02 -0400
committerBenji Dial <benji@benjidial.net>2024-07-31 19:53:02 -0400
commitcc9a1811fd93971ae8c0d3bdc8d60102ce58556e (patch)
tree9430cab5514959dc6c5b2122040aab1453debf51 /readme.txt
parente6915fb6dd715e39e37702a6d69c220c0f1798bf (diff)
downloadhilbert-os-cc9a1811fd93971ae8c0d3bdc8d60102ce58556e.tar.gz
redo build system
Diffstat (limited to 'readme.txt')
-rw-r--r--readme.txt41
1 files changed, 32 insertions, 9 deletions
diff --git a/readme.txt b/readme.txt
index 425e51d..cd58784 100644
--- a/readme.txt
+++ b/readme.txt
@@ -1,14 +1,31 @@
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 bison flex g++ gdb git libgmp-dev libmpfr-dev
- libmpc-dev make nasm qemu-system-x86 texinfo xorriso
- [2] make -j$(nproc)
- [3] make run
+the packages listed below are sufficient.
+
+ - bison
+ - flex
+ - g++
+ - gdb
+ - git
+ - libgmp-dev
+ - libmpfr-dev
+ - libmpc-dev
+ - make
+ - nasm
+ - qemu-system-x86
+ - texinfo
+ - xorriso
+
+next, you will need to download and compile some dependencies. the script in
+setup.sh will do this for you. if it sees an environment variables MAKEOPTS, it
+will pass the contents of that as arguments to invocations of make. otherwise,
+it defaults to "-j$(nproc)". if you nead to clean that setup for any reason,
+you can use the script in clean-setup.sh.
+
+now that we have all the dependencies, just run "make". the default target is
+build/disk.iso, a bios-bootable disk image. you can run "make debug" to start
+qemu with that disk, and attach gdb to it. you can also use "make clean" to
+remove all of the files that "make" creates.
acknowledgements (any under "dependencies" are downloaded during build):
@@ -59,6 +76,12 @@ license in isc.txt (isc license):
- libraries
- makefile
+the following file are released under the text in 0bsd.txt (zero-clause bsd):
+
+ - clean-setup.sh
+ - makefile
+ - setup.sh
+
the following directories and files are released under the text in cc0.txt
(creative commons cc0 1.0 universal public domain dedication):