Commit 1c2c1f45 authored by Andrei Vagin's avatar Andrei Vagin Committed by Pavel Emelyanov

crtools: add Dockerfile to build criu on armv7hf, aarch64, ppc64le

Signed-off-by: 's avatarAndrew Vagin <avagin@virtuozzo.com>
Signed-off-by: 's avatarCyrill Gorcunov <gorcunov@openvz.org>
Signed-off-by: 's avatarPavel Emelyanov <xemul@virtuozzo.com>
parent d45116ff
FROM aarch64/ubuntu:trusty
COPY scripts/build/qemu-user-static/usr/bin/qemu-aarch64-static /usr/bin/qemu-aarch64-static
RUN apt-get update
RUN apt-get update && apt-get install -y \
build-essential \
protobuf-c-compiler \
libprotobuf-c0-dev \
libprotobuf-dev \
bsdmainutils \
protobuf-compiler \
python-minimal \
libaio-dev \
iptables \
libnl-3-dev
COPY . /criu
WORKDIR /criu
RUN make clean && make -j $(nproc)
FROM armv7/armhf-ubuntu
COPY scripts/build/qemu-user-static/usr/bin/qemu-arm-static /usr/bin/qemu-arm-static
RUN apt-get update
RUN apt-get update && apt-get install -y \
build-essential \
protobuf-c-compiler \
libprotobuf-c0-dev \
libprotobuf-dev \
bsdmainutils \
protobuf-compiler \
python-minimal \
libaio-dev \
iptables \
libnl-3-dev
COPY . /criu
WORKDIR /criu
RUN make clean && make -j $(nproc)
FROM ppc64le/ubuntu
COPY scripts/build/qemu-user-static/usr/bin/qemu-ppc64le-static /usr/bin/qemu-ppc64le-static
RUN apt-get update
RUN apt-get update && apt-get install -y \
build-essential \
protobuf-c-compiler \
libprotobuf-c0-dev \
libprotobuf-dev \
bsdmainutils \
protobuf-compiler \
python-minimal \
libaio-dev \
iptables \
libnl-3-dev
COPY . /criu
WORKDIR /criu
RUN make clean && make -j $(nproc)
all: armv7hf aarch64 ppc64le
qemu-user-static:
./extract-deb-pkg qemu-user-static
binfmt_misc:
echo ':armv7hf:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-arm-static:' > /proc/sys/fs/binfmt_misc/register;
echo ':aarch64:M::\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xb7:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-aarch64-static:' > /proc/sys/fs/binfmt_misc/register
echo ':ppc64le:M::\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x15\x00:\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\x00:/usr/bin/qemu-ppc64le-static:' > /proc/sys/fs/binfmt_misc/register
armv7hf: qemu-user-static
docker build -t criu-armv7hf -f Dockerfile.armv7hf ../..
aarch64: qemu-user-static
docker build -t criu-aarch64 -f Dockerfile.aarch64 ../..
ppc64le: qemu-user-static
docker build -t criu-aarch64 -f Dockerfile.ppc64le ../..
clean:
echo -1 > /proc/sys/fs/binfmt_misc/ppc64le
echo -1 > /proc/sys/fs/binfmt_misc/armv7hf
echo -1 > /proc/sys/fs/binfmt_misc/aarch64
rm -rf qemu-user-static
#'http://mirror.yandex.ru/debian/pool/main/q/qemu/qemu-user-static_2.5%2Bdfsg-5_amd64.deb'
set -e
test -d $1 && exit
mkdir $1
cd $1
curl http://mirror.yandex.ru/debian/dists/jessie/main/binary-amd64/Packages.gz | zcat | grep "Filename.*$1" | awk '{ print $2 }'
pkg=`curl http://mirror.yandex.ru/debian/dists/jessie/main/binary-amd64/Packages.gz | zcat | grep "Filename.*$1" | awk '{ print $2 }'`
wget "http://mirror.yandex.ru/debian/$pkg"
pkg=`basename $pkg`
ar vx $pkg
tar -xJvf data.tar.xz
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment