Tablet with WINDOWS 10 and USB-LAN SMC 7500 adapter
-
@andrewg78 OK a couple of things here.
- I see that your tablet is a 32 bit efi system.
- Why are you using dnsmasq in this case? (there are reasons to use dnsmasq, I’m just making sure you have the proper use case).
Can you post the contents of your dnsmasq config file?
-
@george1421
I use dnsmasq since a year or so, without any issues on regular Windows machines in the network with DHCP server.
My configport=0 # Log lots of extra information about DHCP transactions. log-dhcp # Set the root directory for files available via FTP. tftp-root=/tftpboot # The boot filename, Server name, Server Ip Address dhcp-boot=undionly.kpxe,,172.18.147.206 dhcp-boot=net:UEFI32,i386-efi/ipxe.efi,,172.18.147.206 dhcp-boot=net:UEFI64,ipxe.efi,,172.18.147.206 dhcp-boot=net:UEFI,ipxe.efi,,172.18.147.206 # Disable re-use of the DHCP servername and filename fields as extra # option space. That's to avoid confusing some old or broken DHCP clients. dhcp-no-override dhcp-vendorclass=BIOS,PXEClient:Arch:00000 dhcp-vendorclass=UEFI32,PXEClient:Arch:00006 dhcp-vendorclass=UEFI,PXEClient:Arch:00007 dhcp-vendorclass=UEFI64,PXEClient:Arch:00009 # PXE menu. The first part is the text displayed to the user. The second is t$ pxe-prompt="Booting FOG Client", 1 # The known types are x86PC, PC98, IA64_EFI, Alpha, Arc_x86, # Intel_Lean_Client, IA32_EFI, BC_EFI, Xscale_EFI and X86-64_EFI # This option is first and will be the default if there is no input from the us$ #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 dhcp-range=172.18.147.206,proxy
-
@AndrewG78 said in Tablet with WINDOWS 10 and USB-LAN SMC 7500 adapter:
Lets tweak your config file a bit. I’m not sure if order is important but lets change it up this way. Plus we’ll enable the pxeservice function (since we see it stopping just past “Booting FOG Client (1)”port=0 # Log lots of extra information about DHCP transactions. log-dhcp # Set the root directory for files available via FTP. tftp-root=/tftpboot # Disable re-use of the DHCP servername and filename fields as extra # option space. That's to avoid confusing some old or broken DHCP clients. dhcp-no-override dhcp-vendorclass=BIOS,PXEClient:Arch:00000 dhcp-vendorclass=UEFI32,PXEClient:Arch:00006 dhcp-vendorclass=UEFI,PXEClient:Arch:00007 dhcp-vendorclass=UEFI64,PXEClient:Arch:00009 # The boot filename, Server name, Server Ip Address dhcp-boot=undionly.kpxe,,172.18.147.206 dhcp-boot=net:UEFI32,i386-efi/ipxe.efi,,172.18.147.206 dhcp-boot=net:UEFI64,ipxe.efi,,172.18.147.206 dhcp-boot=net:UEFI,ipxe.efi,,172.18.147.206 # PXE menu. The first part is the text displayed to the user. The second is t$ pxe-prompt="Booting FOG Client", 1 # The known types are x86PC, PC98, IA64_EFI, Alpha, Arc_x86, # Intel_Lean_Client, IA32_EFI, BC_EFI, Xscale_EFI and X86-64_EFI # This option is first and will be the default if there is no input from the us$ 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 dhcp-range=172.18.147.206,proxy
-
@george1421
Thx. There is something new. We have progress and regress at the same time.
Looks like adding pxe-service did the job.
I got FOG menu.
When I select host registration I got:
And after (3) seconds
When I select bot from disk
And the regression
I’m unable to load FOG from PXE on my old regular BIOS machines.
They were working fine before I enabled these pxe-service lines -
@AndrewG78 Just to be clear, you only change the dnsmasq configuration and you get this error?
It almost looks like for the exit mode for bios systems, you have REFIND configured and not SANBOOT. But again without know what was changed, its only a weak guess.
-
@george1421
Editing /etc/dnsmasq.d/ltsp.conf was my only change. -
@AndrewG78 OK so lets be clear here then.
The fix to dnsmasq only allowed this system to boot, by delivering the proper boot file to the target computer.
This issue is different. The dnsmasq configuration sent the right ipxe boot kernel to the target computer. After ipxe boots, then dnsmasq is not used.
So now you need to look at the fog configuration for the default exit modes for both bios and uefi system. According to the picture it appears to be sending refind.conf and refind.efi to the target computer, but the target computer could not boot them. If the target computer is bios mode, I can understand why it can’t boot. If the target computer is EFI-32 then… I might suspect that refind.efi is a 64 bit kernel…
-
@AndrewG78 OK I just checked and it appears that FOG does not distinguish between 64 bit and 32 bit systems in regards to which boot kernel it sends for refind. I checked with refind and there are two different boot kernels for refind, that may explain why we have that boot error.
@Developers for FOG 1.5.5 would it be possible to add a new exit mode like rEFInd-32 for those that have 32 bit uefi systems, plus include refind_ia32.efi into the fog/service/ipxe directory?
-
@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.