Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Toombs <567-ewtoombs@users.noreply.gitlab.archlinux.org>2022-03-17 22:09:29 -0400
committerEric Toombs <567-ewtoombs@users.noreply.gitlab.archlinux.org>2022-03-25 10:44:45 -0400
commit0c6ecb6b89430bd0479b2ff06c743bebc492a3fe (patch)
tree33f29060e40ec41239fef02e8c8b7d3f94aec15a
parenta814f1484c21370cae9c9a62ac2833e8d24dd3dd (diff)
syslinux PXE: Forced all TFTP paths to be absolute
By default, syslinux interprets TFTP paths as relative to the location of the *.c32 modules, regardless whether a path starts with a slash. Without the `::` that I added to all of these paths, syslinux cannot find these files. It searches for them in /%INSTALL_DIR%/syslinux//%INSTALL_DIR%/boot/x86_64/vmlinuz-linux, etc.
-rw-r--r--CHANGELOG.rst3
-rw-r--r--configs/releng/syslinux/archiso_pxe-linux.cfg12
2 files changed, 9 insertions, 6 deletions
diff --git a/CHANGELOG.rst b/CHANGELOG.rst
index 0eb97f9..bb2236d 100644
--- a/CHANGELOG.rst
+++ b/CHANGELOG.rst
@@ -11,6 +11,9 @@ Added
Changed
-------
+- Fix the PXE support. PXELINUX was having trouble finding the kernel and initrds. Now, archiso forces syslinux to
+ interpret all TFTP paths as absolute. That seems to have solved the issue.
+
Removed
-------
diff --git a/configs/releng/syslinux/archiso_pxe-linux.cfg b/configs/releng/syslinux/archiso_pxe-linux.cfg
index e8c9a7b..d812402 100644
--- a/configs/releng/syslinux/archiso_pxe-linux.cfg
+++ b/configs/releng/syslinux/archiso_pxe-linux.cfg
@@ -4,8 +4,8 @@ Boot the Arch Linux install medium using NBD.
It allows you to install Arch Linux or perform system maintenance.
ENDTEXT
MENU LABEL Arch Linux install medium (x86_64, NBD)
-LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux
-INITRD /%INSTALL_DIR%/boot/intel-ucode.img,/%INSTALL_DIR%/boot/amd-ucode.img,/%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
+LINUX ::/%INSTALL_DIR%/boot/x86_64/vmlinuz-linux
+INITRD ::/%INSTALL_DIR%/boot/intel-ucode.img,::/%INSTALL_DIR%/boot/amd-ucode.img,::/%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% archiso_nbd_srv=${pxeserver} checksum verify
SYSAPPEND 3
@@ -15,8 +15,8 @@ Boot the Arch Linux live medium using NFS.
It allows you to install Arch Linux or perform system maintenance.
ENDTEXT
MENU LABEL Arch Linux install medium (x86_64, NFS)
-LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux
-INITRD /%INSTALL_DIR%/boot/intel-ucode.img,/%INSTALL_DIR%/boot/amd-ucode.img,/%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
+LINUX ::/%INSTALL_DIR%/boot/x86_64/vmlinuz-linux
+INITRD ::/%INSTALL_DIR%/boot/intel-ucode.img,::/%INSTALL_DIR%/boot/amd-ucode.img,::/%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
APPEND archisobasedir=%INSTALL_DIR% archiso_nfs_srv=${pxeserver}:/run/archiso/bootmnt checksum verify
SYSAPPEND 3
@@ -26,7 +26,7 @@ Boot the Arch Linux live medium using HTTP.
It allows you to install Arch Linux or perform system maintenance.
ENDTEXT
MENU LABEL Arch Linux install medium (x86_64, HTTP)
-LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux
-INITRD /%INSTALL_DIR%/boot/intel-ucode.img,/%INSTALL_DIR%/boot/amd-ucode.img,/%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
+LINUX ::/%INSTALL_DIR%/boot/x86_64/vmlinuz-linux
+INITRD ::/%INSTALL_DIR%/boot/intel-ucode.img,::/%INSTALL_DIR%/boot/amd-ucode.img,::/%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
APPEND archisobasedir=%INSTALL_DIR% archiso_http_srv=http://${pxeserver}/ checksum verify
SYSAPPEND 3