From cc9a1811fd93971ae8c0d3bdc8d60102ce58556e Mon Sep 17 00:00:00 2001 From: Benji Dial Date: Wed, 31 Jul 2024 19:53:02 -0400 Subject: redo build system --- readme.txt | 41 ++++++++++++++++++++++++++++++++--------- 1 file changed, 32 insertions(+), 9 deletions(-) (limited to 'readme.txt') 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): -- cgit v1.2.3