The Wyse 3040 is a little machine perfect for small tasks at home.
Read all about it here: Wyse 3040 Thin Client
I bought three of these second-hand for $30 US, and I wanted to run Debian Linux. These instructions will probably work for other distributions, ymmv. I will assume you know how to install Linux and know Linux quite well. This page is just about the 3040.
I could not find an OS upgrade to ThinLinux for 8Gbyte machines on the Dell site. Seems they don't support old hardware, only the 16Gbtye image is available.
You need
- A Linux machine for creating bootable USB storage devices,
- Debian netinst installed on a bootable USB storage key. I used Debian 11 (Bullseye). Refer: Network install from a minimal CD
- The 3040 all connected up to Ethernet with Internet access, screen, keyboard, mouse.
Configure the BIOS
Power on the 3040 (press the power button after the light goes Off) and keep pressing the F2 key - this will boot into the BIOS user interface. Unlock the BIOS. It might ask for the default password, 'Fireport'. [You can remove passwords in the Security section]. Look at the 'System Information' - my 3040 has BIOS version 1.2.4. Make these settings:
- System Configuration/USB Configuration/Enable* set all these three ON
- POST Behavior/Keyboard Errors OFF
- POST Behavior/Extend BIOS POST Time 10 seconds
Save the BIOS changes and power off.
Check the EFI boot path needed
Insert the USB key and reboot, but this time keep pressing the F12 key to get the boot menu to display.
You will see the USB key as a bootable option. However select the BIOS Setup option rather than booting into the USB key. In the BIOS go to the General/Boot Sequence settings. Select the View button for each boot option. Make a note of the File Name field. In all cases my machines show \EFI\BOOT\BOOTX64.EFI Make a note of it. You can attempt to change this but due to a bug in the BIOS this value cannot be changed. We have to add this path in the installed file system.
Install Debian LInux
Reboot the 3040 keep pressing the F12 key to get the boot menu. Select the USB key and boot from it.
You should be able to install Debian now. Do the install, we need to keep it small to fit into the 2GByte MMC/SD disk in the 3040. Here are some options I used, you may have different preferences, but when in doubt, leave it out.
- Guided use entire disk
- Xfce
- SSH Server
When the install is complete, leaving the USB key in the machine, reboot and keep pressing F12 to get the boot menu. You will see debian as an option now
Boot into rescue mode
However, boot into the USB key where the installer lives, but boot into 'Rescue' mode
Copy the EFI files
We are now going to copy the debian-created boot 'efi' file into the path expected by the BIOS as noted above.
Check you have the 3040's boot partition, and mount it:
# blkid /dev/mmcblk0p1
Check the device has 'BLOCK_SIZE="512" TYPE="vfat"'
# mkdir /mnt/p1
# mount /dev/mmcblk0p1 /mnt/p1
List all the EFI programs, and their checksums:
# md5sum $(find /mnt/p1 -name '*efi' ) | sort
Now copy the EFI code into the directory the BIOS expects
# cp -rp /mnt/p1/EFI/debian /mnt/p1/EFI/boot
And create the file it expects
# cp /mnt/p1/EFI/boot/shimx64.efi /mnt/p1/EFI/boot/bootx64.efi
# sync; sync
Check you have the bootx64.efi file
# md5sum $(find /mnt/p1 -name '*efi' ) | sort
Reboot into Debian Linux
Now unplug the USB key and reboot the 3040. All being well, after boot and login you will see something like this:
It is likely here are better ways to do this than copying 'efi files. This is a start, let me know by email if you find a more elegant way to do this, thanks.