USB Booting a usb network adapter
i having a system using usb adapter UE300.
It require additional steps to load the Realtek UEFI UNDI Driver at EFI shell before the execution of ipxe.efi.
Driver : https://www.realtek.com/en/component/zoo/category/network-interface-controllers-10-100-1000m-gigabit-ethernet-usb-3-0-software
Could you advise any automated way i can load the drivers before ipxe.efi?
I have no idea what that boot loader does. Its a component of iPXE.
So tell me about your dhcp server. What is the manufacturer and model.
The idea is that if we can uniquely identify that usb drive, maybe we can send the proper boot file name. If you are using a windows dhcp server and setup efi policies, that is getting us in the direction. That policy looks to see if the arch value is 0 (bios) or 7 or 9 then its uefi. If we can combine the uefi test with the manufacturer id of the mac address then we could send that alternate boot file name when the target computer is uefi and the mac manufacturer matches. Its easier to do with a linux dhcp server or using dnsmasq as a proxydhcp server.
I just tried with ncm–ecm–axge.efi it working fine without any error for usb adapter.
Do you know what is the different between ncm–ecm–axge.efi vs snp.efi vs ipxe.efi? Is it possible to compile efi file support all types of drivers?
1 Prepare USB Drive
2 Copy snp.efi file from fog tftp folder place into usb drive
3 Download the Realtek UEFI UNDI Driver
3 create a script with name startup.nsh with content below
4 Attached the USB drive to the system
5 Change the boot sequence to boot internal UEFI shell first
6 when boot into UEFI shell by default it will automatically execute startup.nsh script
7 after script executed it able to go to iPXE then FOG Menu
I do have another alternative using startup.nsh
Please explain what you need to do to get iPXE to work
boot FOS Linux directly from the usb drive. >> can you share any guide on this method?
This would be classed as the bit harder way. With this method we will not use iPXE but Grub to boot the FOS Linux engine.
If you decide to go this route I can give you a few tips so don’t start before we discuss.
@wt_101 Lets move this discussion to another thread. I’m going to fork this thread into a new topic because you have a bit more going on than uefi booting the easy way.
@george1421 i have recompile the efi file according to the guide but still not working. When i execute the efi (ipxe,realtek,snp) file i will receive “DHCP failed, hit ‘s’ for the iPXE shell…”
I’m suspecting that you are using the usb boot method >> Yes
unsupported (from your pc vendor’s perspective) nic adapter >> Ya the BIOS do not have the USB NIC drivers cause me trouble. I do have another alternative using startup.nsh file to load the NIC driver & execute snp.efi file. However im looking for is it possible to include the driver into the efi file.
boot FOS Linux directly from the usb drive. >> can you share any guide on this method? & what are the flexibility i will lose for this method?
@wt_101 I’m not sure I follow your question.
ipxe.efi is a self contained kernel. It has all known drivers onboard. Its much like the linux kernel. If you have not rebuilt the latest ipxe boot loaders you might want to try that to see if ipxe can detect the nic. https://forums.fogproject.org/topic/15826/updating-compiling-the-latest-version-of-ipxe You will recompile ipxe, install into the fog tftp directory and then grab the files needed and move to the usb drive.
If ipxe.efi doesn’t work then you can try snp.efi which is akin to undionly.kpxe is to bios. It uses the driver built into the nic. I’m not sure if it will see the usb nic since I’m suspecting that you are using the usb boot method since you are using an unsupported (from your pc vendor’s perspective) nic adapter.
If iPXE doesn’t work for you even after recompiling iPXE you can try to boot FOS Linux directly from the usb drive. You lose some flexibility this way but imaging will work.