wanmin444 发表于 2015-10-10 10:28:57

KVM启动

1. 确定硬件是否支持iommu
  这是一个硬件的功能,intel架构上叫vt-d。


  从BIOS上可以看出来, 不同版本放的位置不一样。
  我的是在 Security->Virtualization->VT-d
  

2. 检查CPU是否支持 #egrep"vmx|svm"/proc/cpuinfo



3.安装软件qemu-1.5.3.tar.bz2(可以在configure时只指定x86)
  

4. 在host上unbind设备加载pci_stub模块, modprobe pci_stub

选中某个设备, lspci -s 03:00.0 -n, 03:00.0 0280: 8086:0085 (rev 34)
bind/unbind


[*]
echo "8086 0085" > /sys/bus/pci/drivers/pci-stub/new_id
[*]
echo 0000:03:00.0 > /sys/bus/pci/devices/0000:01:00.0/driver/unbind
[*]
echo 0000:03:00.0 > /sys/bus/pci/drivers/pci-stub/bind

5. 启动一个配置好的img文件
  如下写的脚本
  #!/bin/bash

ID="8086 0443"

PCI="0000:06:01"

IMG="/root/test_image/sles11sp2.img"

HOST=" -vnc 172.16.200.166:1 "

PCIX=" -device pci-assign,host="${PCI}

CDROM=" -cdrom /root/QAT/driver.iso "
  CMD="qemu-system-x86_64 -m 2048 -smp 4 -hda "${IMG}${HOST}" -enable-kvm "

#ADD CCK

if [ 1 -eq 0 ];then

echo $ID > /sys/bus/pci/drivers/pci-stub/new_id

for i in 0 1 2 3

do

echo ${PCI}"."$i > /sys/bus/pci/devices/${PCI}"."$i/driver/unbind

echo ${PCI}"."$i > /sys/bus/pci/drivers/pci-stub/bind

CMD=${CMD}${PCIX}.$i

done

fi
  #ADD ETH

PCI_eth="0000:02:00.1"

ID_eth="8086 1521"

PCIX_eth=" -device pci-assign,host="${PCI_eth}

echo $ID_eth > /sys/bus/pci/drivers/pci-stub/new_id

echo ${PCI_eth} > /sys/bus/pci/devices/${PCI_eth}/driver/unbind

echo ${PCI_eth} > /sys/bus/pci/drivers/pci-stub/bind

CMD=${CMD}${PCIX_eth}
  #ADD CDROM

CMD=${CMD}${CDROM}

echo $CMD
  rmmod kvm_intel

rmmod kvm

modprobe kvm

modprobe kvm_intel

$CMD


  
  
  
  
  

版权声明:本文为博主原创文章,未经博主允许不得转载。
页: [1]
查看完整版本: KVM启动