For the life of me, even though there is a menu option the Dell Wyse ThinClient 3040 to EFI PXEBoot,
it pulls DHCP information, but never requests the boot files from the PXE server.
Probably the most detailed account of innards of the Wyse 3040 (N10D): Hardware.
Instead, as a work around, the goal is to keep a USB stick inserted into the 3040 to
act as a PXE boot mechanism to install Debian on to the local drive.
After building a USB filesystem, Install IPXE files (as a side effect, it adds an ipxe menu item to grub.cfg):
$ apt install ipxe
Mount the partition:
$ mkdir mnt
$ sudo mount /dev/sda1 mnt
Create the EFI BOOT directory:
$ sudo mkdir -p mnt/EFI/BOOT/
Copy the IPXE EFI boot file natively, and as a required name:
$ sudo cp /usr/lib/ipxe/ipxe.efi mnt/EFI/BOOT/
$ sudo cp /usr/lib/ipxe/ipxe.efi mnt/EFI/BOOT/BOOTX64.EFI
$ ls mnt/EFI/BOOT/
BOOTX64.EFI ipxe.efi
The rename to BOOTX64.EFI is required as this is hardcoded in the boot menus for the Wyse 3040. During the tail end of a Debian Expert install, there is a question of whether to install into a legacy EUFI boot directory. This performs that /EFI/BOOT/... build.
Install Grub (see --removable reference:
# sudo grub-install /dev/sda --removable # may solve the above problem with BOOTX64.EFI, needs to be tried
$ sudo grub-install /dev/sda
Installing for x86_64-efi platform.
Installation finished. No error reported.
Unmount the drive for use:
$ sudo umount /dev/sda1
BIOS entries for the Dell Wyse 3040 to use with this iPXE USB (default password Fireport):
- General -> Boot Sequence -> disable both IP6&IP4 Realtek GBE
- System Configuration -> UEFI Network Stack -> uncheck Enable UEFI Network Stack
- System Configuration -> Integrated Nic -> Enabled (no PXE)
- System Configuration -> USB Configuration -> check Enable USB Boot Support
- Secure Boot -> Secure Boot Enable -> Disabled
- Power Management -> Wake on LAN -> LAN Only
- Virtualization Support -> Virtualization -> Enable