Skip to content

Hot Reload Toolchain

SamJakob edited this page Apr 2, 2023 · 1 revision

The Thornhill Hot Reload Toolchain (THRT, pronounced tee-aytch-arr-tee, or thought) is a set of custom build scripts written in Python.

  • THRT requires Python 3.11+

THRT starts QEMU and runs an initial build via the main CMake toolchain. When a change is detected an incremental compilation is performed via CMake.

Setup

# Requires Python 3.11+
python3 --version

# Install pip dependencies
# (run from the root of the project)
python3 -m pip install -r ./scripts/hotreload/requirements.txt

Enhanced Debugging

Enhanced debugging is a feature that probes known memory addresses in the QEMU Virtual Machine from symbols exported in the kernel. The symbols are probed using the QEMU monitor x/ command issued over QMP human-mode-command.

  • You need readelf installed (available from binutils in most package manages or distributions) and in your PATH (or in TH_TC_PATH) to enable enhanced debugging.
Clone this wiki locally