Hi everyone,
I am attempting to setup a domU connected to my secondary nic with pci-passthrough, which I plan to use as a firewall for future domU's. For my dom0 I am using ubuntu 12.10 and have recompiled the kernel to include all the xen parts.
( In dom0 ) # cat /boot/config-3.5.7.4 | grep -i xen CONFIG_XEN=y CONFIG_XEN_DOM0=y CONFIG_XEN_PRIVILEGED_GUEST=y CONFIG_XEN_PVHVM=y CONFIG_XEN_MAX_DOMAIN_MEMORY=500 CONFIG_XEN_SAVE_RESTORE=y CONFIG_PCI_XEN=y CONFIG_XEN_PCIDEV_FRONTEND=y CONFIG_XEN_BLKDEV_FRONTEND=y CONFIG_XEN_BLKDEV_BACKEND=m CONFIG_NETXEN_NIC=y CONFIG_XEN_NETDEV_FRONTEND=y CONFIG_XEN_NETDEV_BACKEND=y CONFIG_HVC_XEN=y CONFIG_HVC_XEN_FRONTEND=y # Xen driver support CONFIG_XEN_BALLOON=y CONFIG_XEN_SELFBALLOONING=y CONFIG_XEN_BALLOON_MEMORY_HOTPLUG=y CONFIG_XEN_SCRUB_PAGES=y CONFIG_XEN_DEV_EVTCHN=y CONFIG_XEN_BACKEND=y CONFIG_XENFS=y CONFIG_XEN_COMPAT_XENFS=y CONFIG_XEN_SYS_HYPERVISOR=y CONFIG_XEN_XENBUS_FRONTEND=y CONFIG_XEN_GNTDEV=y CONFIG_XEN_GRANT_DEV_ALLOC=y CONFIG_SWIOTLB_XEN=y CONFIG_XEN_TMEM=y CONFIG_XEN_PCIDEV_BACKEND=y CONFIG_XEN_PRIVCMD=y CONFIG_XEN_ACPI_PROCESSOR=y
My /etc/default/grub file has: GRUB_CMDLINE_LINUX="apparmor=0 xen-pciback.hide=(02:01.0)" GRUB_CMDLINE_XEN="dom0_mem=384M,max:384M dom0_max_vcpus=1 no-bootscrub"
In /etc/xen/xl.conf run_hotplug_scripts=0 because I eventually want to have additional domU's connect the firewall as a backend
# xl pci-assignable-list 0000:02:01.0
This is the correct BDF for my second nic, so I believe that I have pci-passthrough setup correctly.
I have a second 20g disk at /dev/sdb that I will be using for the lvm setup # lvm pvcreate /dev/sdb # lvm vgcreate DomUs /dev/sdb # lvm lvcreate -L 10g -n firewall DomUs # mkfs.ext4 /dev/DomUs/firewall
This is what I have for /etc/xen/firewall.cfg
name = "firewall" memory = 512 disk = ['phy:/dev/DomUs/firewall,xvda,w'] pci = ['0000:02:01.0'] vif = ['script=vif-nat'] kernel = "/var/lib/xen/images/ubuntu12.10-netboot/vmlinuz" ramdisk = "/var/lib/xen/images/ubuntu12.10-netboot/initrd.gz" extra = "debian-installer/exit/always_halt=true -- console=hvc0 -- iommu=soft"
The installer begins and then fails while trying to connect to the internet. For right now I am running this all inside of VMware Fusion with two network adapters set in bridge mode. My router is running DHCP and my dom0 has no issues receiving an IP address, so I thought the same would be true for eth1. I have also tried manually assigning an ip, both manually inside of the installer and also with
vif = ['ip="192.168.1.30, NETMASK="255.255.255.0", GATEWAY="192.168.1.1, script=vif-nat"']
After aborting the install i see: # cat /var/log/xen/xl-firewall.log Waiting for domain firewall (domid 1) to die [pid 1250] Domain 1 has shut down, reason code 0 0x0 Action for shutdown reason code 0 is destroy Domain 1 needs to be cleaned up: destroying the domain libxl: error: libxl_device.c:1085:libxl__wait_for_backend: Backend /local/domain/0/backend/pci/1/0 not ready Done. Exiting now
I feel like I am missing a step or basic setting somewhere. Any suggestions would be greatly appreciated.
- Danny |