# Clean out any prior object files from a previous Make # This Directory may not have come from this host echo "running make clean - this will take a while..." make clean 1>"$0.clean.log" 2>"$0.clean.errors.log" echo Done clean echo ================================== if ! grep "__FIRMWARE_EFI64__" core/include/fs.h >/dev/null 2>&1 then echo "Adding #define __FIRMWARE_EFI64__ to core/include/fs.h" sed -i -e "s/^#define FS_H/a#define __FIRMWARE_EFI64__/" core/include/fs.h else echo "#define __FIRMWARE_EFI64__ alread exists in core/include/fs.h" fi echo "running make - this will take a while..." make install 1>"$0.log" 2>"$0.errors.log" echo "make done" echo ================================== echo " For debugging you can look at the file" echo " $VERSION/$0.log - for the make log" if [ -s "$VERSION/$0.errors.log" ] then echo ================================== echo "Errors detected - see $VERSION/$0.errors.log" cat "$VERSION/$0.errors.log" echo ================================== else echo "No errors" fi
dhcp-boot=tag:x86PC,pxelinux.0 dhcp-match=set:X86-64_EFI,option:client-arch,6 dhcp-match=set:X86-64_EFI,option:client-arch,7 dhcp-match=set:X86-64_EFI,option:client-arch,9 dhcp-boot=tag:X86-64_EFI,syslinux64.efi
====================================================== # Make sure we have initial boot config files to populate the /tftpboot/pxes root folder # This refer to pxelinux.cfg folder optionally updated above echo ======================================= echo "Verifying existance of bios.cfg efi32.cfg efi64.cfg in /tftpboot/pxes folder" for i in bios.cfg efi32.cfg efi64.cfg do if [ ! -f "/tftpboot/pxes/$i" ] then echo "creating /tftpboot/pxes/$i" rsync -a -x -H "pxe/$i" "/tftpboot/pxes/" else echo "have /tftpboot/pxes/$i" fi done # ====================================================== # ====================================================== # Make sure we have BIOS EFI64 and EFI32 boot loaders under the /tftpboot/pxes root folder echo "Update the PXE boot loaders and their respective config file under /tftpboot/pxes" echo # ====================================================== # ====================================================== # BIOS PXE boot support echo ======================================= echo "updating BIOS level boot loaders" # Remove old symlinks first rm -f "/tftpboot/pxes/bios" rm -f "/tftpboot/pxes/syslinux/syslinux" # Notes: Special case: the syslinux folder is also the default bios folder with menu.c32 etc so just link it ln -sf "/tftpboot/pxes/syslinux" "/tftpboot/pxes/bios" # Notes: SYSLINUX already contains pxelinux.cfg folder - so no need to link here # We need syslinux inside bios so we link it intol itself # Adding this folder is not likely required - ends up linking to PXE/syslinux/syslinux - harmless ln -sf "/tftpboot/pxes/syslinux" "/tftpboot/pxes/syslinux/syslinux" cp -fp "/tftpboot/pxes/syslinux/pxelinux.0" "/tftpboot/pxes/pxelinux.0" cp -fp "/tftpboot/pxes/syslinux/lpxelinux.0" "/tftpboot/pxes/lpxelinux.0" # Patch pxelinux.0 with config file name echo "updating BIOS loader /tftpboot/pxes/pxelinux.0" pxelinux-options --after config-file "bios.cfg" "/tftpboot/pxes/pxelinux.0" # ====================================================== # ====================================================== # 64Bit EFI PXE boot support echo ======================================= echo "updating EFI64 level boot loaders" rm -f "/tftpboot/pxes/efi64" ln -sf "/tftpboot/pxes/syslinux/efi64/" "/tftpboot/pxes/efi64" ln -sf "/tftpboot/pxes/pxelinux.cfg" "/tftpboot/pxes/efi64/pxelinux.cfg" ln -sf "/tftpboot/pxes/syslinux/efi64/" "/tftpboot/pxes/efi64/syslinux" cp -fp "/tftpboot/pxes/syslinux/efi64/syslinux.efi" "/tftpboot/pxes/syslinux64.efi" cp -fp "/tftpboot/pxes/syslinux/efi64/ldlinux.e64" "/tftpboot/pxes/ldlinux.e64" # Patch syslinux64.efi with config file name echo "updating EFI64 loader /tftpboot/pxes/esyslinux64.efi" pxelinux-options --after config-file "efi64.cfg" "/tftpboot/pxes/syslinux64.efi" # ====================================================== # ====================================================== # 32Bit EFI PXE boot support echo ======================================= echo "updating EFI32level boot loaders" rm -f "/tftpboot/pxes/efi32" ln -sf "/tftpboot/pxes/syslinux/efi32/" "/tftpboot/pxes/efi32" ln -sf "/tftpboot/pxes/pxelinux.cfg" "/tftpboot/pxes/efi32/pxelinux.cfg" ln -sf "/tftpboot/pxes/syslinux/efi32/" "/tftpboot/pxes/efi32/syslinux" cp -fp "/tftpboot/pxes/syslinux/efi32/syslinux.efi" "/tftpboot/pxes/syslinux32.efi" cp -fp "/tftpboot/pxes/syslinux/efi32/ldlinux.e32" "/tftpboot/pxes/ldlinux.e32" # Patch syslinux32.efi with config file name echo "updating EFI32 loader /tftpboot/pxes/esyslinux32.efi" pxelinux-options --after config-file "efi32.cfg" "/tftpboot/pxes/syslinux32.efi" echo # ======================================================
# ====================================================== # List each boot loder config file name to verify updates echo ======================================= echo Listing patches to PXE boot loaders pxelinux-options --list "/tftpboot/pxes/pxelinux.0" pxelinux-options --list "/tftpboot/pxes/syslinux64.efi" pxelinux-options --list "/tftpboot/pxes/syslinux32.efi" # ======================================================
I | Attachment | History | Action | Size | Date | Who | Comment |
---|---|---|---|---|---|---|---|
tgz | configplus.tgz | r1 | manage | 534.5 K | 2018-06-28 - 13:32 | MikeGore | Expanded configuration files for Multiarch PXE boot envirponment from cs-tech1 |
tgz | configs.tgz | r1 | manage | 532.3 K | 2018-06-28 - 10:39 | MikeGore | Example configuration files for Multiarch PXE boot envirponment |
conf | dnsmasq.conf | r1 | manage | 2.2 K | 2018-06-28 - 10:50 | MikeGore | example /etc/dnsmasq.conf file for dnsmasq |