diff options
| author | sickcodes <[email protected]> | 2021-03-17 21:50:13 +0000 |
|---|---|---|
| committer | GitHub <[email protected]> | 2021-03-17 21:50:13 +0000 |
| commit | 9af868d0d1d15046f21c54cf0450c12df6c179d6 (patch) | |
| tree | 1809419e262b4bfc571eb6dc5ed293d88775e676 /Dockerfile | |
| parent | Merge pull request #194 from TheHackerCoding/master (diff) | |
| parent | Fix RAM math error for -e RAM=max (diff) | |
| download | docker-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-- | Dockerfile | 7 |
1 files changed, 7 insertions, 0 deletions
@@ -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 \' \ |