Surface Pro 3 PXE:
-
While the title doesn’t mean much, it’s still useful.
The ltsp is used to “prxy” the dhcp server for boot up requests.
We’ll be making all modifications after this point in that file. Though I need to find out what specifically, so I’ll be testing vicariously through you Chris.
-
I am using FOG in a Windows Environment where I set options 66 and 67 on our DHCP server running on Windows Server 2008 R2.
-
That’s fine.
If you setup dnsmasq, you can leave those values there, or remove them, and all should still work. Albeit with some minor gotchas.
-
Ok, since my FOG is a VM on vmware I can take a snapshot and always roll back in case we break anything
-
Exactly.
-
I have not been able to get the above solution to work on 1.2.0 with the new Surface Pro 3 Dock. I ordered a usb gigabit adapter today, hope to see different results.
-
If it’s prompting for the TFTP server address then it’s simply an issue with that particular build of iPXE. The good news is that everything else is working properly.
If you compile your own it shouldn’t prompt you for the address anymore and instead take you straight to the FOG boot menu.
Go here:
[url]https://rom-o-matic.eu[/url]
Advanced - EFI PXE Bootstrap (and your desired architecture)
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 x86_64 || 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!
-
Thank you d4rk3!
I didn’t see the reply to this message, but this fixed the issue. My colleague got on her and saw the reply and built the image.
At first, we connected the gigabit usb adapter and it still would not seem to grab the image. I checked my tftp logs and noticed that the usb adapter was never contacting the server, but the surface pro dock was.
Plugged the surface pro 3 back into the dock, changed the bootfile name in dhcp to the custom efi file and it booted into fog!
-
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.