Hasher/vm-run

Материал из ALT Linux Wiki

Иногда для запуска тестов в секции %check требуются рутовые привилегии, чтоб обойти это ограничение пакет rpm-build-vm (анонс), который позволяет запустить произвольную команду под qemu с псевдо-рутовыми привилегиями. Он работает по аналогии с virtme, eudyptula-boot, vido и т.д. — бутится Linux ядро где корень файловой системы предоставлен внутрь qemu по протоколу 9p.

Пример, что нужно добавить в spec для обычного userspace пакета (не ядра и не модуля ядра), если пакету нужен запуск make check под рутом:

 BuildRequires: rpm-build-vm
 ...
 %check
 vm-run make check

Установка rpm-build-vm автоматически доставляет ядро un-def в hasher, что может быть излишне при сборке ядра или модуля, поэтому есть пакет rpm-build-vm-run, который не имеет зависимостей к ядру. Пример, для ядра или модуля ядра:

 BuildRequires: rpm-build-vm-run
 ...
 %check
 vm-run "команды запуска тестов..."

Как включить в hasher поддержку kvm?

См. Hasher/FAQ: Как запустить в хэшере qemu с поддержкой kvm. Поддержка kvm есть на всех основых архитектурах, кроме armh.