diff --git a/docs/building_kernel.md b/docs/building_kernel.md new file mode 100644 index 0000000..63c76d5 --- /dev/null +++ b/docs/building_kernel.md @@ -0,0 +1,44 @@ +# Building the MOP3 kernel + +This article describes, how to build the kernel, how the build system works and prerequisites. + +## Preprequistes + +- POSIX host system (tested on Linux, may break on other systems) +- Git +- GNU make +- LLVM toolchain/Clang C compiler +- Xorriso + +## Build steps + +cd into root of MOP3 source tree. + +Build the kernel: +``` +make -B all_kernel buildtype= +``` + +Build essential system applications: +``` +make -B all_apps +``` + +Prepare the ramdisk: +``` +make -B all_dist +``` + +Build ISO image: +``` +./aux/limine_iso_amd64.sh +``` + +Now you have an ISO image, which can be run my QEMU or you can burn it onto a CD. + +For the convenience of the developer, there's a magic "do all" script located in `aux`: +``` +./aux/devel.sh # optionally "./aux/devel.sh debug" for debugging +``` + +It does all the previous steps, just packed into a single script. diff --git a/docs/index.md b/docs/index.md index 3bf1c1e..dce6cf9 100644 --- a/docs/index.md +++ b/docs/index.md @@ -5,3 +5,4 @@ MOP3 is a hobby OS project of mine ;). # Kernel documentation - [Doxygen docs](kernel/doxygen/html/index.html) +- [Building](building_kernel/index.html)