From 983bd9a77e4afdb2890245653f39d6c6d093a655 Mon Sep 17 00:00:00 2001 From: Zhai Edwin Date: Wed, 22 Dec 2010 21:22:24 +0800 Subject: qemu: Add some checks before enabling KVM Check the missing modules and permission with informative output. [BUGID #599] got fixed. Signed-off-by: Zhai Edwin --- scripts/poky-qemu | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) (limited to 'scripts/poky-qemu') diff --git a/scripts/poky-qemu b/scripts/poky-qemu index 313248ff49..b19a89ddab 100755 --- a/scripts/poky-qemu +++ b/scripts/poky-qemu @@ -29,7 +29,7 @@ usage() { echo " Additional QEMU command-line options can be passed with:" echo " nographic - disables video console" echo " serial - enables a serial console on /dev/ttyS0" - echo " kvm - enables kvm" + echo " kvm - enables KVM when running qemux86/qemux86-64, VT capable CPU required" echo " \"\" - enables extra qemu options, excluding serial and kvm" echo "" echo "Examples:" @@ -171,10 +171,29 @@ while [ $i -le $# ]; do i=$((i + 1)) done +POKY_KVM_WIKI="https://wiki.yoctoproject.org/wiki/How_to_enable_KVM_for_Poky_qemu" # Detect KVM configuration -if [[ "x$KVM_ENABLED" == "xyes" && ! -z "$KVM_CAPABLE" ]]; then - if [[ "x$MACHINE" == "xqemux86" || "x$MACHINE" == "xqemux86-64" ]]; then +if [[ "x$KVM_ENABLED" == "xyes" ]]; then + if [[ -z "$KVM_CAPABLE" ]]; then + echo "You are tring to enable KVM on cpu without VT support. Remove kvm from the command-line, or refer"; + echo "$POKY_KVM_WIKI"; + exit 1; + fi + if [[ "x$MACHINE" != "xqemux86" && "x$MACHINE" != "xqemux86-64" ]]; then + echo "KVM only support x86 & x86-64. Remove kvm from the command-line"; + exit 1; + fi + if [ ! -e /dev/kvm ]; then + echo "Missing KVM device. Have you inserted kvm modules? Pls. refer"; + echo "$POKY_KVM_WIKI"; + exit 1; + fi + if 9<>/dev/kvm ; then SCRIPT_QEMU_OPT="$SCRIPT_QEMU_OPT -enable-kvm" + else + echo "You have no rights on /dev/kvm. Pls. change the owndership as described at"; + echo "$POKY_KVM_WIKI"; + exit 1; fi fi -- cgit v1.2.3-54-g00ecf