archlinux运行kvm all in one主机,包括核显和pci直通 保姆级教程 您所在的位置:网站首页 5800h4800h核显 archlinux运行kvm all in one主机,包括核显和pci直通 保姆级教程

archlinux运行kvm all in one主机,包括核显和pci直通 保姆级教程

2024-06-14 04:28| 来源: 网络整理| 查看: 265

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替代vim

sudo 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 sshd

virt-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 实验室设备网 版权所有