Tablet with WINDOWS 10 and USB-LAN SMC 7500 adapter
-
@george1421
Thx for this finding.
What is strange to me is my old BIOS behavior. I did not change BIOS exit mode - I have GRUB_FIRST_HDD here but I got this error on my old BIOS machines
What should I do in dnsmasq config to setup just this tablet, and remove BIOS machines temporarily? -
@AndrewG78 Ok lets backtrack a bit. I had you change a setting for consistency sake, but lets remove all but what we need. Go back and edit your ltsp.conf file and comment out out the pxe-service settings like this, leaving just the EFI 32 bit entry.
# pxe-service=X86PC, "Boot to FOG", undionly # pxe-service=X86-64_EFI, "Boot to FOG UEFI", ipxe # pxe-service=BC_EFI, "Boot to FOG UEFI PXE-BC", ipxe pxe-service=IA32_EFI, "Boot to FOG UEFI IA32_EFI", i386-efi/ipxe.efi
-
@AndrewG78 The one thing I didn’t ask you was what version of dnsmasq are you using? You can find out by opening a command shell on your dnsmasq server and key in
dnsmasq -v
to get the version number. Hopefully you are using 2.76 or later. -
@george1421
yes it is 2.76 -
@george1421
OK. Now, old BIOS machines boot to FOG properly. -
@AndrewG78 OK so now the only thing we need to work on is getting the EFI-32 systems to boot through to the hard drive?
of the other option is to not have the target computers booting through pxe to the hard drive. Once imaged, have them boot locally then there is no immediate need for the 32 bit refind option.
-
@george1421
Well, this is fully autonomous system, so it must boot through the pxe all the time.
Regarding EFI-32:
1 system is not booting from hardrive
2 fog is not loading when selected from the menu (e.g. host registration) -
@AndrewG78 Well in regards to #1, this is a current limitation in fog. I’m going to look tonight to see how hard it is to add another exit mode to fog. In the end this may be up to the developers to figure out if its not a quick fix for someone at my pay grade.
As for #2, what do you see when “not loading” happens? Is there a specific error message? We’ll need a bit more to go on than, “its not working”.
-
@george1421
Thx
#2
I actually described this specific case in this post
https://forums.fogproject.org/topic/12373/tablet-with-windows-10-and-usb-lan-smc-7500-adapter/7
This is the post with 4 screen shots. -
HI
Would this be enough to take refind_ia32.efi from rEFind binary package from http://www.rodsbooks.com/refind/getting.html
and copy to /var/www/html/fog/service/ipxe
and replace refind.efi
? -
@AndrewG78 I’ve been waiting on feedback from the developers on the proposed update to FOG.
What I would recommend you do/test if you are willing.
-
Take that refind_ia32.efi and save it to /var/www/html/fog/service/ipxe as refind32.efi (to keep naming consistent with bzImage).
-
Then if you are willing, edit /var/www/html/fog/lib/fog/bootmenu.class.php
-
Go to line 131 to should have some code that looks like this:
$refind = sprintf( 'imgfetch ${boot-url}/service/ipxe/refind.conf%s' . 'chain -ar ${boot-url}/service/ipxe/refind.efi', "\n" );
- Replace that code with
$refind = sprintf( 'cpuid --ext 29 && set rboot-kernel refind.efi || set rboot-kernel refind32.efi%s' . 'imgfetch ${boot-url}/service/ipxe/refind.conf%s' . 'chain -ar ${boot-url}/service/ipxe/${rboot-kernel}', "\n","\n" );
- Save and exit your editor.
- Now test and see if the efi exit mode is able to load the 32 bit efi version of refind on exit.
If you get an error, I would expect one like in the 3rd picture you posted about error 0x7f048283.
I would test this myself but I don’t have a 32 bit uefi system. Also make sure you backup that php file before you edit it, just incase 1) I’m wrong 2) Your edit is bad and something breaks.
-
-
@george1421
Thx. In the meantime I replaced original refind.efi with refind_ia32.efi but it did not help.
There is different error, but I can provide details on Monday the earliest. -
@george1421
So here is the story:- There must be something wrong with this php code as I got
So, I just changed original
'chain -ar ${boot-url}/service/ipxe/refind.efi',
to
'chain -ar ${boot-url}/service/ipxe/refind_ia32.efi',
and got this
I found scanfor option in refind.conf and disabled it.
After that I can boot to Windows from the FOG menu- “Boot from hard disk”!
So there is some progress.
But
when I choose Quick registration on white background FOG menu, there is another B&W menu displayed.
I must use up/down arrows to select something from the menu, however this is blind selection as current row is not highlighted.When I enter Registration(down arrow x2)
and that second FOG menu without highlighted row is loaded immediately(loop).
When I enter Run Memtest(down arrow x1)
And the system is rebooted.Why do I have 2 menus?
- There must be something wrong with this php code as I got
-
@AndrewG78 said in Tablet with WINDOWS 10 and USB-LAN SMC 7500 adapter:
I found scanfor option in refind.conf and disabled it.
After that I can boot to Windows from the FOG menu- “Boot from hard disk”!You have multiple issue here, so I’m not sure where to start. I have no idea on the boot.php error unless you had a type-o in the code.
The second screen, is a positive note with refind initializing. You have the 32 bit refind running. That is great. The scanfor line, should not be commented out, just remove the reference to bios scan and that error will away. That is the reference to the CSM.
The two screens, the back one is because of an ipxe error. What I’m confused about is why it is picking the init.xz file, since that is a 32 bit system. It should pick init_32.xz. The issue is that the init_XX.xz has to match the architecture of the boot kernel (bzImageXX). If they are mismatched or the boot kernel format does not match the hardware arch, then you will get that error.
You could manually register this host, and then go into the host registration and manually force bzImage32 for the host kernel and init_32.xz for the host initrd file. (this is just a test at the moment to see if it can boot).
-
@george1421
Thank you so much.
Looks like we got it.
When I set bzImage32 for the host kernel and init_32.xz and when I created a task to capture the disk, PartClone has been loaded and it’s taking the image right now.
What is still strange, there is no more any FOG menu list loaded from the PXE, but I can live with manual host registration.
Next step is to test deploy function. -
@AndrewG78 What I’m speculating is that iPXE is miss-identifying the target computer. We have seen this on some tablets where the processor is a 64 bit system, but its locked in 32 bit mode by the manufacturer.
While you have a workaround. I’m interested in the code patch I provided for refind… but if ipxe is miss-identifying the target system, it will still call the wrong refind.
I’m wondering if you could try something for me on your hardware. Reset things so you get the ipxe error with the “chainloading failed, hit ‘s’ for the ipxe shell”.
At this message press s to get the ipxe shell. Then key in
show platform
cpuid --ext 29
if the short method doesn’t return anything then you can use this onecpuid --ext 29 && echo x64 || echo x32
-
@george1421
Well this is really strange, ipxe thinks this is 64 bit architecture
-
@AndrewG78 excellent, we see that iPXE is thinking its a 64 bit system. That’s why things didn’t work out of the box.
I’m more curios now, what model tablet is this? What CPU does it report on the tin?
-
@george1421
Inari 10 2GB
-
@AndrewG78 Thank you for the feedback. The atom processor IS 64 bits.
What I’m wondering is what operating system is installed on these tablets (in regards to the architecture)? Is that Win10 32 bit or Win10 64 bit?
According to what you captured from your dnsmasq server
Aug 20 10:55:28 localhost dnsmasq-dhcp[9463]: 2705516733 vendor class: PXEClient:Arch:00006:UNDI:003001
The system is telling your dnsmasq server that its a [Arch:00006] == “EFI IA32” computer. So at least the firmware thinks its a 32 bit computer.