No meu caso, estava falhando devido a falta do módulo virtio_pci e corrigi-lo com:
modprobe virtio_pci
Eu tento executar uma máquina virtual qemu tendo uma pasta compartilhada com o host. Não importa o que eu faça, sempre tenho o mesmo erro: 9pnet_virtio: no channels available for device share
.
A máquina host está no Linux.
O kernel foi compilado com todas as opções 9P e virtio habilitadas ( link ).
Aqui está meu script para executar o qemu:
#! /bin/bash
HDA=archlinux.img
HDB=myHome.img
KERNEL=linux/arch/x86/boot/bzImage
if [ -n "${KDB}" ]; then
KGD_WAIT='kgdbwait'
fi
CMDLINE="root=/dev/sda1 rw vga=792 console=ttyS0 kgdboc=ttyS1 ${KGD_WAIT}"
FLAGS="--enable-kvm -s"
VIRTFS+=" --virtfs local,path=./share/,mount_tag=share,security_model=passthrough,id=share "
exec qemu-system-x86_64 ${FLAGS} \
-hda "${HDA}" -hdb "${HDB}" \
${VIRTFS} \
-net user -net nic \
-serial stdio -serial tcp::1234,server,nowait \
-boot c -m 1G \
-kernel "${KERNEL}" -append "${CMDLINE}"
Quando montei a pasta manualmente ( link )
mkdir share_folder
mount -t 9p -o trans=virtio,version=9p2000.L share share_folder
O resultado é o mesmo.
No meu caso, estava falhando devido a falta do módulo virtio_pci e corrigi-lo com:
modprobe virtio_pci
Tags virtualization qemu linux virtio