diff options
author | Benji Dial <benji@benjidial.net> | 2024-07-31 19:53:02 -0400 |
---|---|---|
committer | Benji Dial <benji@benjidial.net> | 2024-07-31 19:53:02 -0400 |
commit | cc9a1811fd93971ae8c0d3bdc8d60102ce58556e (patch) | |
tree | 9430cab5514959dc6c5b2122040aab1453debf51 /readme.txt | |
parent | e6915fb6dd715e39e37702a6d69c220c0f1798bf (diff) | |
download | hilbert-os-cc9a1811fd93971ae8c0d3bdc8d60102ce58556e.tar.gz |
redo build system
Diffstat (limited to 'readme.txt')
-rw-r--r-- | readme.txt | 41 |
1 files changed, 32 insertions, 9 deletions
@@ -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): |