vm-build: Add script to build in a microvm
This script uses the `ocivm` tool to launch a QEMU micro VM to build the operating system. This is necessary to produce an SELinux-enabled system, since container runtimes interfere with the SELinux policy build and filesystem labeling processes.gentoo
parent
f3b63a1dc2
commit
b2aac7c74e
|
@ -0,0 +1,23 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. ./config
|
||||||
|
|
||||||
|
name=build_yellow
|
||||||
|
if ! ocivm list | grep -q localhost/cross-${target}; then
|
||||||
|
ocivm import localhost/cross-${target}
|
||||||
|
fi
|
||||||
|
ocivm \
|
||||||
|
--log-level DEBUG \
|
||||||
|
run \
|
||||||
|
-n ${name} \
|
||||||
|
-w /tmp/src \
|
||||||
|
-v "${PWD}":/tmp/src \
|
||||||
|
-v distfiles:/var/cache/distfiles:size=4G \
|
||||||
|
-v packages:/var/cache/binpkgs \
|
||||||
|
-v portage:/var/db/repos/gentoo:size=4G \
|
||||||
|
--tmpfs /usr/aarch64-unknown-linux-gnu/tmp \
|
||||||
|
--tmpfs /var/tmp \
|
||||||
|
localhost/cross-aarch64-unknown-linux-gnu \
|
||||||
|
"$@"
|
|
@ -0,0 +1,4 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# vim: set sw=4 ts=4 sts=4 et :
|
||||||
|
|
||||||
|
exec ./ocivm.sh make O=/tmp/build 'IMAGESDIR=${PWD}/images'
|
Loading…
Reference in New Issue