-
Notifications
You must be signed in to change notification settings - Fork 1
Build TransProc
This page shows how to install all the necessary dependencies and build all components of TransProc within the environment setup.
On each node (e.g., VMs), you need to install the required package first. You can refer to the criu project page for detailed information. Here is an example of the packages needed for Ubuntu 20.04:
sudo apt install -y libprotobuf-dev libprotobuf-c-dev protobuf-c-compiler protobuf-compiler python-protobuf \
pkg-config libnl-3-dev libnet-dev libcap-dev libbsd-dev python3-pip cmake
Build criu-3.15
and tools for inserting a breakpoint (code migration point):
❯ pwd
/home/ubuntu/TransProc
❯ make -C criu-3.15/
❯ make -C tools/
After this step, you should have CRIU/CRIT binaries generated:
❯ find . -type f \( -name criu -o -name crit \)
./criu-3.15/crit/crit
./criu-3.15/criu/criu
❯ ls tools
attach_pid debugger tracer ...
The code provided in this repository has the following dependencies on python3 modules:
pyelftools, jsonpath-ng, pyro4, psutil ,scp, protobuf==3.20, capstone, keystone and keystone-engine
.
Install them as follows:
python3 -m pip install pyelftools jsonpath-ng pyro4 psutil scp protobuf==3.20 capstone keystone keystone-engine
NOTE: This project's process migration and stack-shuffling features have been tested using python 3.8. It is recommended to use the python2 interpreter only for
criu dump and restore
. The Makefiles provided within thetest
directory can be used as a reference to decide on the python interpreter versions.