]>
Commit | Line | Data |
---|---|---|
ac6da96c | 1 | #!/bin/bash |
8a4b60d9 AT |
2 | # Check which virtualization technology to use |
3 | # We prefer kvm, kqemu, userspace in that order. | |
e5ccf5eb HH |
4 | export PATH=/sbin:/bin:/usr/sbin:/usr/bin |
5 | ||
77537bf2 | 6 | [[ -x /usr/bin/qemu ]] && BIN=/usr/bin/qemu && ARGS="-cpu max" |
cafe6675 HH |
7 | $(lsmod | grep -q '^kqemu ') && BIN=/usr/bin/qemu && ARGS="-kernel-kqemu -cpu host" |
8 | [[ -c /dev/kvm && -x /usr/bin/kvm ]] && BIN=/usr/bin/kvm && ARGS="-cpu host" | |
9 | [[ -c /dev/kvm && -x /usr/bin/qemu-kvm ]] && BIN=/usr/bin/qemu-kvm && ARGS="-cpu host" | |
10 | [[ -c /dev/kvm && -x /usr/libexec/qemu-kvm ]] && BIN=/usr/libexec/qemu-kvm && ARGS="-cpu host" | |
77537bf2 | 11 | [[ -x /usr/bin/qemu-system-$(uname -i) ]] && BIN=/usr/bin/qemu-system-$(uname -i) && ARGS="-cpu max" |
cafe6675 | 12 | [[ -c /dev/kvm && -x /usr/bin/qemu-system-$(uname -i) ]] && BIN=/usr/bin/qemu-system-$(uname -i) && ARGS="-enable-kvm -cpu host" |
8a4b60d9 AT |
13 | |
14 | [[ $BIN ]] || { | |
15 | echo "Could not find a working KVM or QEMU to test with!" >&2 | |
16 | echo "Please install kvm or qemu." >&2 | |
17 | exit 1 | |
18 | } | |
87ae9688 | 19 | |
77537bf2 HH |
20 | # Provide rng device sourcing the hosts /dev/urandom and other standard parameters |
21 | ARGS="$ARGS -smp 2 -m 512 -nodefaults -vga none -display none -no-reboot -device virtio-rng-pci" | |
c226bfdd | 22 | |
87ae9688 HH |
23 | KVERSION=${KVERSION-$(uname -r)} |
24 | ||
97ff396a | 25 | VMLINUZ="/lib/modules/${KVERSION}/vmlinuz" |
87ae9688 | 26 | |
97ff396a HH |
27 | if ! [ -f "$VMLINUZ" ]; then |
28 | [[ -f /etc/machine-id ]] && read MACHINE_ID < /etc/machine-id | |
29 | ||
30 | if [[ $MACHINE_ID ]] && ( [[ -d /boot/${MACHINE_ID} ]] || [[ -L /boot/${MACHINE_ID} ]] ); then | |
31 | VMLINUZ="/boot/${MACHINE_ID}/$KVERSION/linux" | |
32 | else | |
33 | VMLINUZ="/boot/vmlinuz-${KVERSION}" | |
34 | fi | |
87ae9688 HH |
35 | fi |
36 | ||
4bd0ab61 | 37 | exec $BIN $ARGS -kernel $VMLINUZ "$@" |