diff options
Diffstat (limited to 'src')
-rwxr-xr-x | src/qemu.sh | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/src/qemu.sh b/src/qemu.sh index 8f365cb..2ae982d 100755 --- a/src/qemu.sh +++ b/src/qemu.sh | |||
@@ -64,8 +64,36 @@ if [ ! -e "$disk" ]; then | |||
64 | fallocate -l 10GB "$disk" | 64 | fallocate -l 10GB "$disk" |
65 | fi | 65 | fi |
66 | 66 | ||
67 | if grep -q '^flags.*\<vmx\>' /proc/cpuinfo; then | ||
68 | kvm='-enable-kvm -cpu host' | ||
69 | read nested < /sys/module/kvm_intel/parameters/nested | ||
70 | if [ "$nested" != Y ]; then | ||
71 | printf '%s\n' \ | ||
72 | 'Warning: nested KVM is not available' \ | ||
73 | 'Try "make install-nested-kvm"' | ||
74 | fi | ||
75 | else | ||
76 | >&2 printf '%s\n' \ | ||
77 | '' \ | ||
78 | 'Warning: kernel virtual machine extensions (KVM) not available.' \ | ||
79 | 'The VM will be intolerably slow.' \ | ||
80 | 'If your hardware supports KVM, you need to enable it in the BIOS.' \ | ||
81 | '' \ | ||
82 | 'If you are trying to run qemu in a virtual machine, you need to append' \ | ||
83 | 'the kvm-(intel|amd) module parameter "nested=1" on the _host_ machine.' \ | ||
84 | 'Use "make install-nested-kvm" to do so.' \ | ||
85 | '' | ||
86 | kvm= | ||
87 | fi | ||
88 | |||
89 | mem_total=$(grep MemTotal /proc/meminfo | (read _ kb _; echo $((kb / 1024)))) | ||
90 | use_mem=640 | ||
91 | if [ "$mem_total" -le $((use_mem * 2)) ]; then | ||
92 | use_mem=$((mem_total / 2)) | ||
93 | fi | ||
94 | |||
67 | set -x | 95 | set -x |
68 | sudo ${qemu} -enable-kvm -smp 2 -m 640 -k en-us \ | 96 | sudo ${qemu} ${kvm} -smp 2 -m ${use_mem} -k en-us \ |
69 | -vga qxl \ | 97 | -vga qxl \ |
70 | -net nic,model=virtio,macaddr=$MAC \ | 98 | -net nic,model=virtio,macaddr=$MAC \ |
71 | ${USE_NET:+ -net "$NET"} \ | 99 | ${USE_NET:+ -net "$NET"} \ |