Skip to content

Developing Ironclad inside Gloire

Streaksu edited this page Dec 13, 2024 · 7 revisions

Gloire can be used for easily modifying and testing Ironclad with a ready-made system of software to test against. This article covers how to do so painlessly.

Getting Gloire ready.

For applying changes to Ironclad, it will not suffice to have only a running Gloire image, you will need the source code built and ready for action. Please follow the project's README for instructions on doing so.

Modifying Ironclad.

As part of building Gloire, a reasonably new, tested Ironclad will be cloned under ironclad, here, one can modify the tree, bisect changes, and others. To build Gloire with those changes, ./jinx rebuild ironclad && ./build-support/makeiso.sh will suffice, remember to carry any PKGS_TO_INSTALL or other variables used previously to that final makeiso.sh!

Testing changes.

Once regenerated and rebuilt, images can be generated and tested like any other Gloire image would be tested by the use of the build-support scripts and a virtual machine and/or spare computer.

A set of commands to do so using QEMU in a Linux x86_64 system (for the KVM flags) would be:

qemu-system-x86_64 -m 5G -hda gloire.img -serial stdio -M q35 -cpu host -enable-kvm -smp 4

Wrapping it all together.

Wrapping all of these together, a good compile-debug cycle for development using only the base system would be:

<Modify Ironclad code inside the ironclad folder>
./jinx rebuild ironclad && ./build-support/makeiso.sh
qemu-system-x86_64 -m 5G -hda gloire.img -serial stdio -M q35 -cpu host -enable-kvm

Submitting changes

Please refer to the Ironclad website's development section for submission guidelines and instructions.