Как установить версию qemu и libvirt, которая не поставляется с apt-get

Вопрос или проблема

Мне нужно установить QEMU 2.5.0 и libvirt 1.3.3, чтобы обойти проблемы с драйвером Nvidia (Код 43) при использовании GPU passthrough на Windows VM. См. первую статью в разделе устранение неисправностей на src для подробностей.

Я установил KVM с помощью sudo apt-get install qemu-kvm qemu-utils qemu-efi ovmf libvirt-bin libvirt-de, но это дает мне более старые версии.

С помощью virsh команда version выводит:

Скомпилировано с библиотекой: libvirt 1.3.1
Используя библиотеку: libvirt 1.3.1
Используя API: QEMU 1.3.1
Запущенный гипервизор: QEMU 2.5.0

Я довольно новичок в Ubuntu, так что может кто-то объяснить, как мне обновить или установить QEMU 2.5.0 и libvirt 1.3.3 (или более позднюю версию)?

Вероятно, это не связано с версией, которую вы имеете/имели. Есть несколько изменений в конфигурации вашей виртуальной машины (xml-файл), которые необходимо внести, чтобы обойти намеренные попытки Nvidia заблокировать функциональность виртуальных машин на своих массовых/не рабочих картах. Убедитесь, что к виртуальной машине не подключен виртуальный дисплей с помощью инструмента virt-manager, затем

  1. Выключите вашу виртуальную машину и virt-manager

  2. Откройте командную строку и введите:

    sudo virsh edit vmnamehere
    
  3. Замените первую строку на:

    <domain type="kvm" xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
    

    (Код можно найти здесь: https://paste.ubuntu.com/p/HtXhxTTvjS/)

  4. Прокрутите до самого конца конфигурационного файла и прямо перед </domain> вставьте:

    <qemu:commandline>
      <qemu:arg value="-cpu"/>
      <qemu:arg value="host,hv_time,kvm=off,hv_vendor,hv_vendor_id=null"/>
    </qemu:commandline>
    

    (Код можно найти здесь: https://paste.ubuntu.com/p/HtXhxTTvjS/)

  5. Сохраните + выйдите из того редактора, который вы использовали

  6. Перезапустите приложение virt-manager

Это работает для меня каждый раз. Надеюсь, вы не сдались на этом, так как я вижу, что это старая тема. Хороший способ проверить, правильно ли вы все делаете, это попробовать GPU passthrough на ОС, которая точно будет работать, например на Linux / Ubuntu / Debian VM.

Ответ или решение

Чтобы установить QEMU 2.5.0 и libvirt 1.3.3 на Ubuntu, используя версии, которые не поставляются с apt-get, необходимо выполнить несколько шагов, включая сборку из исходных кодов. Этот процесс может показаться сложным для новичков в Ubuntu, но он довольно понятный, если следовать инструкциям. Ниже представлено пошаговое руководство.

Шаг 1: Установка необходимых зависимостей

Прежде всего, вам потребуется установить некоторые пакеты, которые необходимы для сборки QEMU и libvirt. Откройте терминал и выполните следующие команды:

sudo apt-get update
sudo apt-get install git build-essential pkg-config \
  libglib2.0-dev libaio-dev libcap-dev \
  libavahi-client-dev libavahi-common-dev \
  libusb-1.0-0-dev libpixman-1-dev \
  libfdt-dev python3-pip python3-setuptools \
  python3-requests \
  libncurses5-dev libncursesw5-dev \
  gcc make zlib1g-dev \
  libpixman-1-dev libxml2-dev \
  systemd

Шаг 2: Скачивание исходных кодов QEMU и libvirt

Теперь вам нужно скачать исходные коды необходимой версии QEMU и libvirt. Вы можете использовать git для клонирования репозиториев. Создайте директорию для сборки и перейдите в неё:

mkdir ~/qemu-build
cd ~/qemu-build

Скачивание QEMU

git clone https://git.qemu.org/git/qemu.git
cd qemu
git checkout v2.5.0

Скачивание libvirt

В новом терминале (или вернитесь в директорию сборки):

git clone https://gitlab.com/libvirt/libvirt.git
cd libvirt
git checkout v1.3.3

Шаг 3: Сборка и установка QEMU

Перейдите в директорию QEMU и выполните следующие команды для сборки и установки:

cd ~/qemu-build/qemu
./configure --enable-kvm --enable-vhost-net --enable-spice --enable-gtk --enable-glusterfs --enable-fdt --enable-vnc --enable-xen --enable-lzo
make
sudo make install

Шаг 4: Сборка и установка libvirt

Теперь переключитесь на сборку libvirt:

cd ~/qemu-build/libvirt
./autogen.sh --system
make
sudo make install

Шаг 5: Обновление конфигурации

После успешной сборки и установки QEMU и libvirt вам может потребоваться обновить вашу конфигурацию. Убедитесь, что пути установлены правильно, добавив следующие строчки в файл ~/.bashrc:

export PATH=$PATH:/usr/local/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

Не забудьте перезапустить терминал или выполнить команду source ~/.bashrc, чтобы применить изменения.

Шаг 6: Проверка установки

После завершения процесса установки лучше всего проверить, что версии QEMU и libvirt установлены правильно:

qemu-system-x86_64 --version
virsh --version

Вы должны увидеть версии QEMU 2.5.0 и libvirt 1.3.3 или выше.

Заключение

Установка QEMU и libvirt из исходного кода требует определенных знаний и времени, но это может помочь решить проблемы, связанные с установкой более новых версий, чем те, что доступны в стандартных репозиториях Ubuntu. Убедитесь, что после установки также правильно настроены параметры вашего виртуального менеджера для обеспечения корректного выполнения GPU passthrough. Далее, вы сможете справиться с возможными проблемами, возникающими при использовании Nvidia драйверов.

Оцените материал
Добавить комментарий

Капча загружается...