virtio support
-
While I found this ticket (https://forums.fogproject.org/topic/453/virtio-drivers), it does not have much response and it is very old.
So, I’d like to ask about the feasibility of supporting virtio drivers (NIC and HDD). Currently, when I have a VM that has a virtio NIC, it fails to ever load the FOG menu, sitting on bringing up “net0” before ultimately rebooting the machine. When I have a VM that has a virtio HDD (for either pulling or pushing images), FOG starts the task and then freaks out with a “no HDD found”.
I am running an older build of FOG (#5688)
-
@mrayzies said:
I am running an older build of FOG (#5688)
Well then you might want to start by upgrading to the very latest version. I am not sure if things will work there out of the box but if we fix things you will have to step to the latest anyway. That said I think I need to tell you that virtio NIC and HDD seem to be two very different stories in your case. The NIC seems to hang on iPXE (you said it fails to load the FOG menu) while the HDD issue is within the linux kernel.
I am wondering about HDD issues because we have the following drivers/options enabled in the kernel:
CONFIG_VIRTIO=y CONFIG_VIRTIO_BLK=y CONFIG_SCSI_VIRTIO=y CONFIG_VIRTIO_PCI=y CONFIG_VIRTIO_PCI_LEGACY=y CONFIG_VIRTIO_BALLOON=y CONFIG_VIRTIO_MMIO=y CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y CONFIG_VIRTIO_NET=y
About the iPXE issue… Try
ipxe.pxe
oripxe.kpxe
instead ofundionly.kpxe
as iPXE actually has a native virtio NIC driver (which is not included in undionly binaries!). -
The machines are already set to use
ipxe.pxe
from our DHCP server:filename "ipxe.pxe";
. I can promise that DHCP server is the one controlling what file they boot.As far as the HDD issue, maybe I am misunderstanding, but I don’t think it’s the linux kernel. If I have a VM with a virtio HDD, I can boot it just fine. It’s when FOG is trying to push/pull an image that FOG itself states there is no HDD. Thus I think it’s the kernel FOG is using.
If you think it would be useful, I can try and find some time to spin up a test FOG server with the latest and greatest version to see how it behaves.
-
@mrayzies said:
… Thus I think it’s the kernel FOG is using…
That’s exactly what I meant! The FOG client (we call it FOS) booting up after the PXE stuff and doing all the hard imaging work is a very minimal linux system using a linux kernel build from the official kernel main branch source code. So FOS not finding your HDD is very much a linux kernel driver issue I’m afraid. Check out our kernel config and please let us know if you see any drivers missing!
About the NIC issue: Please try building your own iPXE binary (can be done online, very easy) and add our embedded script - PLUS add
virtio-net
in the “Enable Debug” field at the end. This way you should see some colored output which might help us to find out what’s wrong. Please take a picture or video (readable text is important!). -
@Sebastian-Roth said in virtio support:
About the NIC issue: Please try building your own iPXE binary (can be done online, very easy) and add our embedded script - PLUS add
virtio-net
…I noticed there was no reference to the ipxe embedded script in the wiki. Should we provide a link to the current script in the wiki. That way if you change the script for any reason the wiki will still have the current code.
@OP Having a screen shot of the exact error or even better a clear video of where the exact error occurs will help greatly. If the error scrolls by to fast some mobile phones have a slow motion mode so we can actually see the error.
-
@george1421 said in virtio support:
Should we provide a link to the current script in the wiki
Great idea! Added…
-
I’ll try to get a video/screenshots of the situation shortly.
As far as trying an updated FOG and/or a custom kernel… I’ll add it to my queue, but it may be a while before I can get to it; I’ll try to keep you posted.