Trouble setting up FOG 1.3.3 (PXE-boot problems and Kernel panic)



  • Server
    • FOG Version: 1.3.3
    • OS: Debian 8
    • default install (in a virtual machine) expect external DHCP-Server
    Description
    1. When using PXE-Boot (or a usb drive with gpxe) loading undionly.kpxe works, it chainloads ipxe, but then there is no progress anymore. Screenshot 1
    2. If I use usb drive with gpxe to chainload the ipxe.kpxe directly, I get the FOG menu, but when I select an option (e.g. adding to inventory) I get a kernel panic. Screenshot 2

    Client used for the Test is a Samsung TC222W, running a small Debian Desktop.

    Any hints what I’m doing wrong?



  • @george1421 Thank you for your help.
    Since we have only few other computer models and static dhcp entries for all computers that might be used with fog, knowing that “testing” the different PXE-Loaders (if the ipxe.kpxe doesn’t work) helps a lot.

    I hope I gain enough experience, that I can give this great community a bit back some times.


  • Moderator

    @Doppelgrau Ok now that we have a kernel that will boot this samsung hardware we can help you decide the next steps.

    The idea situation is to configure isc dhcp server when it sees one of these samsung computers to send the ipxe.kpxe boot file instead of undionly.kpxe. This can be done with a little debugging and configuration.

    The basis of what we need to do is covered here: https://wiki.fogproject.org/wiki/index.php?title=BIOS_and_UEFI_Co-Existence

    The above example is for configuring isc dhcp to manage both uefi and bios systems and to send out the right boot file based on the hardware type. While this isn’t exactly what we need to do it gives you an idea what could be possible.

    If you want to take it to the next step we can guide you, if you want to run ipxe.kpxe for everything, it “should” work for almost all bios (legacy) based computers.

    just for reference the pxelinux.0 file is bad news, never use it with FOG. Its only in there for legacy purposes.



  • You guys are fabolus, giving me input faster than I mangage to run around on this floor to test it :-)

    @george1421 said in Trouble setting up FOG 1.3.3 (PXE-boot problems and Kernel panic):

    Just for clarity here the only thing we are trying to PXE boot is the Samsung TC222W, right?

    Right. (Long term more, but ATM only the Samsung TC222W)

    @Tom-Elliott said in Trouble setting up FOG 1.3.3 (PXE-boot problems and Kernel panic):

    This is sounding more and more like the device is getting information from pxelinux.0. In particular the messages about “Pre-eXecution Boot Environment.”

    If I recall properly, this message get’s displayed by the ipxe.krn file which would ONLY happen if pxelinux.0 file is being called (unless somebody else made a change).

    Would you mind trying:

    mv /tftpboot/pxelinux.0{,_bak}
    cp -p /tftpboot/{undionly.kpxe,pxelinux.0}
    

    Tried it, didn’t change anything.

    @george1421 said in Trouble setting up FOG 1.3.3 (PXE-boot problems and Kernel panic):

    @Doppelgrau ok I see this has a marvel network adapter.

    Lets try changing the iPXE boot file from undionly.kpxe to ipxe.kpxe. Maybe the undi code is a bit flaky. Understand what you have is a non-standard system so we may need to test a few iPXE kernels until we find the right one.

    Since the dhcpd admin isn’t in the office anymore, tried the “rename hack” (undo the pxelinux.0 try, changed to ipxe)

    root@fog:~# cd /tftpboot
    root@fog:/tftpboot# mv pxelinux.0_bak pxelinux.0
    root@fog:/tftpboot# mv undionly.kpxe undionly.kpxe_bak
    root@fog:/tftpboot# cp -a ipxe.kpxe undionly.kpxe
    

    And it worked, could register the TC222W.

    Thank you so much for your support.
    Tomorrow I can try Immaging with fog.


  • Senior Developer


  • Moderator

    @Doppelgrau ok I see this has a marvel network adapter.

    Lets try changing the iPXE boot file from undionly.kpxe to ipxe.kpxe. Maybe the undi code is a bit flaky. Understand what you have is a non-standard system so we may need to test a few iPXE kernels until we find the right one.

    My intuition is telling me that we need to make sure that pxelinux.0 is not being used since that will causes the error shown in your previous post about the kernel not syncing.



  • @george1421 yes, that screenshot has been taken after >10 minutes of no change.


  • Moderator

    @Doppelgrau Ok from the picture it appears that the iPXE kernel itself is freezing. It never continues on or displays initializing devices... Is that correct?



  • @Tom-Elliott
    The PXE problem:
    0_1485278451328_IMG_0164.JPG

    @george1421 said in Trouble setting up FOG 1.3.3 (PXE-boot problems and Kernel panic):

    @Doppelgrau said in Trouble setting up FOG 1.3.3 (PXE-boot problems and Kernel panic):

    group {
    next-server <fogIp>;
    filename “undionly.kpxe”;
    host bauwi-test { hardware ethernet 14:bb:6e:dc:05:d2; fixed-address <clientIp>; }
    }

    Where is this coming from? I know what it is, but where did you set it up?

    That’s from the dhcpd-Server admin, that is used in the subnet. (So I did not set it up).
    But the setting seems allright, plugging the device into an other subnet where the dhcpd is not configured to issue opition 66&67 the pxe-menu times out.


  • Senior Developer

    This is sounding more and more like the device is getting information from pxelinux.0. In particular the messages about “Pre-eXecution Boot Environment.”

    If I recall properly, this message get’s displayed by the ipxe.krn file which would ONLY happen if pxelinux.0 file is being called (unless somebody else made a change).

    Would you mind trying:

    mv /tftpboot/pxelinux.0{,_bak}
    cp -p /tftpboot/{undionly.kpxe,pxelinux.0}
    

  • Moderator

    Just for clarity here the only thing we are trying to PXE boot is the Samsung TC222W, right?


  • Senior Developer

    Now that I look further, I see what you mean by the “IMG_0164” from earlier.

    It appears, to me, that your NIC is already iPXE capable?


  • Moderator

    @Doppelgrau said in Trouble setting up FOG 1.3.3 (PXE-boot problems and Kernel panic):

    group {
    next-server <fogIp>;
    filename “undionly.kpxe”;
    host bauwi-test { hardware ethernet 14:bb:6e:dc:05:d2; fixed-address <clientIp>; }
    }

    Where is this coming from? I know what it is, but where did you set it up?


  • Senior Developer

    @Doppelgrau said in Trouble setting up FOG 1.3.3 (PXE-boot problems and Kernel panic):

    And booting vith PXE (no help from USB thumbdrive with gpxe) I see some PXE initializiation, that chainloads iPXE and then it stops. (The IMGP_0164 Screenshot)

    Mind reuploading your picture? IT can take a second or two to see the picture, but you should see it show up in the preview window when all done uploading. If you “submit” too fast the picture will not be fully loaded and will not display.



  • @george1421

    They set option 66 and option 67 currently. (the dhcpd-Config-extract

    @george1421 said in Trouble setting up FOG 1.3.3 (PXE-boot problems and Kernel panic):

    @Doppelgrau OK don’t do more than one step at a time.

    Promisse, won’t do in the future, just wanted to make a clean reproducable setup.

    Since the device is in legacy (bios) mode, you need to configure your dhcp options 66 to the ip address of the fog server and dhcp option 67 to undionly.kpxe
    As for the iPXE stuff you need to use the iPXE kernels (undionly.kpxe or ipxe.efi) that come with the fog server and not some third party iPXE kernels.

    Using the fog-Kernels.
    Server-Setup:

    • Debian 8 Basic install
    • Install all updates; tsm-backup-client
    • Downloaded the fog 1.3.3 tar.gz
    • extracted the tar archive
    • executed ./installfog.sh in the “bin” folder
    • said no to the dhcp-option
    • created new user in web frontend
    • (updated linux kernel in the fog setting to the latest, but that did’nt change any behavior).

    I also did a clean server reinstall, so I’m quite sure it is as “vanilla” as possible.

    You mentioned that another group manages your dhcp server. Are they currently setting dhcp options 66 and 67? If not we can install dnsmasq on the FOG server to supply these settings to your local subnet.

    Yes, that’s done.

    group {
    next-server <fogIp>;
    filename “undionly.kpxe”;
    host bauwi-test { hardware ethernet 14:bb:6e:dc:05:d2; fixed-address <clientIp>; }
    }
    

    And booting vith PXE (no help from USB thumbdrive with gpxe) I see some PXE initializiation, that chainloads iPXE and then it stops. (The IMGP_0164 Screenshot)


  • Moderator

    @Doppelgrau OK don’t do more than one step at a time.

    Since the device is in legacy (bios) mode, you need to configure your dhcp options 66 to the ip address of the fog server and dhcp option 67 to undionly.kpxe

    As for the iPXE stuff you need to use the iPXE kernels (undionly.kpxe or ipxe.efi) that come with the fog server and not some third party iPXE kernels.

    You mentioned that another group manages your dhcp server. Are they currently setting dhcp options 66 and 67? If not we can install dnsmasq on the FOG server to supply these settings to your local subnet.



  • @george1421 To have a good starting point I just reset the BIOS to the defaults (and default is only legacy boot, legacy PXE), installed a fresh Debian.
    Same behavior.


  • Moderator

    @Doppelgrau OK I need to know which mode are these devices in uefi or legacy (bios) mode. The iPXE boot kernel is specific to the hardware/firmware.

    used an vmWare VM with a gPXE .iso, didn’t had options 66/67 set (other dhcp server) but with chainloading on the gpxe comandline it worked.

    This is precisely why I think there is something else going on here. This is a non-standard setup. But we can talk about that in a minute. Lets still collect some information first.



  • The Links to the scrreenshots (embedded seem no to work anymore):



  • @george1421 said in Trouble setting up FOG 1.3.3 (PXE-boot problems and Kernel panic):

    Tell me a bit more about this hardware since it doesn’t appear to be a standard computer.

    Is this a uefi or bios (legacy) firmware device?

    It’s a display with a small (AMD dualcore with integrated GPU) computer embedded in the display, designed to run as a thin client with Windows (embedded/IoT), or Linux based systems.
    The BIOS has an UEFI mode and one “Legacy” mode.

    Is this a new fog install or has it been in place for a while? What I’m getting at is, does it work for other hardware just this one is being a pain.

    It’s a new install, wanted to try cloning the configured linux-system.
    Since I haven’t other Hardware for tests, I used an vmWare VM with a gPXE .iso, didn’t had options 66/67 set (other dhcp server) but with chainloading on the gpxe comandline it worked.

    What are you sending precisely for dhcp options 66 {next-server} and option 67 {boot-file}.

    group {
    # Test
    next-server <fogIp>;
    filename “undionly.kpxe”;
    host bauwi-test { hardware ethernet 14:bb:6e:dc:05:d2; fixed-address <clientIp>; }
    }

    What system is your dhcp server for this network?

    Not sure which dhcpd exactly, since an other department is managing it. Looks a bit like the isc-dhcpd3.


Log in to reply
 

Looks like your connection to FOG Project was lost, please wait while we try to reconnect.