Updating/Compiling the latest version of iPXE

  • Moderator

    The iPXE component of the FOG Project server is a vital part of PXE booting into FOG. With rapid advances in hardware, both iPXE (managed by a different FOSS group) and FOG can slip behind the latest hardware. The developers of the FOG Project try to release an updated version of FOG every 18 months. In some cases you can just update the FOS Linux kernel to get support for the latest hardware. Some times you will need to update/compile the latest version of iPXE using your FOG server to get the latest version of iPXE to support pxe booting.

    The following steps will walk you through updating iPXE using your current FOG server. Understand this method of (re)compiling iPXE only works if you use the git method to install FOG. If you installed FOG using the tarball then you will need to wait for the next release of FOG to get the latest iPXE builds.

    1. PXE boot any computer and record the build code listed on the iPXE banner. The build code is a hex number inside the brackets “()”). We will compare this build code in a later step to ensure your iPXE boot loader files have been updated.
    2. Navigate to where you downloaded the FOG installers using git. Depending on which directions you followed these files will be in either /opt or /root. The parent directory we are looking for is called fogproject. For the remainder of this tutorial I’ll assume the fogproject directory is in the /root directory, you will need to adjust the file paths based on your fogproject path.
    3. Navigate to /root/fogproject/utils/FOGiPXE directory
    4. Run the bash script buildipxe.sh with this command ./buildipxe.sh NOTE: your fog server will need internet access to recompile iPXE It should take about 10 minutes to recompile iPXE.
    5. When the compile is done you will be presented with a command prompt once again. Understand the buildipxe.sh script only compiles the iPXE binaries. It does not install them in your production environment.
    6. The proper way to update your production environment is to rerun the fog installer using all of the preselected options. Reinstalling fog using the fog installer is not destructive, the installer remembers your previous settings and just updates any new files into your production environment.
    7. The hacker way to update your production environment is to copy over the updates files to the /tftpboot directory with this command cp -R /root/fogproject/packages/tftp/* /tftpboot
      Note: watch the source path if your git fogproject directory is not in the /root/fogproject directory
    8. Run the following command to ensure your iPXE files have a current date on them. ls -la /tftpboot/*.efi
    9. Now pxe boot the client and confirm that the build code (in the brackets “()”) has changed from the previous step.
  • Moderator

    Wiki is also edited.

  • Moderator

  • Moderator

    @george1421 Shall we add this to docs.fogproject.org?