-
Notifications
You must be signed in to change notification settings - Fork 45
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Feature Request] Support for PXE boot #2386
Comments
Related issue, and some basic information as to where to look currently for documentation on these network drivers: #2123 |
So it turns out that network boot (PXE boot and HTTP(S) boot) is a bit of a collaboration between the boot manager and the network boot drivers, not just a self-contained process which you can launch - i.e. a non-trivial amount of the relevant logic needs to be present in the boot manager (in our case OpenCore, or a boot entry protocol driver for OpenCore). But watch this space... |
@mikebeaton Thank you very much for your work. I've configured and tried your OpenNetworkBoot and I'm almost happy, because for me it's working partially. Booting Linux ISOs with iVentoy is working without any problem, but when i try to boot a Windows PE, the display remains black after the PE files are loaded and the Windows logo appears. Booting the same Windows PE images over the UEFI boot menu is working without any problem. Could it be a video driver issue? Haven't tried to boot macOS Recovery yet. |
So, almost good news. ;) Does Windows PE boot directly from OpenCore on that machine (i.e. OpenCore in the equation, but OpenNetworkBoot out of it)? Since you mentioned Windows PE working via UEFI boot, but didn't mention OpenCore even though Window PE is showing in your OpenCore menu, I'm guessing not? Have you tried setting SyncRuntimePermissions? |
It is indeed the case that my Win PE can no longer be started via OpenCore. Here, too, the boot process ends at the Windows logo. The booter quirk SyncRuntimePermissions is activated. I don't know exactly what has changed in the last updates, but I know that booting Win PE via OC has always worked. I haven't started it for a while now. I'll try it with the OC debug version and post the logs when I have time. |
Please can you first check whether Win PE does or doesn't start with the current release of OpenCore (i.e. to find out whether the issue of Win PE not starting is to do with the OpenNetworkBoot changes or not). If it actually is to do with these changes, that is very helpful to know and please let me know here. (With a debug log when you have time.) If it is to not do with OpenNetworkBoot then that would need opening as a separate issue. Also with a debug log, please. If it is a main OC issue, and if you can find a little more time again, a bisect to find the commit which introduced the issue would be very helpful. |
I can boot Win PE from a USB using the most recent CI build of my PXE and HTTP(S) Boot pull request: https://github.com/acidanthera/OpenCorePkg/actions/workflows/build.yml Be aware of the potential relevance of all of these quirks and see also Configuration.pdf 12.5 Tips and Tricks §9 How can I decide which Booter quirks to use? |
I was able to solve the problem of the non-functioning Windows PE boot via OC. In my case it was the DMAR table that was responsible. I had experimented with the address ranges of the Reserved Memory Regions (should actually be removed completely). Now that I have removed them completely, Windows PE can be started again with OC without any problems. But unfortunately this does not completely solve the PXE boot via OC. Now Windows PE is booted completely, but there are graphics problems that do not occur when booting locally via OC. |
Which WinPE iso are you booting? |
Ok, this problem could also be resolved. In the iVentoy screen, where you can choose the image to load, you can also set the resolution for the selection screen. I have to take the highest available resolution for the working Windows PE boot. I had set iVentoy to a lower resolution, because of graphical errors that occurred when booted over the UEFI boot menu. Now I can set iVentoy to the highest resolution in the selection screen by default, which I prefer. THX again for your work! |
Since this is an iVentoy problem you could try using OpenNetworkBoot's HTTP Boot support to boot your desired You would not need to set up any DHCP or PXE helper server, you can just use the OpenNetworkBook |
This works. RamDiskDxe.efi has just been added to OpenNetworkBoot PR, as it is needed for HTTP(S) Boot .iso/.img support (if not already present in firmware - see OpenNetworkBoot README). |
Do you have an example Config.plist for me of how you set it up so that I can test it? Greetings Coban |
Bearing in mind that this is in no way supported yet:
Feel free to check these out. |
So I followed your readme strictly to find out which drivers I needed. A number of them were missing on my Z590, I had to find out in the debug version which ones were there and which ones needed to be added. Later I also ran the whole thing on my VMware. https://www.youtube.com/watch?v=dp6Owjr5C2U I didn't quite understand why only 2 entries appeared on the real Z590. I can report that the WDS server works excellently. See Video. But I have a request for Mike, can't you put this NetworkBoot on the "Auxiliary" on the OpenCanopy menu? In any case, great work from you, thank you. Regards, Coban PS: if the DebugLog can help you; from both systems. |
@CobanRamo - Thanks for testing it and putting up some clear reports. There is an optional Where you have only two entries on the Z590, it only has HTTP Boot. Possibly you don't have PXE Boot natively on the Z590? (Or possibly you will get more entries if you enter OpenCore via the BIOS boot menu. That happens on a test HP I have.) Perhaps we should provide the few additional required drivers for PXE boot as well... If you select HTTP Boot and you don't see at least the ">>Start HTTP Boot" text (i.e. as you do not in your video on VMWare, AFAICT) then the HTTP Boot you have (or VMWare has, in this case; I hadn't tested this but will try, thanks) is not working in the context of OpenCore. You should try unloading the existing HttpBootDxe and loading the OpenCore provided one instead. |
According to your VMWare debug log, you have the Unload in the wrong section. Also, the name to unload by is the long, English language, driver name. To find it, redo your OpenCore SysReport: enable SysReport; remove the existing {ESP}/SysReport directory if there is one; reboot. Then look in SysReport/Drivers for the list of available (long, English) names to unload by. (The use of this long name is subject to change. It's the best approach I've found so far that works cross firmware to identify a specific driver after it's loaded.) EDIT: Btw |
I think I've figured out what it is exactly, let me explain; This Z590 has an Intel I225-V3 onboard which I'm not so happy with, I had deactivated it, so of course everything that has to do with it is also deactivated. If this is deactivated, the Pxe driver also disappears from the dh command. I've installed an Intel 82574L here, the loaded drivers of course appear for it and without Pxe, so the whole thing only twice. With the onboard NIC activated I have everything back, see pictures. In any case, I have it now as it should be. Z590_dh_dump_NEW.txt.zip |
Sorry if I ask a maybe stupid question, but I would like to know if it is possible to make OpenCore boot images via PXE.
I have an Unraid server here in my home network with a Linux VM on which iVentoy provides images that I can boot over the network. Of course, I always have to call up the UEFI boot menu to do this. Would this also be possible via OpenCore? Again, I apologize if I am completely misunderstanding something. This idea was also triggered by the many UEFI network drivers that OpenCore comes with, but which are not documented anywhere.
The text was updated successfully, but these errors were encountered: