I have a few ThinkPads (x280, x390, etc) connected to thunderbolt docking stations. I also have DHCP and PXE set up to boot an ubuntu image I serve over NFS. The DHCP, PXE and NFS boot setups works when laptops or workstations use their internal network interface to boot over LAN.

The problem starts when I connect those laptops to their Lenovo Thunderbolt 3 Gen 2 docking stations. The first dhcp request for the tftp server, bootloader and kernel works, the kernel boots but later when it tries to mount the nfsroot, it starts another DHCP request but seems to only use the internal network interface of the laptop, not the docking station's interface.

Things I have tried:

  • I have already tried setting the BOOTIF=${net_default_mac} or ip= settings but it appears the kernel does not offer another network interface except eth0.
  • in /etc/initramfs/initramfs-tools.conf I have set MODULES=most
  • since the x280 and x390 do not have full ethernet ports any more, just connecting the laptops using rj45 cables directly is not an option, unfortunately.

How can I boot from NFS using the thunderbolt docks?

  • 2
    What is logged on the system as it boots? Oct 27, 2020 at 17:19

1 Answer 1


The client hardware PXE boots and initiates a DHCP DORA sequence as a PXE client using the PXE UNDI NIC drivers included in the firmware of the PXE booting PC. Next when the OS boots up (Kernel+initrd) it performs a now regular DHCP request (not PXE) based on the distro included NIC drivers. It is clear that while PXE includes driver support for both of your hardware NICs the booted OS has support only for one; the other one will be completely ignored.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .