Surface Pro 3 PXE:
- 
 Hell yes! You’re very welcome. Cheers! I recommend keeping a backup or two of the custom bootfile you made. That way anytime you update to the latest SVN of FOG you can copy it right back into /tftpboot post-upgrade. 
- 
 I’m about to deploy 40 Surface Pro 3 devices into the school I work at - so I’m glad I’ve picked up on this thread - We have purchased only 1 Microsoft USB Surface LAN Adaptor - Will we have issue within FOG - as potentially every Surface will have the same MAC address - or do we only configure 1 of the surfaces within the console and then use this same machine in FOG to deploy to all the Tablets that are using the same USB LAN Connector? Thanks Matt 
- 
 You’ll have to add one of them to FOG’s list of hosts, deploy your image, then replace the LAN adapter’s MAC with the Surface’s wireless MAC. Rinse and repeat until done. I had to do this with over 500 tablets/10 LAN adapters a few months back…blah. 
- 
 Did you manage to get the surface’s to boot into FOG using the official Microsoft USB LAN Adaptor or only the docking station? I’ve created a modified EFI Bootfile as mentioned above and added it into the tftpboot folder on the fog server, and changed the boot file to use in DHCP, but I can’t get it to boot up into Fog. It loads up the PXE boot very quickly and a message about downloading an image but then it goes and continues to load up the surface into Windows. Thanks Matt 
- 
 I’m just at a loss. have you tried the current ipxe files? 
- 
 Sorry Tom, Where do I find the latest ipxe files to install? Thanks Matt 
- 
 
- 
 Just tried with the file supplied in the link and it still won’t boot to the Fog menu - I get downloading NBP? File… Then blips saying successful and then continues to load up Windows. 
- 
 OK, I originally tried using the ipxe.efi which failed to boot the surface to the fog menu, I then tried the snp.efi which booted to a very basic looking menu, I tried to register the host and I get the message:- i8042: Can’t read CTR while initializing i8042
 usb usb2-port1: couldn’t allocate usb_device
 Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0)
 Kernel Offset: 0x0 from 0xffffffff81000000 (relocation range: 0xffffffff80000000-0xffffffff9fffffff)
 —[ end of Kernal panic - not syncing: VFS: Unable to mount fs on unknown-block(1,0)I’ve also tried changing the bootfile to snponly.efi and get the same error as above. Thanks Matt 
- 
 What version of fog? 
- 
 We are running FOG Version 1.2.0 on Ubuntu 12:10 Thanks Matt 
- 
 okay, Matt, can you attempt upgrading to SVN? The command line you’re missing (causing your boot problem) is initrd=init.xz. This is corrected for in SVN, though I am aware of some issues potentially with the init and am working hard to try correcting them. 
- 
 I’m really sorry Tom, are you able to guide me to what I should be doing exactly to achieve what you say. I’m not too familiar with the background workings of Linux. Thanks Matt 
- 
 
- 
 Do this: [SIZE=13px][INDENT]Go here: [URL=‘https://rom-o-matic.eu/’]https://rom-o-matic.eu[/URL] Advanced - EFI PXE Bootstrap 32-bit Check these boxes: [URL=‘http://www.ipxe.org/buildcfg/PARAM_CMD’][FONT=Arial][COLOR=#000000]PARAM_CMD[/COLOR][/FONT][/URL][FONT=Arial][COLOR=#000000], Form parameter commands [/COLOR][/FONT] 
 [URL=‘http://www.ipxe.org/buildcfg/CONSOLE_CMD’][FONT=Arial][COLOR=#000000]CONSOLE_CMD[/COLOR][/FONT][/URL][FONT=Arial][COLOR=#000000], Console command [/COLOR][/FONT]
 [URL=‘http://www.ipxe.org/buildcfg/CPUID_SETTINGS’][FONT=Arial][COLOR=#000000]CPUID_SETTINGS[/COLOR][/FONT][/URL][FONT=Arial][COLOR=#000000], CPUID settings[/COLOR][/FONT]And paste this script in the script box (Replace x.x.x.x with your FOG server’s IP or hostname): #!ipxe dhcp 
 cpuid --ext 29 && set arch i386 ||
 params
 param mac0 ${net0/mac}
 param arch ${arch}
 param product ${product}
 param manufacturer ${product}
 param ipxever ${version}
 param filename ${filename}
 isset ${net1/mac} && param mac1 ${net1/mac} || goto bootme
 isset ${net2/mac} && param mac2 ${net2/mac} || goto bootme
 :bootme
 chain [url]http://x.x.x.x/fog/service/ipxe/boot.php##params[/url]Click Proceed, and voila! Copy the new EFI bootfile to your /tftpboot folder and give it a whirl![/INDENT][/SIZE] 
 [SIZE=11px] [/SIZE]
- 
 Thanks - I’ll give this another shot - but I tried this a few days back after reading your earlier post and couldn’t get it to work! 
- 
 I’m hoping that once you make a 32-bit bootfile that it’ll work. Unless you already have… 
- 
 Morning, I’ve tried again using the modified ipxe.efi file created from the website - When I set that as the bootfile and boot up the Surface Pro 3 I get… Checking Media Presence… 
 Media Present…
 Start PXE over IPv4It flicks then to saying Downloading NBP file… (this appears for a second or two) Then moves onto Checking Media Presence… 
 Media Present…
 Start PXE over IPv6Before continuing to boot up the Surface Pro 3. I don’t get any Fog Menu Thanks Matt 
- 
 Try making a 32-bit EFI bootfile with a script that only has these contents: #!ipxe dhcp 
 shellIf that doesn’t work either, make a 64-bit one with the same script. One of those should bring you to an iPXE shell. 
- 
 Thanks - will try this tomorrow when I’m back in work. If I manage to get it working, will this then boot up the fog menu or will I need to enter some command in the iPXE shell to load fog? If so, what will I need to enter? Thanks Matt 

