aboutsummaryrefslogtreecommitdiff
path: root/Dockerfile
diff options
context:
space:
mode:
authorsickcodes <[email protected]>2021-03-17 21:50:13 +0000
committerGitHub <[email protected]>2021-03-17 21:50:13 +0000
commit9af868d0d1d15046f21c54cf0450c12df6c179d6 (patch)
tree1809419e262b4bfc571eb6dc5ed293d88775e676 /Dockerfile
parentMerge pull request #194 from TheHackerCoding/master (diff)
parentFix RAM math error for -e RAM=max (diff)
downloaddocker-osx-9af868d0d1d15046f21c54cf0450c12df6c179d6.tar.xz
docker-osx-9af868d0d1d15046f21c54cf0450c12df6c179d6.zip
Merge pull request #206 from sickcodes/dyanmic-ram-default
Use RAM=max or RAM=half to suit all machines, dynamically.
Diffstat (limited to 'Dockerfile')
-rw-r--r--Dockerfile7
1 files changed, 7 insertions, 0 deletions
diff --git a/Dockerfile b/Dockerfile
index 7f0f242..0ab8338 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -207,12 +207,19 @@ RUN git clone --recurse-submodules --depth 1 --branch "${BRANCH}" "${REPO}"
# for example, -e ADDITIONAL_PORTS=hostfwd=tcp::23-:23,
ENV ADDITIONAL_PORTS=
+# dynamic RAM options for runtime
+ENV RAM=max
+# ENV RAM=half
+
RUN touch Launch.sh \
&& chmod +x ./Launch.sh \
&& tee -a Launch.sh <<< '#!/bin/sh' \
&& tee -a Launch.sh <<< 'set -eu' \
&& tee -a Launch.sh <<< 'sudo chown $(id -u):$(id -g) /dev/kvm 2>/dev/null || true' \
&& tee -a Launch.sh <<< 'sudo chown -R $(id -u):$(id -g) /dev/snd 2>/dev/null || true' \
+ && tee -a Launch.sh <<< '[[ "${RAM}" = max ]] && export RAM="$(("$(head -n1 /proc/meminfo | tr -dc "[:digit:]") / 1000000"))"' \
+ && tee -a Launch.sh <<< '[[ "${RAM}" = half ]] && export RAM="$(("$(head -n1 /proc/meminfo | tr -dc "[:digit:]") / 2000000"))"' \
+ && tee -a Launch.sh <<< 'sudo chown -R $(id -u):$(id -g) /dev/snd 2>/dev/null || true' \
&& tee -a Launch.sh <<< 'exec qemu-system-x86_64 -m ${RAM:-2}000 \' \
&& tee -a Launch.sh <<< '-cpu Penryn,vendor=GenuineIntel,+invtsc,vmware-cpuid-freq=on,+pcid,+ssse3,+sse4.2,+popcnt,+avx,+aes,+xsave,+xsaveopt,check \' \
&& tee -a Launch.sh <<< '-machine q35,accel=kvm:tcg \' \