IPXE boot missing NEXT-SERVER
-
Sorry. I was wrong. I am getting the “No space left on device” error even when using DHCPD. What’s odd is I know I didn’t change any other settings. I was very careful not to. I did look through lots of the options and config in the GUI but I was very careful to not change anything. I might just rebuild my FOG server from scratch since I have been working on this for so long.
-
@jcdinpgh Please use the code-block tool in the text editor when posting code snippets. The tool button looks like this:
</>
-
@jcdinpgh Can you get us a clear screen shot of the error you see. The context of the error is almost as important as the error itself.
Also just to be sure this message is coming from iPXE or is it from something you are trying to launch from the iPXE menu?
In regards to the error message it almost sounds like you are passing a uefi kernel to a bios mode computer, but the error snapshot will tell us a bit more of the context.
As for my ltsp.conf that will dynamically switch between uefi and bios kernels based on the pxe booting target computer. That is a solid config if you need one.
-
@george1421
Getting a screen shot might be hard but I will try to describe what is happening.
My laptop has two options for PXE booting. One is “legacy” and one is something else that I am not sure I would call UEFI since my laptop has both BIOS and UEFI modes but is currently set to BIOS mode. FWIW, this is an Alienware laptop. Legacy is failing once IPXE loads and I choose the WIN PE option. The other unlabeled mode network boot option works correctly. The FOG menu entry for WIN PE 7 is what is failing and only when it gets to the boot.wim when the error says “no space left on device”. http://ipxe.org/34182006
I hit “S” and then config and according to the IPXE config, the file it is loading is “undionly.kpxe”.
The menu entry for FOG looks like this:kernel http://${fog-ip}/iso/winpe/wimboot # next two lines are from the AIK initrd http://${fog-ip}/iso/winpe/amd64/boot/bcd BCD initrd http://${fog-ip}/iso/winpe/amd64/boot/boot.sdi boot.sdi # this is the boot.wim built by Winbuilder (theoven.org) initrd http://${fog-ip}/iso/winpe/boot.wim boot.wim # bootmgr.exe comes from the Windows 7 source CD by mounting sources\boot.wim via DISM /Mount-Wim /WimFile:sources\boot.wim /Index:1 /MountDir:e:\mount # and copying bootmgr.exe from e:\mount\Windows\Boot\PXE initrd http://${fog-ip}/iso/winpe/bootmgr.exe bootmgr.exe # imgstat # prompt boot
-
@jcdinpgh how large is boot.wim ?
-
@jcdinpgh Your setup here is very similar to a tutorial I created in 2015
ref: https://forums.fogproject.org/topic/6284/booting-mdt-2013-litetouch-with-fog/5But since then changes in fog has made hosting files under http sometimes problematic because of the http redirection. If you can get uefi to boot then bios should work too.
Also you might want to drop transferring bootmgr.exe since it should be inside your boot.wim file. Wimboot should extract it and launch it.
-
@george1421
I am using a WIN 7 PE built using WINBUILDER from www.theoven.org. Unfortunately there is no bootmgr.exe in BCD which is why I had to supply it. There isn’t a bootmgr.exe which I know is odd but it has something to do with how WINBUILDER builds the whole system.
The boot.wim is very large (977450336 bytes) when compared to a regular WIN 7 PE system because WINBUILDER allows incorporating a large number of utilities and drivers into the build. Think of it as a portable “fixit” system with antivirus and system image utilities all built in.
What is odd is that the UEFI boot option, which correctly loads IPXE, works just fine.
The “legacy” boot option which also correctly loads IPXE, gets the “no space left on device” error.
I’m ok with using the UEFI option, at least on my primary laptop. I haven’t tested some of my other workstations, but I do know they do not have a UEFI bios so I would be surprised if they will work. -
@jcdinpgh Yes that is a pretty fat boot.wim file. I have seen a similar message when someone tries to use memdisk and load an entire iso image into memory. I don’t know what the limit is on vhd memory for iPXE but it appears you have crossed it. You really can’t compare bios and ipxe modes because they are not equivalent structures.
-
@george1421 Just quickly using some google-fu I see the practicle limit for both the kernel and initrd to be in th 1-2GB range. For ipxe in bios mode the upload files seems to be limited to a 32 bit address space (i.e. 4GB). At least half is used for iPXE internal PCI pointers. This space must have enough space for the kernels and and any files you might upload. IF the files are compressed there may need to be double the space to uncompress the files while retain the original files in memory.
For uefi, it uses 64 bit kernel so this memory limit is much larger.
In practical use, I’ve personally pxe booted WinPE environments with up to a 525MB “boot.wim” file without issue.
-
@george1421
What’s odd is that it doesn’t work in legacy mode on my laptop but does work in whatever the other mode is.I wouldn’t call it UEFI mode because the laptop has both UEFI and BIOS modes and is permanently set in BIOS mode.It is indeed UEFI mode. The other odd thing about all of this, is that it works in both UEFI and BIOS modes when booting as a virtual machine in ESXi 6.5 which is where I have been doing most of my testing since it is much easier than rebooting my laptop over and over. I am going to continue to play around with it. I can always fall back to booting any systems that fail PXE booting by booting from the GRUB4DOS USB harddrive and/or flash drive which accomplishes the same thing. I was just trying to avoid having to have the USB drive available at all times. Plus since I have ethernet throughout the entire house, it was a fun project to work on.