Chainloading failed



  • I am in the process of creating a new Fog Server for my School District. My current one is on version 1.4. using Ubuntu. I wanted to have a virtual one and try out CentOS 7 so I started from scratch. It is using Fog version 1.5.4. I created a virtual Windows 10 machine to test with. When it boots to the new Fog Server, it will load the Fog menu and if I wait it out, it tries to boot but gets the Chainloading failed message. It then gets stuck in a boot loop. If I switch DHCP back to the old Fog Server things work. I have tried all of the BOOT EXIT types and nothing seems to help. Trying a few kernals didn’t help.


  • Moderator

    @Andrew-Seals The standards for the ipxe boot loaders are:
    BIOS: undionly.kpxe (kkpxe only if you have problems with kpxe.
    UEFI: ipxe.efi (or sndonly.efi if you have problems iwht ipxe.efi)

    If your environment has to support both uefi and bios systems and you have a Windows 2012 or newer dhcp server or a linux dhcp server you can setup dynamic boot file assignment by following here: https://wiki.fogproject.org/wiki/index.php/BIOS_and_UEFI_Co-Existence



  • @george1421 I changed EFI to rEFInd. I changed legacy to the GRUB_FIRST_HDD. So far every machine I have found is working! Thanks for the help. My Bootfile Name on the DHCP server is set to: undionly.kkpxe. I have seen others who use undionly.kpxe. Should I just leave it since it is working?


  • Moderator

    @Andrew-Seals Sanboot should work by default, you may have to use grub for hyper-v but almost always sanboot works and should be default for bios. For uefi exit it should be rEFInd.



  • @george1421 Changed it to GRUB_FIRST_HDD. It is now working on the Hyper V virtual. Let me see what it does on the other physical machine that was giving me issues.


  • Moderator

    @Andrew-Seals Well that’s strange. It works correctly on FOG 1.4.4? What do you get when you key in the same url to your 1.4.4 environment. It would be interesting to know what exit mode you have there. http://<fog_server_ip>/fog/service/ipxe/boot.php?mac=<mac_address_of_vm>



  • @george1421 I went into Fog System Settings -> Fog Boot Settings and changed it to SAN Boot. Now the machine is sitting at: “Booting from SAN device 0x80”


  • Moderator

    @Andrew-Seals It looks like your bios exit mode is “exit” not sanboot.

    Here is your exit mode:

    choose --default fog.local --timeout 5000 target && goto ${target}
    :fog.local
    exit || goto MENU
    

    If you look at my exit mode:

    choose --default fog.local --timeout 5000 target && goto ${target}
    :fog.local
    cpuid --ext 29 && set boot-kernel refind.efi || set boot-kernel refind32.efi
    imgfetch ${boot-url}/service/ipxe/refind.conf
    chain -ar ${boot-url}/service/ipxe/${boot-kernel} || goto MENU
    

    Edit
    I was testing something on my dev server here is the correct exit mode for bios (SANBOOT). I had everything exiting to refind.

    choose --default fog.local --timeout 5000 target && goto ${target}
    :fog.local
    sanboot --no-describe --drive 0x80 || goto MENU
    


  • @george1421

    #!ipxe
    set fog-ip 10.25.8.68
    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.25.8.68/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.deployimage Deploy 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
    exit || goto MENU
    :fog.memtest
    kernel memdisk initrd=memtest.bin 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 web=http://10.25.8.68/fog/ consoleblank=0 rootfstype=ext4 storage=10.25.8.68:/images/ storageip=10.25.8.68 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 web=http://10.25.8.68/fog/ consoleblank=0 rootfstype=ext4 storage=10.25.8.68:/images/ storageip=10.25.8.68 loglevel=4 mode=autoreg
    imgfetch init_32.xz
    boot || goto MENU
    :fog.deployimage
    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
    param sysuuid ${uuid}
    :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
    param sysuuid ${uuid}
    :fog.sysinfo
    kernel bzImage32 loglevel=4 initrd=init_32.xz root=/dev/ram0 rw ramdisk_size=127000 web=http://10.25.8.68/fog/ consoleblank=0 rootfstype=ext4 storage=10.25.8.68:/images/ storageip=10.25.8.68 loglevel=4 mode=sysinfo
    imgfetch init_32.xz
    boot || goto MENU
    :bootme
    chain -ar http://10.25.8.68/fog/service/ipxe/boot.php##params ||
    goto MENU
    autoboot
    

  • Moderator

    @Andrew-Seals If you know the mac address of that win10 hyper-v server key in this url into the browser and lets see what it gives us:
    http://<fog_server_ip>/fog/service/ipxe/boot.php?mac=<mac_address_of_vm>
    Hint: Replace the bracketed text with the real info for your site

    That will spit out a bunch of text, please post that text here in a code block. That this the program behind the iPXE boot menu. I want to see what the default exit is set to.



  • I was not able to boot in bios mode on Windows 10 hyper-v. I found out that vm higher than 8.0 had issues. I made a new vm on windows server 2016 in version 8.0 and this is working well. Maybe is this your problem?





  • The pxe booting computer that I am using now is a Hyper V virtual machine. It is running in bios mode. I have tried it with physical machines that are also running in bios. (same result).

    Pictures are attached.![1_1547825224141_2019-01-18 10.20.23 (Phone).jpg](Uploading 100%) ![0_1547825224140_2019-01-18 10.19.41 (Phone).jpg](Uploading 100%)


  • Moderator

    OK first thing we can rule out is kernels. The FOS Kernel is only used for imaging. The FOG iPXE menu is powered by the iPXE boot loader. We can also remove the fog server OS out of the picture because that has no impact at this point.

    Can you tell me a bit more about the pxe booting computer? Is it running in uefi or bios mode?

    What is the error message you see in chain loading error? (a clear picture taken with a mobile phone would help).


Log in to reply
 

368
Online

5.9k
Users

13.2k
Topics

124.2k
Posts