Building Kirsch
Kirsch uses a custom, python-based build system to generate a Ninja build file. Ninja then resolves the generated build file and runs all the compilation commands.
At the moment, Kirsch can be built for either the morello or virt targets.
Generate Ninja build file
- To generate the Ninja build file, run the following:
In an environment with the complete Toolchain
From the root of the Kirsch git repository
python3 generators/build.py > build/ninja.build
This can take a few seconds
Building for Morello
After having generated the Ninja build file, run the following two commands from the root of the Kirsch git repository:
ninja -C build morello/debug/cheriette_morello_atf_fvp_bl1.bin
ninja -C build morello/debug/loader.bin
The first command will build the ATF package, while the second command builds the actual binary of the OS.
To build the release version instead of the debug version, replace
debug with release in both commands.
Building for Virt
After having generated the Ninja build file, run the following command from the root of the Kirsch git repository:
ninja -C build virt/debug/loader.bin
To build the release version instead of the debug version, replace
debug with release in both commands.
Clean build files
To clean all build files, use
ninja -C build -t clean