mirror of
https://github.com/cloud-hypervisor/cloud-hypervisor.git
synced 2024-08-21 07:21:15 +00:00
Having the virtual IOMMU created with --iommu is one thing, but we also need a way to decide if a virtio-blk device should be attached to this virtual IOMMU or not. That's why we introduce an extra option "iommu" with the value "on" or "off". By default, the device is not attached, which means "iommu=off". One side effect of this new option is that we had to introduce a new option for the disk path, simply called "path=". Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
57 lines
1.7 KiB
Plaintext
57 lines
1.7 KiB
Plaintext
#cloud-config
|
|
users:
|
|
- name: cloud
|
|
passwd: $6$7125787751a8d18a$sHwGySomUA1PawiNFWVCKYQN.Ec.Wzz0JtPPL1MvzFrkwmop2dq7.4CYf03A5oemPQ4pOFCCrtCelvFBEle/K.
|
|
sudo:
|
|
- ALL=(ALL) NOPASSWD:ALL
|
|
write_files:
|
|
-
|
|
path: /etc/systemd/network/00-static-l1.network
|
|
permissions: 0644
|
|
content: |
|
|
[Match]
|
|
MACAddress=12:34:56:78:90:ab
|
|
|
|
[Network]
|
|
Address=192.168.2.2/24
|
|
Gateway=192.168.2.1
|
|
|
|
-
|
|
path: /etc/systemd/network/00-static-l2.network
|
|
permissions: 0644
|
|
content: |
|
|
[Match]
|
|
MACAddress=de:ad:be:ef:12:34
|
|
|
|
[Network]
|
|
Address=192.168.2.3/24
|
|
Gateway=192.168.2.1
|
|
|
|
-
|
|
path: /etc/systemd/system/vfio.service
|
|
permissions: 0644
|
|
content: |
|
|
[Unit]
|
|
Description=VFIO test systemd service
|
|
|
|
[Service]
|
|
Type=simple
|
|
ExecStart=/bin/bash /usr/bin/cloud-hypervisor-vfio.sh
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|
|
|
|
-
|
|
path: /usr/bin/cloud-hypervisor-vfio.sh
|
|
permissions: 0755
|
|
content: |
|
|
#!/bin/bash
|
|
|
|
mount -t 9p -o trans=virtio cloud_hypervisor /mnt -oversion=9p2000.L,posixacl,cache=loose
|
|
modprobe vfio_iommu_type1 allow_unsafe_interrupts
|
|
modprobe vfio_pci
|
|
bash -c "echo 0000:00:03.0 > /sys/bus/pci/devices/0000\:00\:03.0/driver/unbind"
|
|
bash -c "echo 1af4 1041 > /sys/bus/pci/drivers/vfio-pci/new_id"
|
|
|
|
/mnt/cloud-hypervisor --console off --serial tty --kernel /mnt/vmlinux --cmdline "console=ttyS0 reboot=k panic=1 nomodules i8042.noaux i8042.nomux i8042.nopnp i8042.dumbkbd root=/dev/vda2 VFIOTAG" --disk path=/mnt/clear-cloudguest.img path=/mnt/cloudinit.img --cpus 1 --memory size=512M --rng --device /sys/bus/pci/devices/0000:00:03.0/
|