USB Booting + USB ethernet

  • Hi,

    I’ve read a lot of threads about USB booting into the fog menu but I’m a bit lost, sorry if this sound like “RTFM”

    Currently I have one machine with USB ethernet which can boot Legacy and EFI USB key.

    What I do currently :

    • Boot an USB linux distro
    • Create the partition
    • Mount the NFS images directory
    • Partclone restore the partition img
    • update the swaplabel with the original UUID
    • grub-install using the new root partition.

    As you see I’m doing pretty much the same what Fog is doing.

    What are my option here ?

    • If I boot Gpxe and pxe style iso from USB , It does not see the USB ethernet adaptater

    • COuld I boot a full OS that would chainload the Fog menu and then carry on as usual ?

    • Or even better , could I boot the Fog menu completly from USB ?


  • Senior Developer

    @mm-Ekimia May I point you to a topic in the iPXE forum where one of the main developers was saying that “USB support is starting to arrive in mainline iPXE” only about a good year ago. They have made progress I am sure! We have seen more and more people successfully booting their devices with USB NICs on iPXE.

    The biggest problem from my point of view is if you want to PXE boot from the USB NIC! Using an USB NIC with linux (as you do right now) is fairly easy because linux takes control and provides full access through own drivers. Completely different if you want to PXE boot from the USB NIC. Then your client machine - its BIOS/UEFI firmware - must be able and willing to talk to the USB NIC for PXE booting. Sounds like you don’t aim for that but just wanted to point that out!

    Back to your initial question… booting iPXE via USB key - which is easier than USB NIC PXE booting but still harder than booting linux to use the USB NIC. As George already said it’s a matter of finding a USB NIC adapter that is supported by iPXE. I started a list of supported USB NICs some time ago. Unfortunately I lost track of it all as it was very hard to follow without having my own devices for testing. Maybe this is a good point to start again. Searching the forums we should be able to find a lot of information as lots of people have tried USB NICs lately, known working e.g. ASIX AX88772C

    But that’s still not the whole story I’m afraid! iPXE provides native drivers (should work both for UEFI and legacy BIOS) as well as UNDI (for BIOS) and SNP (for UEFI):

    • undionly.pxe, kpxe, kkpxe, usb, iso - BIOS no native drivers
    • ipxe.pxe, … - BIOS with native drivers and UNDI interface
    • snponly.efi, usb, iso - UEFI no native drivers
    • ipxe.efi, … - UEFI with native drivers and SNP interface
    • smsc95xx/intel/realtek.XXX - “single” native driver

    So you might need to play with the different iPXE binaries to see which one is working for you. Please let us know which USB NIC exactly you have - make and model!!

    Edit: I just updated the mentioned wiki article. Hope this is useful for a lot of people. Please keep us up to date with USB NIC adapters you try.

  • Moderator

    It depends on the usb ethernet adapter. BIOS booting is usually working. The problem we’ve found is with UEFI booting on usb network adapter. For this you need to find a supported usb adapter.

  • said:

    using the rom-o-matic to create the ipxe image, where the fog project compiles a custom version of iPXE with each fog rele

    Thanks, But do you think those kernels would handle de USB ethernet dongle ? From what I have tested , it seems it does not ?

  • Moderator

    I did create 2 KBs on this.
    This one is for uefi booting into the fog menu

    And this one is using a slightly different method to boot a bios machine:

    In either case I’m using the rom-o-matic to create the ipxe image, where the fog project compiles a custom version of iPXE with each fog release.

    Yes you can boot completely off usb into the fog menu. Either way what you are using is iPXE kernel to boot onto the network and connect to the FOG server. The iPXE kernel is (very loosely) equivalent to a linux kernel that will get you onto the network. And you can boot iPXE from a cdrom or usb key.