1

I'm wondering if anyone has ever attempted this before with a Linux PXE Server?

I've got it setup and working for pretty much every other laptop and desktop out there.

This is the first time I have attempted this and we have the official Microsoft Surface USB to LAN Adapter.

Here's my dnsmasq config:

interface=eno16777736,lo,eth0 #bind-interfaces domain=netdec.lan # DHCP range-leases dhcp-range= eno16777736,192.168.1.3,192.168.1.60,255.255.255.0,1h # PXE dhcp-boot=pxelinux.0,pxeserver,192.168.1.133 # Gateway dhcp-option=3,192.168.1.1 # DNS dhcp-option=6,192.168.1.1, 8.8.8.8 server=8.8.4.4 # Broadcast Address dhcp-option=28,10.0.0.255 # NTP Server dhcp-option=42,0.0.0.0 user=nobody pxe-prompt="Press F8 for menu.", 120 pxe-service=x86PC, "Proceed and choose your operating system", pxelinux enable-tftp tftp-root=/var/lib/tftpboot log-dhcp 

We fail to get the PXE Menu (proceed and choose your operating system) when using the above configuration, we only get the pxe menu when commenting out the following "dhcp-boot=pxelinux.0,pxeserver,192.168.1.133".

In the logs I can see the following when PXE booting the surface;

Jun 15 14:12:15 localhost dnsmasq-dhcp[17425]: DHCPDISCOVER(eth0) c0:33:5e:74:41:65 Jun 15 14:12:15 localhost dnsmasq-dhcp[17425]: DHCPOFFER(eth0) 192.168.1.34 c0:33:5e:74:41:65 Jun 15 14:12:31 localhost dnsmasq-dhcp[17425]: DHCPREQUEST(eth0) 192.168.1.34 c0:33:5e:74:41:65 Jun 15 14:12:31 localhost dnsmasq-dhcp[17425]: DHCPACK(eth0) 192.168.1.34 c0:33:5e:74:41:65 Jun 15 14:12:31 localhost dnsmasq-tftp[17425]: error 8 User aborted the transfer received from 192.168.1.34 Jun 15 14:12:31 localhost dnsmasq-tftp[17425]: failed sending /var/lib/tftpboot/pxelinux.0 to 192.168.1.34 Jun 15 14:12:31 localhost dnsmasq-tftp[17425]: sent /var/lib/tftpboot/pxelinux.0 to 192.168.1.34 

Here's a tcpdump when the surface is attempting to retrieve the pxelinux.0 file via TFTP. 15:06:29.757118 IP 192.168.1.34.sdsc-lm > 192.168.1.133.tftp: 40 RRQ
"pxelinux.0" octet blksize 1468 15:06:29.758004 IP 192.168.1.133.54039 > 192.168.1.34.sdsc-lm: UDP, length 27 15:06:29.759410 IP 192.168.1.34.sdsc-lm > 192.168.1.133.54039: UDP, length 30 15:06:29.782301 IP 192.168.1.34.3ds-lm > 192.168.1.133.tftp: 32 RRQ
"pxelinux.0" octet blksize 1468

Is this really simple and I have missed something or is it just not possible?

Thankyou guys.

1 Answer 1

2

Microsoft Surface is an UEFI only device; you won't ever be able to boot pxelinux.0 NBP (which is BIOS only) on that device. That's why you cannot see the booting menu.

If you want to PXE a Microsoft Surface you need something like Serva able to automatically PXE boot/install UEFI and BIOS clients. (I'm related to Serva development)

9
  • Pat, how can I add UEFI support to the linux pxe server? Commented Jun 20, 2016 at 9:55
  • 1
    >how can I add UEFI support to the linux pxe server? this does not have an easy answer; basically your dhcp depending on the client architecture provides the corresponding NBP, and the NBP chainloads to the corresponding bootloader. In a multi-asset when offering Windows OSs you also need to deal with the BCD creation and all thta stuf Commented Jun 20, 2016 at 11:52
  • 1
    >want to move it away from running on a windows based server well there's not a Linux based PXE server today doing what Serva does. I could recommend SCCM or MDT but they are also Windows based. I could mention FOG or even Clonezilla but they are HDD image based solutions. Commented Jun 20, 2016 at 11:55
  • 1
    >to serve UEFI devices I need bootx64.efi this is a big misunderstanding; bootx64.efi is a "generic" name that can gotten when renaming syslinux,grub,ipxe,etc UEFI agents... then you need a correctly tuned UEFI boot manager; also not an easy task these days. The last versions of syslinux it includes syslinux.efi but til today it cannt chainload efi images then you cannot install windows. iPXE is a different world good for experimenting bad for working, your only choice could be Grub. Commented Jun 20, 2016 at 14:16
  • 1
    Serva was getting stuck when loading a Windows 7 ISO: bootmgfw.efi if Serva gets stuck when loading bootmgfw.efi you might have a network issue, or a client with old firmware, etc. Also for UEFI compatibility reasons (old clients not implementing the UEFI standard correctly) Serva includes 3 Boot Manager Modes; try i.e. BMM=2; You should probably add a new question with this issue if you want. Commented Jun 20, 2016 at 14:21

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.