Introduce QEMU build scripts
This commit is contained in:
committed by
Stanislav Erokhin
parent
658530e820
commit
02379d9412
@@ -0,0 +1,20 @@
|
|||||||
|
FROM ubuntu:20.04
|
||||||
|
|
||||||
|
ENV TZ=Europe/Moscow
|
||||||
|
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
|
||||||
|
|
||||||
|
RUN apt-get update && apt-get upgrade -y
|
||||||
|
RUN apt-get install -y build-essential git gcc pkg-config glib-2.0 libglib2.0-dev libsdl1.2-dev libaio-dev libcap-dev libattr1-dev libpixman-1-dev
|
||||||
|
|
||||||
|
RUN git clone --branch v5.1.0 --depth 1 git://git.qemu.org/qemu.git && \
|
||||||
|
cd qemu && \
|
||||||
|
git checkout d0ed6a69d399ae193959225cdeaa9382746c91cc && \
|
||||||
|
git submodule update --init --recursive
|
||||||
|
|
||||||
|
WORKDIR /qemu
|
||||||
|
|
||||||
|
COPY build.sh .
|
||||||
|
|
||||||
|
ENV OUTPUT_DIR="/output"
|
||||||
|
|
||||||
|
ENTRYPOINT "/bin/bash" "build.sh" ${OUTPUT_DIR}
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -eou pipefail
|
||||||
|
|
||||||
|
INSTALL_PATH=$1
|
||||||
|
QEMU_VERSION=5.1.0
|
||||||
|
DEPENDENCY_VERSION=2
|
||||||
|
|
||||||
|
function build_qemu() {
|
||||||
|
mkdir build
|
||||||
|
./configure \
|
||||||
|
--prefix="$PWD/build" \
|
||||||
|
--static \
|
||||||
|
--disable-debug-info \
|
||||||
|
--disable-werror \
|
||||||
|
--disable-system \
|
||||||
|
--enable-linux-user \
|
||||||
|
|
||||||
|
make -j"$(nproc)"
|
||||||
|
make install
|
||||||
|
}
|
||||||
|
|
||||||
|
function build_archives() {
|
||||||
|
cd build/bin
|
||||||
|
for f in qemu-* ; do
|
||||||
|
DEPENDENCY_NAME="$f-static-$QEMU_VERSION-linux-$DEPENDENCY_VERSION"
|
||||||
|
mkdir -p $DEPENDENCY_NAME
|
||||||
|
mv $f $DEPENDENCY_NAME/$f
|
||||||
|
tar -czvf $INSTALL_PATH/"$DEPENDENCY_NAME.tar.gz" "$DEPENDENCY_NAME"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
build_qemu
|
||||||
|
build_archives
|
||||||
Executable
+3
@@ -0,0 +1,3 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
docker build -t kotlin-qemu-builder .
|
||||||
Executable
+12
@@ -0,0 +1,12 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -eou pipefail
|
||||||
|
|
||||||
|
CONTAINER_NAME=kotlin-qemu-builder
|
||||||
|
IMAGE_NAME=kotlin-qemu-builder
|
||||||
|
|
||||||
|
|
||||||
|
docker ps -a | grep $CONTAINER_NAME > /dev/null \
|
||||||
|
&& docker stop $CONTAINER_NAME 1> /dev/null \
|
||||||
|
&& docker rm $CONTAINER_NAME 1> /dev/null
|
||||||
|
|
||||||
|
docker run -it -v "$PWD"/out:/output --name=$CONTAINER_NAME $IMAGE_NAME
|
||||||
Reference in New Issue
Block a user