You will need:
- A laptop running a modern Linux- Windows with WSL is fine, too.
- macOS might work, if you can build iPXE there.
 
- A USB flash drive that can store at least 512kB. (256kB should suffice, if that’s all you have.)
- Download the source code for the iPXE open source boot firmware:git clone git://git.ipxe.org/ipxe.gitcd ipxe/src
- Within this directory, edit the config/console.hfile. Remove the slashes at the beginning of this line:#define CONSOLE_SERIAL /* Serial port console */
 and save the file.
- Type make bin-i386-efi/ipxe.efi, and wait while iPXE builds.- If you’re unable to build iPXE, you probably need to install some of its build requirements.
 
- Format your flash drive as FAT32.- I’ve only tested this with one big partition.
- Some people say you have to use a flash drive with a GPT label, but this is not the case on the Xserve1,1.
 
- Make the directory efi/booton the flash drive. Find theipxe.efifile you built, and place it in that directory. Rename it tobootia32.efi.
- Unmount and remove the flash drive.
- Plug the flash drive into the Xserve. Unplug all other disks from the server (just back out the internal disks a little bit).
- Connect to the Xserve serial port using a serial cable, and open your favorite serial terminal program at the 115200 bit rate. The details of this are left as an exercise for the reader.- I used a DB9 to RJ45 adapter, and a Cisco console cable.
- I used this command line:screen /dev/ttyUSB0 115200
 
- Within a minute, you should see iPXE start to boot from the network! Once you see this, alternate between pressing Ctrl+C and Ctrl+B until you are dropped to the iPXE prompt.
- Push the internal hard disks back in (hotplug them).
- Type these lines into the prompt:dhcp
 ifconf
 kernel http://ftp.us.debian.org/debian/dists/stable/main/installer-i386/current/images/netboot/debian-installer/i386/linux console=ttyS0,115200n8 nokaslr mirror/suite=stable initrd=initrd.gz
 initrd http://ftp.us.debian.org/debian/dists/stable/main/installer-i386/current/images/netboot/debian-installer/i386/initrd.gz
 boot
- Install Debian, but once you reach the step “Finishing the installation,” drop to a shell using the installer menu.
- Edit the file /target/boot/grub/grub.cfg. On the first kernel line, remove the wordquiet, and add the following:console=ttyS0,115200n8 nokaslr- nano is available in the installer environment.
 
- Exit this shell, finish the Debian installation, and boot into the installed system.
- Create the file /etc/modprobe.d/ipmi.confwith these two lines:blacklist ipmi_si
 blacklist ipmi_msghandler
- Edit the file /etc/default/gruband edit theGRUB_CMDLINE_LINUXvariable so that it looks like this:GRUB_CMDLINE_LINUX="console=ttyS0,9600n8 nokaslr"
- Run these commands:depmod -a
 update-initramfs -u
 update-grub
- Reboot the system.
You are now running Debian 10 for i386. To migrate to an amd64 kernel:
- dpkg --add-architecture amd64
 apt update- apt install linux-image-amd64
- sudo apt remove linux-image*686*
- Reboot the system.
If you want to migrate to an amd64 userspace:
- Follow the Debian wiki instructions on crossgrading, but do not reboot!
- Ensure the grub-efi-ia32package is installed.
- Edit /etc/default/gruband restore the changes you made toGRUB_CMDLINE_LINUXabove, if they are missing.
- dpkg-reconfigure grub-efi-ia32; when asked “Force extra installation to the EFI removable media path,” select Yes. When asked “Update NVRAM variables to automatically boot into Debian,” select No.
- Run update-grubfor good measure.
- Now reboot the system.
No comment yet, add your voice below!