UEFI BOOTING



  • I am trying to PXE boot to UEFI Machines. My fog system works great with legacy bios settings. i am using version 1.2.0 and wondering do i use snponly.efi for my boot file? i have a policy in dhcp scope.

    thanks

    Eric



  • @george1421

    I actually got the legacy and efi to boot to fog without using the script. I put undionly.kpxe in the scope policy and ipxe in the scope options…it seems to work…i just wanted to see if it would make a difference. It Works!

    Eric


  • Moderator

    @pyrate31 The nbp too big means (guess) you are sending an ipxe.efi (uefi) file to a bios client computer.

    From that same file you linked.

               Type   Architecture Name
               ----   -----------------
                 0    Intel x86PC
                 1    NEC/PC98
                 2    EFI Itanium
                 3    DEC Alpha
                 4    Arc x86
                 5    Intel Lean Client
                 6    EFI IA32
                 7    EFI BC (EFI Byte Code)
                 8    EFI Xscale
                 9    EFI x86-64
    

    arch 0 is bios which needs undionly.kpxe
    arch 7 & 9 need ipxe.efi
    arch 2 & 6 (not common) needs /i386/ipxe.efi

    So if you want to dynamically switch boot files depending on the pxe client you will need to add this section to your dhcp scope.

         class "UEFI-32-1" {
        match if substring(option vendor-class-identifier, 0, 20) = "PXEClient:Arch:00006";
        filename "i386-efi/ipxe.efi";
        }
    
        class "UEFI-32-2" {
        match if substring(option vendor-class-identifier, 0, 20) = "PXEClient:Arch:00002";
         filename "i386-efi/ipxe.efi";
        }
    
        class "UEFI-64-1" {
        match if substring(option vendor-class-identifier, 0, 20) = "PXEClient:Arch:00007";
         filename "ipxe.efi";
        }
    
        class "UEFI-64-2" {
        match if substring(option vendor-class-identifier, 0, 20) = "PXEClient:Arch:00008";
        filename "ipxe.efi";
        }
    
        class "UEFI-64-3" {
        match if substring(option vendor-class-identifier, 0, 20) = "PXEClient:Arch:00009";
         filename "ipxe.efi";
        }
    
        class "Legacy" {
        match if substring(option vendor-class-identifier, 0, 20) = "PXEClient:Arch:00000";
        filename "undionly.kkpxe";
        }
    
    


  • @george1421

    ok i finally got it to give me an ip address, now it is giving me nbp is to big, so do i have to set up the vendor class and dhcp policy 66 and 67 pointing to ipxe.efi? from this article?

    https://wiki.fogproject.org/wiki/index.php?title=BIOS_and_UEFI_Co-Existence

    if so, which binary would be best used…its an intel networking card … arch:00000?


  • Moderator

    @pyrate31 Well with your new fog server in place you have must update dhcp option 66 {next-server} to the IP address of your new fog server. And for dhcp option 67 {boot-file} you need to set that to undionly.kpxe (note without the preceding slash) for bios based computers and ipxe.efi for uefi based computers.

    When you are saying the computers are not recoginizing the fog boot file, what is the exact error message (if you can’t explain it a clear screen shot taken with a mobile phone speaks volumes to the issue). Does it mention something about NBF <something? If so that is a uefi system and you are telling it to load a bios boot loader.



  • @george1421

    got the new server up and running, my old bios machines are booting to it no problem, is there a different boot file i need to put in my dhcp server other than /undionly.kpxe

    my new machines are still not recognizing the fog bootfile.



  • i got the new server up and running, my old bios machines are booting to it no problem, is there a different boot file i need to put in my dhcp server other than /undionly.kpxe


  • Moderator

    @pyrate31 said in UEFI BOOTING:

    thank you i think im gong to create a new server…ive been meaning to build one on my virtual environment

    I truly feel that is the best approach to get on a newer host OS for fog as well as get the latest build of FOG. By building new, you have time to setup your new environment without loosing your existing one because of a possible failed upgrade.

    Use the git clone method for installing fog 1.5.5 (because 1.5.6 is in the works). The git clone method makes upgrading a bit easier than the tarball approach.



  • thank you i think im gong to create a new server…ive been meaning to build one on my virtual environment

    E


  • Moderator

    Your best approach would be to spin up a new FOG server v1.3 or newer (actually 1.5.5 is the latest), then migrate your images to the new server. If you want to keep using FOG 1.2.0 you won’t have nvme disk, native win10, or fully functional uefi support built into FOG. Also if you are running FOG 1.2.0 your FOS kernels are going to be older so you might not have access to current hardware and network drivers.

    But to answer your question, ipxe.efi is the default to use for uefi mode. If ipxe.efi with its built in drivers don’t work then try snponly.efi is equivalent to undionly.kpxe in bios mode.


Log in to reply
 

339
Online

5.8k
Users

13.0k
Topics

123.1k
Posts