]> git.ipfire.org Git - thirdparty/dracut.git/blame - test/run-qemu
might even run without kvm
[thirdparty/dracut.git] / test / run-qemu
CommitLineData
ac6da96c 1#!/bin/bash
8a4b60d9
AT
2# Check which virtualization technology to use
3# We prefer kvm, kqemu, userspace in that order.
e5ccf5eb
HH
4export PATH=/sbin:/bin:/usr/sbin:/usr/bin
5
8a4b60d9
AT
6[[ -x /usr/bin/qemu ]] && BIN=/usr/bin/qemu && ARGS=""
7$(lsmod | grep -q '^kqemu ') && BIN=/usr/bin/qemu && ARGS="-kernel-kqemu "
008bb4f2
HH
8[[ -c /dev/kvm && -x /usr/bin/kvm ]] && BIN=/usr/bin/kvm && ARGS=""
9[[ -c /dev/kvm && -x /usr/bin/qemu-kvm ]] && BIN=/usr/bin/qemu-kvm && ARGS=""
709302e3 10[[ -c /dev/kvm && -x /usr/libexec/qemu-kvm ]] && BIN=/usr/libexec/qemu-kvm && ARGS=""
b7774da9 11[[ -x /usr/bin/qemu-system-$(uname -i) ]] && BIN=/usr/bin/qemu-system-$(uname -i) && ARGS=""
ce999bff 12[[ -c /dev/kvm && -x /usr/bin/qemu-system-$(uname -i) ]] && BIN=/usr/bin/qemu-system-$(uname -i) && ARGS="-enable-kvm"
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
HH
19
20KVERSION=${KVERSION-$(uname -r)}
21
97ff396a 22VMLINUZ="/lib/modules/${KVERSION}/vmlinuz"
87ae9688 23
97ff396a
HH
24if ! [ -f "$VMLINUZ" ]; then
25 [[ -f /etc/machine-id ]] && read MACHINE_ID < /etc/machine-id
26
27 if [[ $MACHINE_ID ]] && ( [[ -d /boot/${MACHINE_ID} ]] || [[ -L /boot/${MACHINE_ID} ]] ); then
28 VMLINUZ="/boot/${MACHINE_ID}/$KVERSION/linux"
29 else
30 VMLINUZ="/boot/vmlinuz-${KVERSION}"
31 fi
87ae9688
HH
32fi
33
bdd62605 34exec sudo $BIN $ARGS -kernel $VMLINUZ -cpu host "$@"