Chainloading failed / boot looping
-
Seems this should be easy but not finding the answer yet. FOG 1.2, Ubuntu 14.04.4, revision 6365. Attempting my first UEFI booting and getting “Chainloading failed…” message and a boot loop. Test clients are a VM (ESXi 5.5) and a Dell 7010 with most current BIOS. The Dell actually just hangs ans “iPXE initializing devices”. I have tried intel.efi, ipxe.efi, snp.efi, snponly.efi in my Win2008 DHCP server. Legacy booting works fine. Am I missing an edit to a file or something? Thanks for the assist!
-
I think The Dell Optiplex 7010 might be a lost cause for UEFI booting, but if you want to continue the conversation and do some back-reading, you can do it here: https://forums.fogproject.org/topic/4728/dell-7010-lenovo-l530-with-uefi-enabled-won-t-network-boot?page=1
Your best chance for the Dell is to set the NIC to legacy mode, while keeping the rest of the firmware in UEFI mode. Hopefully that will let you image a UEFI/GPT type image onto the machine. Otherwise just use BIOS all the way.
We will likely be able to get the VM booting properly with UEFI - what is it doing?
-
You could also try updating to the latest and see if the problem is fixed now.
-
@gwhitfield Yes Wayne is absolutely right. The Dell 7010 has caused us some major head aces and we are still not able to properly PXE boot those machines in UEFI mode. Some UEFI firmwares just behave nicely others are are real mess. How keen are you to go ahead and further debug this? Let us know after you’ve read through the whole discussion which Wayne has posted a link to.
Now to the ESXi 5.5… Which NIC is configured for this VM? Maybe try using a different one and see if you can make it PXE boot. I am a little confused by the error. We see that boot.php gets downloaded (…ok) but then it says chainloading failed. Can you please access this URL from your browser (any client in your subnet) and post what you see: http://192.168.1.53/fog/service/ipxe/boot.php?mac=00:50:56:aa:3b:fc (hope there is no typo).
-
For the virtual machine, make sure the network adapter is e1000, set the Edit Settings->Options->Boot Options to efi. For the boot file, use snponly.efi. I can say for sure with FOG r6476 that an ESXi 5.5 (3029944) client boots into the fog menu no problem.
I do have a 7010 that I will setup in a few minutes to test efi booting.
-
@george1421 said:
I do have a 7010 that I will setup in a few minutes to test efi booting.
You’ve already done some debugging on this! See in the discussion Wayne posted. I don’t think we’ll get this working other than keep on adding debugging and trying to talk to the ipxe devs!
-
@Sebastian-Roth Ugh, I remember that time now…
I can say that iPXE booting on the 7010 with A18 firmware still does not work. I do see there is an A21 bios out there where the change log mentions fixing uefi booting. I will give that update a shot later this morning. I can say that the FOS Live usb boot drive does work without issue with the 7010.
-
Still no joy with the 7010 and the A21 firmware efi booting either snponly.efi or ipxe.efi. Both hang at initializing devices after receiving the ipxe boot loader.
-
@george1421 said:
Still no joy with the 7010 and the A21 firmware
Dell really screwed up on this one.
-
I checked the VM was set to E1000 and EFI booting. When I enter the URL I get the following:
#!ipxe
set fog-ip 192.168.1.53
set fog-webroot fog
set boot-url http://${fog-ip}/${fog-webroot}
#!ipxe
cpuid --ext 29 && set arch x86_64 || set arch i386
iseq ${platform} efi && set key 0x1b || set key 0x1b
iseq ${platform} efi && set keyName ESC || set keyName Escape
prompt --key ${key} --timeout 3000 Booting… (Press ${keyName} to access the menu) && goto menuAccess || chain -ar ${boot-url}/service/ipxe/grub.exe --config-file=“rootnoverify (hd0);chainloader +1”
:menuAccess
login
params
param mac0 ${net0/mac}
param arch ${arch}
param platform ${platform}
param username ${username}
param password ${password}
param menuaccess 1
param debug 1
isset ${net1/mac} && param mac1 ${net1/mac} || goto bootme
isset ${net2/mac} && param mac2 ${net2/mac} || goto bootme
:bootme
chain -ar http://192.168.1.53/fog/service/ipxe/boot.php##paramsThank you all for helping out. Sorry I couldn’t get back to reply earlier than this!
-
Another thought I had was that we also use MDT for creating images that can be put on a boot flash. I have no problem with booting the 7010 UEFI using the MDT boot files. I was able to deploy a .wim file yesterday with no issues. I’m inexperienced with the process and the files but I’m wondering if there isn’t a boot file that we can pull from the MDT process and add it to the FOG repository?
-
@gwhitfield It’s missing kernel parameters.
-
@Wayne-Workman said:
@gwhitfield It’s missing kernel parameters.
Sorry to appear dense, but I don’t know what the output SHOULD look like, nor what to do to get it that way. I’m handicapped by a lack of in-depth knowledge on how it works. I apologize if I have missed a how-to I suppose?
-
@gwhitfield Heres what mine looks like.
Keep in mind, this iPXE script is generated dynamically based on the parameters passed to it (the mac addresses of the computer). I didn’t pass any parameters to the page, which is why the script says
item --gap Host is NOT registered!
What version of FOG are you using now? Did you upgrade to trunk as suggested?
#!ipxe set fog-ip 10.2.1.11 set fog-webroot fog set boot-url http://${fog-ip}/${fog-webroot} cpuid --ext 29 && set arch x86_64 || set arch i386 goto get_console :console_set colour --rgb 0x00567a 1 || colour --rgb 0x00567a 2 || colour --rgb 0x00567a 4 || cpair --foreground 7 --background 2 2 || goto MENU :alt_console cpair --background 0 1 || cpair --background 1 2 || goto MENU :get_console console --picture http://10.2.1.11/fog/service/ipxe/bg.png --left 100 --right 80 && goto console_set || goto alt_console :MENU menu colour --rgb 0xff0000 0 || cpair --foreground 1 1 || cpair --foreground 0 3 || cpair --foreground 4 4 || item --gap Host is NOT registered! item --gap -- ------------------------------------- item fog.local Boot from hard disk item fog.memtest Run Memtest86+ item fog.reginput Perform Full Host Registration and Inventory item fog.reg Quick Registration and Inventory item fog.quickimage Quick Image item fog.multijoin Join Multicast Session item fog.sysinfo Client System Information (Compatibility) choose --default fog.local --timeout 5000 target && goto ${target} :fog.local sanboot --no-describe --drive 0x80 || goto MENU :fog.memtest kernel memdisk iso raw initrd memtest.bin boot || goto MENU :fog.reginput kernel bzImage32 loglevel=4 initrd=init_32.xz root=/dev/ram0 rw ramdisk_size=127000 keymap= web=10.2.1.11/fog/ conosoleblank=0 loglevel=4 mode=manreg imgfetch init_32.xz boot || goto MENU :fog.reg kernel bzImage32 loglevel=4 initrd=init_32.xz root=/dev/ram0 rw ramdisk_size=127000 keymap= web=10.2.1.11/fog/ conosoleblank=0 loglevel=4 mode=autoreg imgfetch init_32.xz boot || goto MENU :fog.quickimage login params param mac0 ${net0/mac} param arch ${arch} param username ${username} param password ${password} param qihost 1 isset ${net1/mac} && param mac1 ${net1/mac} || goto bootme isset ${net2/mac} && param mac2 ${net2/mac} || goto bootme :fog.multijoin login params param mac0 ${net0/mac} param arch ${arch} param username ${username} param password ${password} param sessionJoin 1 isset ${net1/mac} && param mac1 ${net1/mac} || goto bootme isset ${net2/mac} && param mac2 ${net2/mac} || goto bootme :fog.sysinfo kernel bzImage32 loglevel=4 initrd=init_32.xz root=/dev/ram0 rw ramdisk_size=127000 keymap= web=10.2.1.11/fog/ conosoleblank=0 loglevel=4 mode=sysinfo imgfetch init_32.xz boot || goto MENU :bootme chain -ar http://10.2.1.11/fog/service/ipxe/boot.php##params || goto MENU autoboot
-
What version of FOG are you using now? Did you upgrade to trunk as suggested?
Ubuntu 14.04.4, FOG 1.2.0, rev 6365. I didn’t update yet but plan to as soon as I can today. I neglected to mention that I did have a positive UEFI boot and was able to upload from and re-deploy a test image to a Dell E5550 a few days ago using snponly.efi so I thought maybe I’ve just changed something accidentally since then that would be simple to identify.
-
@gwhitfield Have you watched all the movies in the “Tremors” franchise?
-
The root if the issue here is (the Dell 7010). The 7010 will not completely boot the iPXE kernel. This is needed for FOG to function correctly. Its not an issue with FOG, but a compatibility issue between a component that FOG uses (iPXE) and the Dell 7010 EFI firmware. When you MDT boot you can use either cdrom or usb flash drive. This process doesn’t use iPXE so I would expect this to work. I can also boot the 7010 into the FOG Live debugger using a usb (similar to the way MDT boots). But again this doesn’t use iPXE to boot.
What needs to happen.
- Dell fixes their silly firmware
- The iPXE guys can work out a method to patch iPXE to work around this issue.
- You switch back to BIOS booting for this hardware platform.
-
@Wayne-Workman -only saw the first one, enjoyed it immensely for no good reason.
-
@gwhitfield said:
I neglected to mention that I did have a positive UEFI boot and was able to upload from and re-deploy a test image to a Dell E5550 a few days ago using snponly.efi
-
When you MDT boot you can use either cdrom or usb flash drive. This process doesn’t use iPXE so I would expect this to work.
I’m fairly certain I PXE booted the 7010 UEFI using WDS to deploy the MDT image. Only reason I’m uncertain at all is simply how many different imaging related projects I have going on… I will be able to test/confirm later today or tomorrow.