archlinux运行kvm all in one主机,包括核显和pci直通 保姆级教程 | 您所在的位置:网站首页 › 5800h4800h核显 › archlinux运行kvm all in one主机,包括核显和pci直通 保姆级教程 |
archlinux 为什么选择archlinux,因为文档齐全 ,且可以滚动更新。 已经安装好了一个archlinux 在一个5G的分区上,用的efi grub启动 安装的包 base linux dhcpcd nano sudo grub efibootmgr exfat-utils 本文停止更新, 新文:https://dev.leiyanhui.com/arch/install-kvm 准备工作sudo pacman -S neofetch fish wget 配置开机登录提示 和自动打开fishcd ~ && nano readme.md输入一些提示信息 nano .bashrc ------ neofetch cat ~/readme.md fish nano替代vimsudo ln -s /bin/nano /bin/vi sudo ln -s /bin/nano /bin/vim 安装yay(非必须)nano /etc/pacman.conf 文件末尾添加以下两行: --------- [archlinuxcn] Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch挂一下代理或者不挂也行, export http_proxy="10.0.0.200:7890" export https_proxy="10.0.0.200:7890" sudo pacman -Sy sudo pacman -S archlinuxcn-keyring sudo pacman -S yay 安装基本的qemu和libvirsudo pacman -S qemu-base sudo pacman -S ovmf #新版edk2-ovmf已经包含在qemu-base 包里面了 这行不用运行 sudo pacman -S libvirt # libvirt服务器端和 virtsh命令行客户端 sudo pacman -S dnsmasq # net网络需要的dns分配 sudo pacman -S usbutils # 查看usb设备id用的工具包我这次选择了 libvir 作为kvm的管理工具,因为纯shell的方式 有一些 权限问题,还有开机启动启动,pci和usb热拔插,以及其他一些细节处理起来还是很麻烦。所以 还是决定用 管理工具来处理 在无图形界面的archlinux上安装使用virt-manager安装sudo pacman -S arch启动x11转发sudo pacman -S xorg-xauth # x11转发需要的依赖 touch ~/.Xauthority && chmod 600 ~/.Xauthority sudo nano /etc/ssh/sshd_config ---- AddressFamily inet X11Forwarding yes X11DisplayOffset 10 X11UseLocalhost yes重启sshd sudo systemctl reload sshd sudo systemctl restart sshdvirt-manager 虽然可以打开,但是因为权限问题是连不上本地主机的 配置普通用户的权限sudo usermod -a -G kvm $(whoami) sudo usermod -a -G libvirt $(whoami) sudo nano /etc/libvirt/libvirtd.conf #找到这里两行 取消注释 unix_sock_group = "libvirt" unix_sock_ro_perms = "0777" 配置 libvirtd 服务sudo systemctl enable libvirtd sudo systemctl start libvirtd 使用支持x11 server的ssh客户端登录到宿主机win下推荐 MobaXterm 运行 virt-manager 正常可以打开 virt-manager图形界面了 virt-manager 应该可以用了 配置pci设备直通和vgpu核显的直通查看我之前的文章,usb是不需要任何处理就可以直通的,这里处理部分pice设备的直通和intel核显的 vgpu sudo nano /etc/default/grub编辑 GRUB_CMDLINE_LINUX_DEFAULT 添加 intel_iommu=on i915.enable_guc=0 重启 sudo grub-mkconfig -o /boot/grub/grub.cfg sudo mkinitcpio -P sudo reboot 需要直通的pci设备挂到vfiosudo nano /etc/modprobe.d/vfio.conf具体查看以前的文章关于vfio.conf 的部分 启用几个内核模块sudo modprobe kvmgt vfio-iommu-type1 mdev i915 enable_gvt=1sudo nano /etc/modprobe.d/gvt-g.conf ------- options i915 enable_gvt=1然后重启 检查显卡lspci -D -nn # 查看显卡id 一般核显都是 0000:00:02.0 ls /sys/devices/pci0000:00/0000:00:02.0/mdev_supported_types目录不存在,lsmod | grep kvm 发现 kvmgt 没有启用 sudo nano /etc/default/grub 中的GRUB_CMDLINE_LINUX_DEFAULT 再添加 i915.enable_gvt=1 这里发现一个kvmgt 的坑sudo modprobe kvmgt vfio-iommu-type1 mdev 在重启后就会失效 嵌套虚拟化sudo nano /etc/modprobe.d/kvm_intel.conf ------ options kvm_intel nested=1 |
CopyRight 2018-2019 实验室设备网 版权所有 |