add Ventoy to boot menu
-
@youzersef Here is from another recent thread. I have not tested this code, but it is for chain loading to another pxe boot loader. There are two methods. I also have doubt with the second method because I find references to both ways to set the new boot file. If the code below doesn’t work for setting the file name try this. But the way I set it in the below section seems right. Its iPXE that is responsible for chain loading a new boot loader.
set filename ${newbootfile}
The simples form is to add this to the fog ipxe menu builder parameter block.
chain tftp://192.168.1.12/nextboot.xyz || goto Menu
If nextboot.xyz uses dhcp information (which will point to the fog server unless we alter it.
set newserver:ipv4 192.168.1.12
set newbootfile nextboot.xyzset net0.dhcp/next-server ${newserver}
set net0.dhcp/filename ${newbootfile}
set proxydhcp/filename ${newbootfile}chain tftp://${newserver}/${newbootfile} || goto Menu
-
@george1421 Thank you again, both ways took me back to the pxe boot interface and the client tries to boot with the DHCP Server IP-Adresse. Which is not the Fog Server…
i used the config :
set newserver:ipv4 10.xy.xy.113 #IP Adresse set newbootfile iventoy_loader_16000 # my boot file set net0.dhcp/next-server ${newserver} set net0.dhcp/filename ${newbootfile} set proxydhcp/filename ${newbootfile} chain tftp://${newserver}/${newbootfile} || goto Menu
this is what i see on client. Note: the default boot file is the ipxe.efi
i do not know why the client will try with ipxe.efi file
best regards -
@youzersef I can explain why its doing what its doing. It has to do with the boot file name, its still picking up the ipxe.efi from dhcp. So the filename bit we are stuffing into dhcp is not being passed on to the target boot loader or its querying dhcp and still seeing fog stuff.
Its also not helpful to blank out the private ip addresses. I can’t tell where you are in the world from 10.x.x.x that is a non-internet routable IP address. Masking it just makes things a little harder.
What I did find interesting from the error message is how did 10.x.x.1 get into the conversation? The error message surely said iVentoy so some bits of it has to be loading.
-
@george1421 you are right sorry:
the fog ip-adresse: 10.132.1.62
the dhcp server: 10.132.1.1
the oventoy adresse: 10.132.1.113what do you see in the boot gui is the ip adresse of the dhcp server.
-
@youzersef said in add Ventoy to boot menu:
what do you see in the boot gui is the ip adresse of the dhcp server.
What my confusion is if .1 is the dhcp server, why is iVentoy using that server to download ipxe.efi from? The .1 server should be referenced. If I saw .62 or .113 that might be understandable, but not .1.
Is your dhcp server a soho router? And for FOG are you using dnsmasq to make FOG boot correctly?
Also is this iVentoy app open source where I can see the ISO contents?
-
@george1421 my DHCP Server is on Windows Server. I did not use dnsmasq. You can correct me.
Unfortunately is not an opensource but it is free to use till 20 devices. You can buy the pro version it will be cost 50$. https://www.iventoy.com/en/index.html
It will be useful if fog server can forward to the iventoy. -
@youzersef OK I find a few things. I still think we can make it work.
ref: https://ipxe.org/settings
To call microsoft wds serverset netX/next-server 192.168.1.2 set netX/filename boot\x86\wdsnbp.com chain tftp://192.168.1.2/boot/x86/wdsnbp.com
translated
set newserver:ipv4 10.xy.xy.113 set newbootfile iventoy_loader_16000_uefi # I will explain later set net0/next-server ${newserver} set net0/filename ${newbootfile} chain tftp://${newserver}/${newbootfile}
Now to the ${newbootfile} , why did I pick that file name? From this document: https://www.iventoy.com/en/doc_ext_dhcp.html It appears that they can use dnsmasq for auto boot file identification, based on they say how external mode works. What we want is to use “ExternalNet Mode” in this case we will let iPXE decide what boot file to use. And then instruct the client to boot the proper file. So when you use the code from above, you must test with a uefi based computer. Right now I want to see if you can boot into iVentoy. We can work on the next steps after we can verity we can chain into their app.
I think its possible to use this software we just need to find the right path.
There is another ref site that I’m just logging here but I think the above is right since it from the ipxe developers directly.
https://www.rcannings.com/pxe-chain-loading-from-pxelinux-to-ipxe-and-back-again/ -
@george1421 no thing changed. the PC will ask the DHCP Server 10.132.1.1 again about the the pxe.efi file.
in the boot menu entry looks like
set newserver:ipv4 10.132.7.113 set newbootfile iventoy_loader_16000_uefi set net0/next-server ${newserver} set net0/filename ${newbootfile} chain tftp://${newserver}/${newbootfile}
-
@youzersef Understand I’m just making some guesses here because I don’t know ventoy. But if you look at the ventoy document link I provided. There is a section that talks about a drop down list on the configuration page where you need to change the dhcp server mode to ExternalNet.
The second thing is it looks like they are running a customized version of iPXE (same thing fog uses as boot loader) but its qualifying the name and it doesn’t like ipxe.efi as the file name because its not its own app. I think this is why the error is being thrown.
-
@george1421 i changed to ExternalNet. but nothing has been changed. I found something in the community of ventoy which could help me.
maybe you can tell me what the post means. because am not good enough in pxe.
https://forums.ventoy.net/showthread.php?tid=2743
someone posted:
I managed to chainload from my main iPXE to iVentoy, basically you need to do following things: 1. In your main iPXE boot.ipxe file, set user-class to a specific value, such as MyCustomClass 2. In your dhcp server, match this user-class and send next-server as your iVentoy IP 3. In your main iPXE boot.ipxe, run 'dhcp' command, after 'set user-class MyCustomClass' command, then 'chain tftp://${next-server}/iventoy_loader_16000' Done
-
fog > ipxe menu > add option:
set net0/next-server 192.168.1.254 chain --replace --autofree ipxe.x64.snponly.efi.0
on ubuntu fog server: edit file /etc/dhcp/dhcpd.conf
class "UEFI-64-1" { match if substring(option vendor-class-identifier, 0, 20) = "PXEClient:Arch:00007"; if exists user-class and option user-class = "iVentoy"{ filename "iventoy_loader_16000_uefi"; next-server 192.168.152.254; } else { filename "ipxe.efi"; } }
i manged to chain ventoy but the graphic is bugged
-
i tried on test server it is pfsense as DHCP-Server it works… Thank you.
i will try it on my main Server next week … it is windows server.
@george1421 if you want i can post the configuration that i used to configure iventoy as next server after fog server… live photos:
after i chose iVentoy…
thank you guys you made my day…
-
@youzersef said in add Ventoy to boot menu:
if you want i can post the configuration that i used to configure iventoy as next server after fog server
If this info would help the next guy, I would say yes. That way we can all learn from someone that has already walked the bloody path to victory. That’s what makes opensource and a community lead project work.
-
@youzersef
Did you got the booting ISO working normally?, seem the graphic is bugged with some modern mainboard -
@baovipboy156 i tested on vm and i did not get problems. I will test it on dell Laptops next week.
-
@youzersef
I found it, root cause: screen resolution
some monitor can’t display 1024x768…wtf, then i set it to 1280x720 it work perfectly! -
do you have any idea how can i add the same rule on DHCP windows server?
class "UEFI-64-1" { match if substring(option vendor-class-identifier, 0, 20) = "PXEClient:Arch:00007"; if exists user-class and option user-class = "iVentoy"{ filename "iventoy_loader_16000_uefi"; next-server 10.132.7.113; } else { filename "ipxe.efi"; } }
-
@youzersef I don’t have an immediate answer for you, but I can point you in a direction. The FOG Project has a wiki page on how to setup policies in windows dhcp server. The first section of your code is outlined in the policy. https://wiki.fogproject.org/wiki/index.php/BIOS_and_UEFI_Co-Existence
You might be able to do the user class part too, but I don’t know. Windows dhcp server policies are very similar to what you can do in linux.
-
@baovipboy156
thanks for your input, but cannot get it working with it…
would you please post more details and steps by steps to get it work, please…iventoy1.20
fog 1.5.10.1615