Replies: 4 comments 5 replies
-
Grab the pciid of the device that don't work to check if there is native drivers in iPXE, if they are using virtio devices then maybe they are using a different pciid from what has been added to iPXE There is also a named config for vbox, but that is probably more useful when you are building a ROM. In EFI mode you should also have SNP and NII which iPXE should be able to fallback on, but maybe they dont include any efi drivers for the NICs? |
Beta Was this translation helpful? Give feedback.
-
OK, I've tried something else. If you SVN the Virtualbox source you'll find this folder https://www.virtualbox.org/browser/vbox/trunk/src/VBox/Devices/PC/ipxe which is an old version (would love to identify which exact git hash) of IPXE. If you copy 2 files from the current version to fix some compile errors with latest gcc:-
And if you delete one driver folder which throws a load of errors:-
With the following it will create a i386 BIOS ISO:-
However I get the same results. Intel driver works, virtio-net doesn't:- So it would appear virtio-net has never been designed to run from ISO, from chainload, from anything other than being custom built in someway by the VirtualBox ROM build process. The folder above src has a Makefile.kmk which appears to be some other buildchain I need to study. It's a shame cause I'd love to get virtio-net working from a ISO or chainload as I am sure performance will be better with large images. Chainload or ISO are needed cause not enough space to offer HTTP and other features within the 64K ROM limits. |
Beta Was this translation helpful? Give feedback.
-
I added :3 to the debug and got no further info. I've tried the ISO I made with QEMU (no KVM as I'm on MacOs host):- With all 3 of these virtio-net variations it works in as far as the virtio-net is detected and link comes up:-
So obviously there's an issue with VirtualBox. I'm at a loss, would be interested if anyone reading who runs VBox on Windows or Linux can successfully use the ISO as created in post #1 above? I'm running 7.0.10 on Monterey 12.6.8 VirtualBox ticket created for those interested: https://www.virtualbox.org/ticket/21813 |
Beta Was this translation helpful? Give feedback.
-
OK @NiKiZe VirtualBox have told me the issue is with iPXE and have produced a patch for iPXE, and it works:-
All credit to aeichne:-
I've tested this patched version with qemu and no regressions or anything. |
Beta Was this translation helpful? Give feedback.
-
I am trying to make a ISO to run under VirtualBox. If I include the Intel 82545EM drivers and virtio-net drivers, it only works and detects the adaptor when I specify the Intel one in VirtualBox config. If I change it to virtio-net it does not work - the adapter isn't even detected. I've tried EFI, BIOS 32-bit/64-bit. This example is BIOS 32-bit to keep things simple... as expected if I choose for example "PCnet-FAST III" as the VBox interface it does not work just the same as virtio doesn't, as I am not including driver for that in my ISO. However I'd expect virtio to work as I am building the driver!
ISO Build script:
Output from build script:-
Screenshot of issue:-
Am I missing some sort of config or flag to get the virtio driver working? Thanks in advance.
P.S. Worth mentioning perhaps that official ISO downloaded from https://boot.ipxe.org/ipxe.iso doesn't work either - shows no results for ifstat command. Also if I do a
make bin-i386-efi/ipxe.iso
I get a working ISO if I switch to EFI, but it is using SNP and not the virtio drivers as I required. My end goal is not to actually create an ISO, I've just done this to simplify the problem I was experiencing with chainloading virtio which also doesn't work.Beta Was this translation helpful? Give feedback.
All reactions