I decided to have a go at setting up iPXE boot on a series of boxes that I have. To start I’m trying to see if I can get it working on just one. I’ve been chipping away at it for the past few days but finally I’ve hit a snag that Google doesn’t seem to have an easy answer for.
For context I’ve setup three virtual machines on a hypervisor:
-
A DHCP server using
isc-dhcp-server
-
A TFTP server using
tftpd-hpa
-
A iSCSI server using
tgt
The DHCP server is currently configured as such:
subnet 10.0.0.0 netmask 255.255.255.0 {
range 10.0.0.10 10.0.0.254;
option routers 10.0.0.9;
next-server 10.0.0.12;
filename "undionly.kpxe";
}
if exists user-class and option user-class = "iPXE" {
filename "";
option root-path "iscsi:10.0.0.11::::iqn.2020-12.boinc.com:lun1";
} else {
filename "undionly.kpxe";
}
The TFTP server is currently configured as such:
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/mnt/media/tftpboot"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure"
The iSCSI server is currently configured as such:
<target iqn.2020-12.boinc.com:lun1>
backing-store /dev/sdb
</target>
The OS of choice is Ubuntu Server 20.04.1 LTS but for the moment I’m testing with the desktop variant.
Using open-iscsi
I was able to mount the iSCSI LUN to the Ubuntu installer and install the OS but the steps I was following after this point weren’t working (probably because they were neigh on 9 years old).
Skipping ahead in the guide I configured the DHCP & TFTP servers and now the network adapter (Mellanox ConnectX-2 MNPA19-XTR) through iPXE does recognize the TFTP & iSCSI server data it’s being given over DHCP but now it hangs at Could not open SAN device: Input/output error
.
The only answers Google has reveled to me so far is to do a WireShark packet capture but my skill with the software is mediocre to say the least. I wouldn’t know what I’m looking at or what I’m looking for.
So this is where I’m at. Any help is appreciated.