Răsfoiți Sursa

fix(tools):支持在无kvm支持下运行DragonOS (#1010)

* fix(tools):支持在无kvm支持下运行DragonOS

* fix: 修正问题:在非Linux上面加速选项选择的不正确

---------

Co-authored-by: jinlong <[email protected]>
黄铭涛 4 luni în urmă
părinte
comite
80c9e8f8f0
1 a modificat fișierele cu 13 adăugiri și 4 ștergeri
  1. 13 4
      tools/run-qemu.sh

+ 13 - 4
tools/run-qemu.sh

@@ -48,10 +48,16 @@ qemu_trace_usb=trace:usb_xhci_reset,trace:usb_xhci_run,trace:usb_xhci_stop,trace
 
 # 根据架构设置qemu的加速方式
 if [ ${ARCH} == "i386" ] || [ ${ARCH} == "x86_64" ]; then
-    qemu_accel="kvm"
-    if [ $(uname) == Darwin ]; then
-        qemu_accel=hvf  
+  qemu_accel="kvm"
+  if [ $(uname) == Darwin ]; then
+    qemu_accel=hvf
+  else
+    # 判断系统kvm模块是否加载
+    if [ ! -e /dev/kvm ]; then
+      # kvm模块未加载,使用tcg加速
+      qemu_accel="tcg"
     fi
+  fi
 fi
 
 # uboot版本
@@ -82,7 +88,10 @@ BIOS_TYPE=""
 VIRTIO_BLK_DEVICE=false
 # 如果qemu_accel不为空
 if [ -n "${qemu_accel}" ]; then
-    QEMU_ACCELARATE="-machine accel=${qemu_accel} -enable-kvm "
+    QEMU_ACCELARATE=" -machine accel=${qemu_accel} "
+  if [ "${qemu_accel}" == "kvm" ]; then
+    QEMU_ACCELARATE+=" -enable-kvm "
+  fi
 fi
 
 if [ ${ARCH} == "i386" ] || [ ${ARCH} == "x86_64" ]; then