PXE Boot from Yoga 2's using USB to Ethernet Adapter.
-
I found another forum but, not sure it is still active. I’m new to fog and have been trying to make myself familiar with it. Product is great, but currently having problems PXE/IPXE booting to Lenovo ThinkPad Yoga 2’s with USB Ethernet Adapters.
We are running Ubuntu 14.04. I found Kernel.Core.Tom.Elliot.3.19 and tried to get that to work based off this forum but, have not had success. Can someone provide instructions on how to get this to work and what we need to do with the Kernel files please.
Thanks
-
What version of FOG and exactly which adapter are you using it seems that USB to Ethernet drivers are very hit or miss with the current kernels.
-
[quote=“Joseph Hales, post: 44444, member: 18131”]What version of FOG and exactly which adapter are you using it seems that USB to Ethernet drivers are very hit or miss with the current kernels.[/quote]
FOG[CENTER][B][SIZE=12px][FONT=Ubuntu][COLOR=#00567a]1.2.0.[/COLOR][/FONT][/SIZE][/B][/CENTER]
[CENTER][B][SIZE=12px][FONT=Ubuntu][COLOR=#00567a]Lenovo ThinkPad USB 3.0 Ethernet Adapter[/COLOR][/FONT][/SIZE][/B][/CENTER]
[CENTER][B][SIZE=12px][FONT=Ubuntu][COLOR=#00567a]P/N 4X90E51405[/COLOR][/FONT][/SIZE][/B][/CENTER] -
Yes, we need more information! Please take a picture when Yoga boots up displaying information about the NIC. Or even better: boot up a linux live CD and run ‘lsusb -t’…
USB NICs are still very new in iPXE. Linux kernel is a bit better but still causes trouble with some of the adapters. But be aware that you need to make both (ipxe and kernel) work with your NIC to be able to image your yoga.
We just started to gather which USB adapters work: [url]http://fogproject.org/wiki/index.php/WorkingDevices#USB_Ethernet_Adapters[/url]
Read through those threads and search the forum for ‘yoga’ as well. You’ll find heaps of information about it! [B]Please report back if you got it up and running!![/B]
And you are more than welcome to ask here if you need help with that. Please post error messages and/or pictures of things going wrong so we are able to help you.
-
[quote=“Uncle Frank, post: 44447, member: 28116”]Yes, we need more information! Please take a picture when Yoga boots up displaying information about the NIC. Or even better: boot up a linux live CD and run ‘lsusb -t’…
USB NICs are still very new in iPXE. Linux kernel is a bit better but still causes trouble with some of the adapters. But be aware that you need to make both (ipxe and kernel) work with your NIC to be able to image your yoga.
We just started to gather which USB adapters work: [url]http://fogproject.org/wiki/index.php/WorkingDevices#USB_Ethernet_Adapters[/url]
Read through those threads and search the forum for ‘yoga’ as well. You’ll find heaps of information about it! [B]Please report back if you got it up and running!![/B]
And you are more than welcome to ask here if you need help with that. Please post error messages and/or pictures of things going wrong so we are able to help you.[/quote]
We are using Fog 1.2, using a USB Ethernet Adapter made by Lenovo for the ThinkPad Yoga’s. We added symlinks to the DHCP server for 066 - “Fog_Server” and line 067 we have tried “ipxe.efi”, “undionly.kpxe” and “undionly.kkpxe”.
We select the LAN Boot and the machine loads a few lines of code see attached picture. Then it tries to go to IPV6. In the BiOS we have it booting to UEFI only.
I read an article, here [SIZE=3][FONT=arial][COLOR=#222222][url]http://fogproject.org/forum/threads/fog-pxe-boot-with-usb-to-ethernet-adapter.10352/page-3[/url]. But not really sure what you have to do with the Kernel once I have it.[/COLOR][/FONT][/SIZE]
Let me know if I can provide anymore information. As I mentioned I’m pretty new to Fog Server and Ubuntu. Thanks for the help
[url=“/_imported_xf_attachments/1/1810_download_20150326_143608.png?:”]download_20150326_143608.png[/url]
-
If you configured UEFI only you need to use ipxe.efi (or snponly.efi/snp.efi)! Give it a try. Configure your DHCP to point to those files and start up your client again.
Personally I’d prefer to configure legacy mode in BIOS and use undionly.(k)kpxe. But that’s just me. You need to try different things to see what works for you. This is just iPXE. The linux kernel will be the next step after we get iPXE working.Your setup (yoga with usb adapter) is pretty advanced stuff!!! Won’t be an easy one. But I am sure you’ll learn a lot about PXE, Linux and FOG if you are keen enough, read up things and try it out…
-
Thanks for the help. We changed the 067 symlink to snponly.efi and it worked. Well kinda… it doesn’t look like the normal fog screen. Black screen highlights the options in blue. Will also not allow me to do it anything as the init.xz files fails to load all the way. init.xz file gets to about 85% and then goes back to main fog screen. Any thoughts on this?
[url=“/_imported_xf_attachments/1/1812_Screen Shot 2015-03-26 at 3.56.54 PM.png?:”]Screen Shot 2015-03-26 at 3.56.54 PM.png[/url]
-
Interesting stuff! Have never seen this before (haven’t seen much people trying to get things with EFI running)! Check out this: [url]http://permalink.gmane.org/gmane.network.ipxe.devel/2209[/url]
To me it looks like what you see except that this guy is doing it step by step (dhcp, download binary and execute it).Can you make it work with other binaries too?? snp.efi… ipxe.efi??
Edit: If you are really keen try building your own iPXE binary with debugging enabled. See here for instructions: [url]http://fogproject.org/forum/threads/build-ipxe-from-source.10152/[/url]
Use: make … DEBUG=efi_snp -
[url]http://ipxe.org/err/2c0480[/url]
Based on the link provided above, if you follow where the file is coming from, it appears that it can’t recognize the device from iPXE’s side, although it is able to get to the menu (the non pretty version is the only one available for the efi labeled files as the efi stuff hasn’t received information for the vesa_fb stuff yet.)
So while iPXE files seem to get you where you need to go, passing off the information once loading the init and bzimage seems to be the other part of the equation.
I’d recommend, as Uncle Frank suggests, try using a different file, and I’d say start with the ipxe.efi, though I don’t know if the ipxe.efi will contain your drivers.
That all said, I’d also highly recommend doing all this with the legacy mode. I understand why you’d want to use UEFI, but it’s still up in the air on whether things work or not with iPXE and FOG. Seeing as some things sometimes work, but in most cases there seems to be an issue of sorts that I can’t begin to describe how to go about fixing.
-
Thanks for the help. I was able to get the undionly.kkpxe driver to load. I changed the bios settings to Legacy only and it booted up to the normal fog screen. Tried to upload an image to the server. Got a fatal error when trying to mount the NFS volume. Removed upload task. Tried to boot into the Fog Server and got an error that states. cdc_ether 2-2:2.0 eth0 kevent 12 may have been dropped. Tried somethings on this post [url]http://fogproject.org/forum/threads/fatal-error-failed-to-mount-nfs-volume-timed-out.11777/[/url] had no luck. see attached screen shots.
[url=“/_imported_xf_attachments/1/1815_Screen Shot 2015-03-27 at 8.21.31 AM.png?:”]Screen Shot 2015-03-27 at 8.21.31 AM.png[/url][url=“/_imported_xf_attachments/1/1816_Screen Shot 2015-03-27 at 8.22.55 AM.png?:”]Screen Shot 2015-03-27 at 8.22.55 AM.png[/url]
-
Wow, this got you pretty far. Absolutely fantastic!!
I guess you haven’t played with the has_usb_nic kernel flag yet. It’s kind of a workaround to make USB NICs work within FOG. But this option is only available in current development version. Check this out on how to upgrade: [url]http://www.fogproject.org/wiki/index.php/SVN[/url]
Then after upgrading and schema updater go to the settings page of that host and add ‘has_usb_nic=1’ to ‘Host Kernel Arguments’…
Note to myself: Dig into this stuff more to hopefully make it all work without this kernel parameter at some point!
-
I’ve been trying to figure out exactly what you are Uncle Frank. I don’t think it’s specific to the kernel, but rather how iPXE is opening the connection, and it’s just not releasing the openness of the connection when the code links.