# 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=<debug|release>
```

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.
