mirror of
https://github.com/linuxkit/linuxkit.git
synced 2025-09-19 01:17:18 +00:00
contrib: Notes and build support for crosvm
crosvm is a VMM written on Rust which can run the device backends in secomp isolated processes. This adds build support for crosvm for x86 and arm64 as well as some instructions on how to run LinuxKit built images on crosvm. Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
This commit is contained in:
36
contrib/crosvm/Dockerfile
Normal file
36
contrib/crosvm/Dockerfile
Normal file
@@ -0,0 +1,36 @@
|
||||
FROM rust:1.25.0-stretch
|
||||
|
||||
ENV CROSVM_REPO=https://chromium.googlesource.com/chromiumos/platform/crosvm
|
||||
ENV CROSVM_COMMIT=7a7268faf0a43c79b6a4520f5c2f35c3e0233932
|
||||
ENV MINIJAIL_REPO=https://android.googlesource.com/platform/external/minijail
|
||||
ENV MINIJAIL_COMMIT=d45fc420bb8fd9d1fc9297174f3c344db8c20bbd
|
||||
|
||||
# Install deps
|
||||
RUN apt-get update && apt-get install -y libcap-dev libfdt-dev
|
||||
|
||||
# Get source code
|
||||
RUN git clone ${MINIJAIL_REPO} && \
|
||||
cd /minijail && \
|
||||
git checkout ${MINIJAIL_COMMIT} && \
|
||||
cd / && \
|
||||
git clone ${CROSVM_REPO} && \
|
||||
cd crosvm && \
|
||||
git checkout ${CROSVM_COMMIT}
|
||||
|
||||
# Compile and install minijail
|
||||
WORKDIR /minijail
|
||||
RUN make && \
|
||||
cp libminijail.so /usr/lib/ && \
|
||||
cp libminijail.h /usr/include/
|
||||
|
||||
# Compile crosvm
|
||||
WORKDIR /crosvm
|
||||
RUN cargo build --release
|
||||
|
||||
RUN mkdir /out && \
|
||||
cp /minijail/libminijail.so /out && \
|
||||
cp /crosvm/target/release/crosvm /out && \
|
||||
cp -r /crosvm/seccomp /out
|
||||
|
||||
WORKDIR /out
|
||||
ENTRYPOINT ["tar", "cf", "-", "libminijail.so", "crosvm", "seccomp"]
|
Reference in New Issue
Block a user