Skip to content

Commit 6f3120f

Browse files
authored
Merge pull request #145 from netbootxyz/feature/legacy-usb-bootfiles
feat: download legacy USB bootloaders at init
2 parents ffc56ed + e42eacb commit 6f3120f

2 files changed

Lines changed: 15 additions & 0 deletions

File tree

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -223,6 +223,8 @@ The following bootfile names can be set as the boot file in the DHCP configurati
223223
| `netboot.xyz.efi` | UEFI boot image file, uses built-in UEFI NIC drivers |
224224
| `netboot.xyz-snp.efi` | UEFI w/ Simple Network Protocol, attempts to boot all net devices |
225225
| `netboot.xyz-snponly.efi` | UEFI w/ Simple Network Protocol, only boots from device chained from |
226+
| `netboot.xyz-legacy.kpxe` | Legacy BIOS boot image without USB NIC drivers; use if your USB keyboard stops working in the menu ([details](https://netboot.xyz/docs/kb/hardware/usb-keyboard/)) |
227+
| `netboot.xyz-legacy.efi` | UEFI boot image without USB NIC drivers; use if your USB keyboard stops working in the menu ([details](https://netboot.xyz/docs/kb/hardware/usb-keyboard/)) |
226228
| `netboot.xyz-arm64.efi` | DHCP EFI boot image file, uses built-in iPXE NIC drivers |
227229
| `netboot.xyz-arm64-snp.efi` | UEFI w/ Simple Network Protocol, attempts to boot all net devices |
228230
| `netboot.xyz-arm64-snponly.efi` | UEFI w/ Simple Network Protocol, only boots from device chained from |

root/init.sh

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,19 @@ if [[ ! -f /config/menus/remote/menu.ipxe ]]; then
100100
curl -o \
101101
/config/menus/remote/netboot.xyz-arm64-snponly.efi -sL \
102102
"https://github.com/netbootxyz/netboot.xyz/releases/download/${MENU_VERSION}/netboot.xyz-arm64-snponly.efi"
103+
# legacy boot files (no USB NIC drivers; preserve USB keyboard support on some
104+
# BIOS/UEFI firmware -- https://netboot.xyz/docs/kb/hardware/usb-keyboard/).
105+
# These assets only exist in 3.x and later releases, so download them only when
106+
# the selected release provides them and skip gracefully otherwise.
107+
for legacy_file in netboot.xyz-legacy.kpxe netboot.xyz-legacy.efi; do
108+
if curl -o "/config/menus/remote/${legacy_file}" -fsSL \
109+
"https://github.com/netbootxyz/netboot.xyz/releases/download/${MENU_VERSION}/${legacy_file}"; then
110+
echo "[netbootxyz-init] Downloaded ${legacy_file}"
111+
else
112+
echo "[netbootxyz-init] ${legacy_file} not available for ${MENU_VERSION}, skipping"
113+
rm -f "/config/menus/remote/${legacy_file}"
114+
fi
115+
done
103116
# layer and cleanup
104117
echo -n "${MENU_VERSION}" > /config/menuversion.txt
105118
cp -r /config/menus/remote/* /config/menus

0 commit comments

Comments
 (0)