• Recent
    • Unsolved
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login

    Another chainload error - FOG 1.5.7 on Debian 10.2

    Scheduled Pinned Locked Moved Solved
    Bug Reports
    2
    5
    583
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • J
      junior_catherd
      last edited by

      I’m trying to replace an old (working) FOG server with a new one, taking the opportunity to use a newer OS than the out-of-support Ubuntu server and similarly a new FOG installation in place of an old version.

      The OS is Debian 10.2 (Buster) on bare metal, with FOG 1.5.7 installed from a GIT pull as described in FOG Wiki: Getting FOG.

      There is a separate DHCP server which has been configured to point to the FOG server and the undionly.kpxe file
      next-server <fog server IPv4 address>;
      filename “undionly.kpxe”;

      Note the new server is being placed on the live network. The old server acted as its own DHCP server, and computers were re-imaged by either bringing them to the lab to connect to the separate lab network, or the fog server (actually a laptop) was taken to the site with a switch and a temporary network built to re-image a classroom of computers. The new server does not act as the live network’s DHCP server.

      The old setup has worked fine for years.

      With the new installation, PXE booting devices fails. It has been tried on both an old Thinkpad and an old Dell laptop which work fine with the old setup.

      Example ThinkPad attempted network boot:

      Intel(R) Boot Agent GE v1.5.53
      Copyright (C) 1997-2013. Intel Corporation
      
      CLIENT MAC ADDR: MM MM MM MM MM MM  GUID: GGGGGGGG GGGG GGGG GGGG GGGGGGGGGGGG
      CLIENT IP: 10.60.3.52  MASK: 255.255.254.0  DHCP IP: 10.60.2.2
      GATEWAY IP: 10.60.2.1
      PXE->EB:  !PXE at 9736:0070, entry point at 9736:0106
                UNDI code segment 9736:5B20, data segment 90F6:6400 (579-628kB)
                UNDI device is PCI 00:19.0, type DIX+802.3
                579kB free base memory after PXE unload
      iPXE initialising devices...ok
      
      
      iPXE 1.0.0+ (9907f) -- Open Source Network Boot Firmware --- http://ipxe.org
      Features: DNS FTP HTTP HTTPS iSCSI NFS TFTP VLAN AoE ELF MBOOT PXE bzImage Menu
      PXEXT
      Configuring (net0 MM:MM:MM:MM:MM:MM)...... ok
      Received DHCP answer on interface net0
      tftp://10.60.3.233/default.ipxe... ok
      http://10.60.3.233/fog/service/ipxe/boot.php... ok
      10.60.6.189: command not found
      Could not boot: Exec format error (http://ipxe.org/2e022001)
      Could not boot: Exec format error (http://ipxe.org/2e022001)
      Chainloading failed, hit 's' for the iPXE shell: reboot in 10 seconds_
      

      I have checked and http://10.60.3.233/fog/service/ipxe/boot.php exists.
      It looks like the iPXE command parser is hitting some unparseable data and so the process fails.

      What is weird is why IPv4 address 10.60.6.189 is appearing. Its on a different subnet to the booting PC, and not any other server. Its appearance in the boot log is a mystery to me.

      I can’t do any more diagnosis until Monday afternoon UTC at the earliest, but I’m putting this up in the hope I have missed something obvious that someone will gently point out to me.

      The aim is to have a FOG server in the main building so classrooms can be re-imaged without moving PCs about or needing to build a temporary disconnected LAN. Ideally have a separate fog laptop that can be taken off site with a selection of images to update remote locations, and ultimately put some FOG servers in remote locations (that are on the end of low capacity data links) so that new images can be distributed overnight in a bandwidth friendly way so that remote offices can be updated from a server local to them.

      Note that the estate of PCs is a mixture of BIOS and UEFI laptops.

      Regards,

      Junior Catherd

      1 Reply Last reply Reply Quote 0
      • george1421G
        george1421 Moderator
        last edited by george1421

        @junior_catherd said in Another chainload error - FOG 1.5.7 on Debian 10.2:

        http://10.60.3.233/fog/service/ipxe/boot.php

        I’m going to prediagnose this as you have a custom ipxe menu involved here. The reason why I think this is because of this appearing in the error message [10.60.6.189]. The IP address doesn’t matter, but it appears the structure of the iPXE menu is bad for some reason.
        Unfortunately you masked out the mac address but I want you to key in the following URL and then post the results here. This will be the text behind the FOG iPXE menu.

        http://10.60.3.233/fog/service/ipxe/boot.php?mac=MM:MM:MM:MM:MM:MM where MM:MM:MM:MM:MM:MM is the mac address of the computer that threw this error.

        Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!

        J 1 Reply Last reply Reply Quote 0
        • J
          junior_catherd @george1421
          last edited by

          @george1421

          OK, text is attached below for your information.

          I think I see what has happened.

          The unknown IPv4 address 10.60.6.189 is actually in the range of IPv4 addresses controlled by the network’s DHCP server for a general LAN local to the IT Administration Lab.

          I temporarily connected the server on which the FOG software was to be installed to the general LAN so I could git clone the installation. Unfortunately, the way things were set up at the time, the server got an IPv4 address issued by the DHCP server, which was used for the FOG install. Later on, I changed the server IP to a static IPv4 address and re-ran the installer. Obviously this was the wrong thing to do. I am providing a copy of the current /opt/fog/.fogsettings

          I am going to re-install the OS for other reasons, so I will take the opportunity to put the correct static IPv4 address on the server from the start and re-install FOG on the newly reinstalled server. I will report back if this problem persists, or say that things work when I do the install properly. This looks like a PEBKAC on my part, so apologies for wasting your time.

          Junior Catherd

          $ curl http://10.60.3.233/fog/service/ipxe/boot.php?mac=MM:MM:MM:MM:MM:MM
          #!ipxe
          set fog-ip 10.60.6.221
          10.60.6.189
          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.60.6.221
          10.60.6.189/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 3000 target && goto ${target}
          :fog.local
          sanboot --no-describe --drive 0x80 || 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=275000 web=http://10.60.6.221
          10.60.6.189/fog/ consoleblank=0 rootfstype=ext4 storage=10.60.6.221
          10.60.6.189:/images/ storageip=10.60.6.221
          10.60.6.189 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=275000 web=http://10.60.6.221
          10.60.6.189/fog/ consoleblank=0 rootfstype=ext4 storage=10.60.6.221
          10.60.6.189:/images/ storageip=10.60.6.221
          10.60.6.189 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=275000 web=http://10.60.6.221
          10.60.6.189/fog/ consoleblank=0 rootfstype=ext4 storage=10.60.6.221
          10.60.6.189:/images/ storageip=10.60.6.221
          10.60.6.189 loglevel=4 mode=sysinfo
          imgfetch init_32.xz
          boot || goto MENU
          :bootme
          chain -ar http://10.60.6.221
          10.60.6.189/fog/service/ipxe/boot.php##params ||
          goto MENU
          autoboot
          
          

          /opt/settings/.fogsettings

          ## Start of FOG Settings                                                                                                                                    
          ## Created by the FOG Installer                                                                                                                             
          ## Find more information about this file in the FOG Project wiki:                                                                                           
          ##     https://wiki.fogproject.org/wiki/index.php?title=.fogsettings
          ## Version: 1.5.7
          ## Install time: Fri 22 Nov 2019 14:34:39 CET
          ipaddress='10.60.3.233'
          copybackold='0'
          interface='enp0s25'
          submask='255.255.254.0'
          hostname='<redacted>'
          routeraddress='#   No router address added'
          plainrouter=''
          dnsaddress='#   No dns added'
          username='fogproject'
          password='%-z=I|As~T<K'
          osid='2'
          osname='Debian'
          dodhcp='N'
          bldhcp='0'
          dhcpd=''
          blexports='1'
          installtype='N'
          snmysqluser='root'
          snmysqlpass=''
          snmysqlhost='localhost'
          installlang='1'
          storageLocation='/images'
          fogupdateloaded=1
          docroot='/var/www/html/'
          webroot='/fog/'
          caCreated='yes'
          httpproto='http'
          startrange=''
          endrange=''
          bootfilename='undionly.kpxe'
          packages='apache2 bc build-essential cpp curl g++ gawk gcc genisoimage gettext gzip htmldoc isolinux lftp libapache2-mod-php7.3 libc6 libcurl4 liblzma-dev m4 mariadb-client mariadb-server net-tools nfs-kernel-server openssh-server php7.3 php7.3-bcmath php7.3-cli php7.3-curl php7.3-fpm php7.3-gd php7.3-json php7.3-mbstring php7.3-mysql php-gettext sysv-rc-conf tar tftpd-hpa tftp-hpa unzip vsftpd wget xinetd zlib1g '
          noTftpBuild=''
          notpxedefaultfile=''
          sslpath='/opt/fog/snapins/ssl/'
          backupPath='/home/'
          php_ver='7.3'
          php_verAdds='-7.3'
          sslprivkey='/opt/fog/snapins/ssl//.srvprivate.key'
          ## End of FOG Settings
          
          george1421G 1 Reply Last reply Reply Quote 0
          • george1421G
            george1421 Moderator @junior_catherd
            last edited by george1421

            @junior_catherd Before you wipe the machine I’m pretty sure we can fix this. I’d like to run some tests to understand how this happened.

            console --picture http://10.60.6.221
            10.60.6.189/fog/service/ipxe/bg.png
            

            The way that this repeats through the ipxe menu

            10.60.6.221
            10.60.6.189
            

            10.60.6.221<cr>10.60.6.189 makes me think there is something wrong in the fog configuration in the web ui.

            Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!

            J 1 Reply Last reply Reply Quote 0
            • J
              junior_catherd @george1421
              last edited by

              @george1421

              Sorry, I wiped the PC. I have a hard deadline to meet to get the old FOG server replaced.

              The good news is that a fresh install, starting from zero on bare metal with a Debian 10.2 net install* and a git clone of FOG worked with no FOG related problems. I have successfully collected an image from a local PC in the IT Admin Lab and deployed it across the routed network to two ‘volunteer’ PCs.

              So I apologize again for wasting your time.

              All I can suggest is that the installer checks if it is being run as a re-installation and posts a warning, and maybe points to some documentation on how to properly do a reinstall. I recognize I’ve incurred some debt here, so I’ll try and post some helpful information for other people.

              I very much appreciate the FOG project. Thank you for providing such a useful tool.

              Junior Catherd

              *Debian 10.2 net install grabs a DHCP address, and persuading the OS later to use a static IP was a little more convoluted than I expected. Similarly, the default install does not include sudo, which is easy enough to remedy.

              1 Reply Last reply Reply Quote 0
              • 1 / 1
              • First post
                Last post

              201

              Online

              12.1k

              Users

              17.3k

              Topics

              155.3k

              Posts
              Copyright © 2012-2024 FOG Project