canonical_arch="$(uname -m | sed 's/i[456]86/i386/')"
timeout=10m
+accel=kvm:tcg
# Handle command line parsing.
echo "qemu-sanity-check [options]"
echo "Options:"
echo " --help Display this help"
+ echo " --accel=[kvm|tcg] Force KVM or software emulation"
echo " -i|--initrd=initrd Set location of initramfs"
echo " -k|--kernel=vmlinuz Set location of kernel"
echo " -q|--qemu=qemu Set location of qemu/KVM binary"
TEMP=$(getopt \
-o i:k:q:t:V \
--long help \
+ --long accel: \
--long initrd: \
--long kernel: \
--long qemu: \
--help)
usage
;;
+ --accel)
+ accel="$2"
+ shift 2
+ ;;
-i|--initrd)
initrd="$2"
shift 2
# Locate kernel if not specified.
if [ -z "$kernel" ]; then
- kernel="$(ls -vr /boot/vmlinuz-*.$arch | head -1)"
+ kernel="$(ls -1dvr /boot/vmlinuz-*.$arch* 2>/dev/null | grep -v xen | head -1)"
if [ -z "$kernel" ]; then
echo "$0: cannot find a Linux kernel in /boot"
echo "Choose a kernel to test using --kernel=/path/to/vmlinuz"
declare -a argv
i=0
argv[$((i++))]="$qemu"
-argv[$((i++))]="-nographic"
-argv[$((i++))]="-nodefconfig"
+argv[$((i++))]="-display"
+argv[$((i++))]="none"
+argv[$((i++))]="-no-user-config"
argv[$((i++))]="-nodefaults"
+argv[$((i++))]="-machine"
+argv[$((i++))]="accel=$accel"
argv[$((i++))]="-no-reboot"
argv[$((i++))]="-serial"
argv[$((i++))]="file:$test_output"
argv[$((i++))]="-initrd"
argv[$((i++))]="$initrd"
argv[$((i++))]="-append"
-argv[$((i++))]="console=ttyS0 panic=1"
+argv[$((i++))]="console=ttyS0 oops=panic panic=-1"
#echo "${argv[@]}"