Skip to content

Commit

Permalink
Modify criu install in ubuntu from source code (#4095)
Browse files Browse the repository at this point in the history
- Modify criu install in ubuntu from source code

Signed-off-by: LongyuZhang <longyu.zhang@ibm.com>

Signed-off-by: LongyuZhang <longyu.zhang@ibm.com>
  • Loading branch information
LongyuZhang committed Nov 1, 2022
1 parent 23bf5d5 commit 487c0ee
Showing 1 changed file with 27 additions and 5 deletions.
32 changes: 27 additions & 5 deletions external/dockerfile_functions.sh
Original file line number Diff line number Diff line change
Expand Up @@ -359,6 +359,7 @@ print_criu_install() {

echo -e "\nRUN chmod a+x /usr/sbin/criu \\" \
"\n\t&& setcap cap_checkpoint_restore,cap_net_admin,cap_sys_ptrace=eip /usr/sbin/criu \\" \
"\n\t&& export GLIBC_TUNABLES=glibc.cpu.hwcaps=-XSAVEC,-XSAVE,-AVX2,-ERMS,-AVX,-AVX_Fast_Unaligned_Load \\" \
"\n\t&& cd /usr/lib64 \\" \
"\n\t&& ln -s libcriu.so.2.0 libcriu.so \\" \
"\n\t&& ln -s libcriu.so.2.0 libcriu.so.2 \\" \
Expand All @@ -368,12 +369,33 @@ print_criu_install() {
exit 1
fi
else # for ubuntu
echo -e "\n# Install criu and set capabilities" \
"\nRUN add-apt-repository ppa:criu/ppa \\" \
"\n\t&& apt-get update \\" \
"\n\t&& apt-get install -y --no-install-recommends criu \\" \
# Method 1: Install from package repo
# echo -e "\n# Install criu and set capabilities" \
# "\nRUN add-apt-repository ppa:criu/ppa \\" \
# "\n\t&& apt-get update \\" \
# "\n\t&& apt-get install -y --no-install-recommends criu \\" \
# "\n\t&& criu -V \\" \
# "\n\t&& setcap cap_chown,cap_dac_override,cap_dac_read_search,cap_fowner,cap_fsetid,cap_kill,cap_setgid,cap_setuid,cap_setpcap,cap_net_admin,cap_sys_chroot,cap_sys_ptrace,cap_sys_admin,cap_sys_resource,cap_sys_time,cap_audit_control=eip /usr/sbin/criu" \
# "\n\t&& export GLIBC_TUNABLES=glibc.cpu.hwcaps=-XSAVEC,-XSAVE,-AVX2,-ERMS,-AVX,-AVX_Fast_Unaligned_Load" \
# "\n" >> ${file}

# Method 2: build from source code
echo -e "\n# Install dependent packages for criu" \
"\nRUN apt-get update \\" \
"\n\t&& apt-get install -y --no-install-recommends iptables libbsd-dev libcap-dev libdrm-dev libnet1-dev libgnutls28-dev libgnutls30 libnftables-dev libnl-3-dev libprotobuf-dev python3-distutils protobuf-c-compiler protobuf-compiler xmlto libssl-dev python3-future libxt-dev libfontconfig1-dev python-protobuf nftables libcups2-dev libasound2-dev python-ipaddress libxtst-dev libexpat1-dev libfontconfig libaio-dev libffi-dev libx11-dev libprotobuf-c-dev libnuma-dev libfreetype6-dev libxrandr-dev libxrender-dev libelf-dev libxext-dev libdwarf-dev" \
"\n" >> ${file}

echo -e "\n# Build criu and set capabilities" \
"\nRUN mkdir -p /tmp \\" \
"\n\t&& cd /tmp \\" \
"\n\t&& git clone https://github.com/checkpoint-restore/criu.git \\" \
"\n\t&& cd criu \\" \
"\n\t&& git fetch origin \\" \
"\n\t&& git reset --hard origin/criu-dev \\" \
"\n\t&& make PREFIX=/usr install \\" \
"\n\t&& criu -V \\" \
"\n\t&& setcap cap_chown,cap_dac_override,cap_dac_read_search,cap_fowner,cap_fsetid,cap_kill,cap_setgid,cap_setuid,cap_setpcap,cap_net_admin,cap_sys_chroot,cap_sys_ptrace,cap_sys_admin,cap_sys_resource,cap_sys_time,cap_audit_control=eip /usr/sbin/criu" \
"\n\t&& setcap cap_chown,cap_dac_override,cap_dac_read_search,cap_fowner,cap_fsetid,cap_kill,cap_setgid,cap_setuid,cap_setpcap,cap_net_admin,cap_sys_chroot,cap_sys_ptrace,cap_sys_admin,cap_sys_resource,cap_sys_time,cap_audit_control=eip /usr/sbin/criu \\" \
"\n\t&& export GLIBC_TUNABLES=glibc.cpu.hwcaps=-XSAVEC,-XSAVE,-AVX2,-ERMS,-AVX,-AVX_Fast_Unaligned_Load" \
"\n" >> ${file}
fi
}
Expand Down

0 comments on commit 487c0ee

Please sign in to comment.