Linux ih01.iridiumhosting.com 5.14.0-611.55.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue May 19 15:19:29 EDT 2026 x86_64
LiteSpeed
Server IP : 67.227.241.211 & Your IP : 216.73.217.87
Domains :
Cant Read [ /etc/named.conf ]
User : dustinhy
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
opt /
MXB /
rear /
usr /
share /
rear /
output /
PXE /
default /
Delete
Unzip
Name
Size
Permission
Date
Action
800_copy_to_tftp.sh
4.71
KB
-rw-r--r--
2026-04-01 09:39
801_copy_to_http.sh
2.65
KB
-rw-r--r--
2026-04-01 09:39
810_create_pxelinux_cfg.sh
4.64
KB
-rw-r--r--
2026-04-01 09:39
Save
Rename
# 810_create_pxelinux_cfg.sh # # Create PXELINUX config on PXE server for Relax-and-Recover. # # This file is part of Relax-and-Recover, licensed under the GNU General # Public License. Refer to the included COPYING for full text of license. # We got PXE_KERNEL and PXE_INITRD set in the previous script. local pxe_local_path if test "$PXE_CONFIG_URL" ; then # E.g. PXE_CONFIG_URL=nfs://server/export/nfs/tftpboot/pxelinux.cfg # On 'server' the directory /export/nfs/tftpboot/pxelinux.cfg must exist. local scheme="$( url_scheme "$PXE_CONFIG_URL" )" # We need filesystem access to the destination (schemes like ftp:// are not supported) if ! scheme_supports_filesystem $scheme ; then Error "Scheme $scheme for PXE output not supported, use a scheme that supports mounting (like nfs: )" fi mount_url "$PXE_CONFIG_URL" "$BUILD_DIR/tftpbootfs" $BACKUP_OPTIONS pxe_local_path="$BUILD_DIR/tftpbootfs" else # legacy way using pxe_local_path default pxe_local_path="$PXE_CONFIG_PATH" fi # PXE_CONFIG_PREFIX is by default 'rear-' (see default.conf). # pxe_config_file contains the PXELINUX boot configuration of $HOSTNAME local pxe_config_file="${PXE_CONFIG_PREFIX}$HOSTNAME" if test "$PXE_CONFIG_URL" ; then if is_true "$PXE_CONFIG_GRUB_STYLE" ; then make_pxelinux_config_grub >"$pxe_local_path/$pxe_config_file" else make_pxelinux_config >"$pxe_local_path/$pxe_config_file" fi chmod 444 "$pxe_local_path/$pxe_config_file" else # legacy way using pxe_local_path default local pxe_template_file="$( get_template "PXE_pxelinux.cfg" )" cat >"$pxe_local_path/$pxe_config_file" <<EOF $( test -s "$pxe_template_file" && cat "$pxe_template_file" ) display $OUTPUT_PREFIX_PXE/$PXE_MESSAGE say ---------------------------------------------------------- say rear = disaster recover this system with Relax-and-Recover label rear kernel $OUTPUT_PREFIX_PXE/$PXE_KERNEL append initrd=$OUTPUT_PREFIX_PXE/$PXE_INITRD root=/dev/ram0 vga=normal rw $KERNEL_CMDLINE $PXE_RECOVER_MODE EOF fi pushd "$pxe_local_path" >/dev/null || Error "pxe_local_path '$pxe_local_path' does not exist" if test "$PXE_CREATE_LINKS" -a "$PXE_REMOVE_OLD_LINKS" ; then # remove old symlinks local symlink find . -maxdepth 1 -type l | while read symlink ; do test "$( readlink -s $symlink )" = "$pxe_config_file" && rm -f $symlink done fi # When using Grub network boot via tftp/bootp, # the client is looking at a file named 'grub.cfg-01-<MAC>' or 'grub.cfg-<IP in hex>' # which is like PXE, but prefixed with 'grub.cfg-' local pxe_link_prefix="" is_true $PXE_CONFIG_GRUB_STYLE && pxe_link_prefix="grub.cfg-" local headword IP MAC junk case "$PXE_CREATE_LINKS" in (IP) # consider only IPv4 lines 'inet ...' and skip localhost 'inet 127...' ip address | grep 'inet ' | grep -v 'inet 127' | while read headword IP junk ; do # cut trailing CIDR or netmask e.g. '192.168.100.101/24' -> '192.168.100.101' IP=${IP%/*} if has_binary gethostip &>/dev/null ; then ln -sf $v "$pxe_config_file" $pxe_link_prefix$( gethostip -x $IP ) # to capture the whole subnet as well ln -sf $v "$pxe_config_file" $pxe_link_prefix$( gethostip -x $IP | cut -c 1-6 ) else # if gethostip is not available on your platform like ppc64, # use printf to output IP in hex mode ln -sf $v "$pxe_config_file" $pxe_link_prefix$( printf '%02X' ${IP//./ } ) # to capture the whole subnet as well ln -sf $v "$pxe_config_file" $pxe_link_prefix$( printf '%02X' ${IP//./ } | cut -c 1-6 ) fi done ;; (MAC) # look at all devices that have link/ether ip link | grep 'link/ether' | while read headword MAC junk ; do # in MAC replace ':' with '-' e.g. 'a1:b2:c3:d4:e5:f6' -> 'a1-b2-c3-d4-e5-f6' ln -sf $v "$pxe_config_file" ${pxe_link_prefix}01-${MAC//:/-} done ;; ("") Log "Not creating symlinks to PXELINUX config file '$pxe_config_file' (empty PXE_CREATE_LINKS)" ;; (*) Error "Invalid PXE_CREATE_LINKS '$PXE_CREATE_LINKS' (must be MAC or IP or '')" ;; esac popd >/dev/null if test "$PXE_CONFIG_URL" ; then LogPrint "Created PXELINUX config '$pxe_config_file' and symlinks for $PXE_CREATE_LINKS addresses in $PXE_CONFIG_URL" umount_url "$PXE_TFTP_UPLOAD_URL" "$BUILD_DIR/tftpbootfs" else LogPrint "Created PXELINUX config '$pxe_config_file' and symlinks for $PXE_CREATE_LINKS addresses in $PXE_CONFIG_PATH" RESULT_FILES+=( "$pxe_local_path/$pxe_config_file" ) fi