Installation
This guide assumes that you already have a Xen or KVM-VMI setup. If not, please refer to the following resources to set up your environment:
Heimdall requires the libvmi library for Virtual Machine Introspection capabilities. Follow the instructions in the
libvmi repository to build and install it:
1. Install libvmi
sudo apt install git build-essential gcc libtool cmake pkg-config check libglib2.0-dev libvirt-dev flex bison libjson-c-dev
git clone https://github.com/libvmi/libvmi
cd libvmi
autoreconf -vif
Xen
./configure --disable-kvm --disable-bareflank --disable-file
make
sudo make install
KVM
./configure --disable-xen --disable-bareflank --disable-file
make
sudo make install
2. Install libvmi-python
git clone https://github.com/libvmi/python libvmi-python
cd libvmi-python
python3 setup.py build
python3 setup.py install
3. Install Heimdall
Finally, install Heimdall itself:
python3 -m pip install heimdall-vmi
Note: If you prefer not to use
sudowhen runningHeimdall, I recommend installing it withpipx. After installing withpipx, addsetuidpermissions to the virtual environment, allowingHeimdallto run with elevated privileges without requiringsudoeach time.
To install Heimdall using pipx:
pipx install heimdall-vmi
Then, set setuid permissions on the virtual environment’s binaries:
sudo chmod u+s $(which heimdall-vmi)
This will allow Heimdall to execute with necessary permissions directly from the pipx virtual environment.