UEFI booting with Yoga 370
-
No change using the ipxe7156.efi file.
-
We recently purchased a batch of Yoga 370’s and have been working on figuring out why they don’t play nice with fog for a few days. These are the findings i’ve had so far.
note: we are trying to use the thunderbolt dock as Ethernet adapter.
First off to get it to boot on the network adapter i disabled all Secure Boot functionality and Thunderbolt security features
Following this i boot the device off the dock with IPV4.As of writing these things happen when booting through the 7156 list:
-
intel7156.efi
DHCP Failed -
ipxe7156.efi
Freeze after init.xz…ok -
realtek7156.efi
DHCP Failed -
snp7156.efi
DHCP Failed -
snponly7156.efi
eth0 UP Failed -
ipxe.efi
Freeze after init.xz…ok
-
-
@Iceman344 said in UEFI booting with Yoga 370:
ipxe.efi
Freeze after init.xz…ok@Tom-Elliott Do we still have early_printk enabled in the kernel? Maybe this is something we can figure out by setting kernel log level up high and enabling early_printk?!
-
@Iceman344 While I would like to get FOG to boot in EFI. I did get it to boot in legacy mode and image without an issue and then push down an EFI image. I was using the USB 3.0 adapter for this. I also just got the ethernet extension adapter but I haven’t had time to test it yet. I would think this should work better as it will use the on board Intel LM-219 network adapter.
-
@Brian-Hoehn It would be interesting to know if usb booting directly info FOS gives you the same issue as ipxe -> fos. There is a guide here on how to build a usb boot drive to boot into FOS via grub. https://forums.fogproject.org/topic/7727/building-usb-booting-fos-image
-
@george1421 I tried out your guide and got the yoga to boot fog from the usb stick under efi but the result is still the same once it loads the actual task (the pxe menu itself works fine). Any futher steps i can take to enable more debugging ?
-
@Brian-Hoehn @Iceman344 Possibly you are using a similar USB adapter that is causing us problems here: https://forums.fogproject.org/topic/10250/hp-stream-11-g3-locks-up-after-init-xz/
Could you both please follow my latest post in this thread, post your
lspci
output, and try out the provided iPXE binaries. Probably best if you start with03_undionly.kpxe
and post a picture/screenshot here. -
@Sebastian-Roth I haven’t had any issue with legacy booting. Just UEFI.
I’ll see if I can do some testing on this tomorrow. -
@Brian-Hoehn Working on so many differnt iPXE issues at the moment I obviously got things mixed up. Sorry for that!
So let’s start just as we did with the HP stream device in legacy mode. I compiled a debug enabled (
DEBUG=bzimage,image
) binary for you to test and see if it properly goes loading the kernel. Find01_ipxe.efi
here. Please post a screenshot/picture. -
@Brian-Hoehn @Iceman344 Beside testing the binary, could you also boot up your Yogas into a debug upload task and run the following command when you get to the shell:
lsusb
Please take a picture and post here. As well you might want to send the exact name of this USB NIC(s) you are using. -
@Brian-Hoehn @Iceman344 Any news on this??
-
@Sebastian-Roth we are 100% focused on organizing a conference atm so i have not had time for this issue. Begining to end of August however i will have full dedication to this.
-
@sebastian-roth So, i followed the suggested steps and here are my results.
Booting with the EFI fog stick with debug enabled gave some more information, though i’m sure it will say more for you then me.
I pulled verbose lists of both the usb and pci devices and attached them below.
As far as i see the hub is under the 0x17ef vendor-id.http://www.mediafire.com/file/dh153eh6ar3o391/lsusb.txt
http://www.mediafire.com/file/n7s11lvpz7v27cc/lspci.txtApologies for my late reply on the problem.
-
@Iceman344 Thanks for getting back to this and updating the information. Interestingly enough I see this in the
lspci
output:00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (4) I219-V (rev 21)
And why I search for the specs of the Yoga 370 I find this indeed saying that the Yoga 370 comes with a proper Intel NIC chip onboard. But maybe you’d need to buy those extension cords to use the onboard Intel NIC. And we still don’t know of UEFI firmware would still fail to play a nice game with us. But I thought I’d mention this in case you wanna give it a shot.
Ok back to the USB NIC, it has USB ID 17ef:3062 which seems to be another one of those honky RTL8152 (USB2.0) or RTL8153 (USB3.0) based chips - see here.
Here is the next debug build iPXE binary
02_ipxe.efi
for you to test (DEBUG=image,init,efi_image
). Let’s see if we can get more information. As I don’t have a machine here to test right now this is kind of a “blind build”. Let’s hope I got it all right. Please take a picture and post here again. -
@sebastian-roth Yep they do have a nice onboard NIC but as you also correctly noted they need a special adapter to break out the connector to be actually usable (100% crap imho). But as we got a bunch of the lenovo hubs for this device we would love to be able to use that one so no extra desk diving and replugging needs to happen.
Anyway this is the result after booting the new bootloader,
-
@Iceman344 Yeah, one step closer. I feel this is failing very early in the process where iPXE hands off to the kernel. Alright, next with more debug output is
03_ipxe.efi
(download). I am sorry for this step by step action but AFAIK there is no other way to find where this actually hangs. We’ll take another 2 or 3 iterations till we actually hit the exact spot I suppose.Would you mind using the normal forum picture upload function (the most right symbol above the text field) as those photobucket pictures are not really working. Hope you didn’t mind me editing your other posts and adding the pics directly.
-
@sebastian-roth So update ! The new bootloader shows some more info and boots nicely to the menu. Problem right now is that the debug info goes a little quick. I got some footage with a camera but the 30fps limit doesn’t help, so i winged it with some burst mode pictures. Tomorrow i’ll capture the HDMI output straight to get more acurate info. Is there any way to make it dump the output to the file system its running on ?
Also i totally understand the iteration issue. I’ll be here to test !
This is as much info as i could get out of the footage.
This after selecting “Client System Information” as a test
Also on a side note i did not realise that pictures could be uploaded and inserted this way. I’ve replaced the ones in the previous posts
-
@iceman344 said in UEFI booting with Yoga 370:
… and boots nicely to the menu.
This is because you used a different client this time - see the different MAC addresses in the pictures. For this host no task has been scheduled and therefor you got the FOG menu. But that’s ok I reckon. The last of the three pictures you posted lately is a good pointer on where things go wrong.
Although we must be very close to the “hang” (as I don’t see many function calls further down that way in the code) I still have no clue why this would stall. Possibly this is not a hang but more of an infinite loop. We’ll see from the next debug output -
04_ipxe.efi
(download). Don’t worry about taking a slow motion video if it hangs. We just need to see the very last output. In case it loops over and over a video might be handy but I guess we could even go with a picture then. So no need for high tech video capturing I reckon.Also i totally understand the iteration issue. I’ll be here to test !
Thanks a lot for taking this up with me.
-
@sebastian-roth Ah yes, this is because i was using an already in place thunderbolt-dock, but had to fetch a new one as it was needed. The machine is still the same however.
So now this is the last message i get
-
@Iceman344 Right now to me this looks as if iPXE is just waiting for the TCP connection to close. For some reason the other communication partner (FOG server in this case I reckon) seems to not properly close the connection and iPXE is waiting for it. This is just an assumption up to now as we don’t have a packet dump of the communication yet. Might be one of the next steps. Don’t get me wrong. I still think this is something caused by the Realtek USB NIC… we’ll figure it out at some point I am sure.
But first please try simple waiting. Use
05_ipxe.efi
(again added more debug output - download), take a picture of the screen where it hangs and then just let it sit there for a couple of hours. Check on it every now and then to see if it went any further or if it just sits at this stage for ever.