Uploaded image for project: 'RHEL'
  1. RHEL
  2. RHEL-4398

efibootmgr creates a bad snippet for PXE boot

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Normal Normal
    • None
    • rhel-9.2.0
    • efivar
    • None
    • Moderate
    • sst_desktop_firmware_bootloaders
    • ssg_display
    • 3
    • False
    • Hide

      None

      Show
      None
    • None
    • None
    • None
    • None
    • If docs needed, set a value
    • None

      Description of problem:

      We have customers wanting to create Network boot entry. In theory using "efibootmgr -c -i <itf> -L PXE" should work, but it appears that nowhere in the snippet the MAC address is written, which causes the entry to not be bootable at all.
      This is seen at least on QEMU and VMWare so we can rule out any firmware issue.

      Example of snippet created by the firmware itself:
      -------- 8< ---------------- 8< ---------------- 8< ---------------- 8< --------

      1. hexdump -C /sys/firmware/efi/efivars/Boot0004-8be4df61-93ca-11d2-aa0d-00e098032b8c
        00000000 07 00 00 00 01 00 00 00 5c 00 55 00 45 00 46 00 |........\.U.E.F.|
        00000010 49 00 20 00 50 00 58 00 45 00 76 00 34 00 20 00 |I. .P.X.E.v.4. .|
        00000020 28 00 4d 00 41 00 43 00 3a 00 35 00 32 00 35 00 |(.M.A.C.:.5.2.5.|
        00000030 34 00 30 00 30 00 45 00 39 00 35 00 33 00 36 00 |4.0.0.E.9.5.3.6.|
        00000040 34 00 29 00 00 00 02 01 0c 00 d0 41 03 0a 00 00 |4.)........A....|
        00000050 00 00 01 01 06 00 00 02 01 01 06 00 00 00 03 0b |................|
        00000060 25 00 52 54 00 e9 53 64 00 00 00 00 00 00 00 00 |%.RT..Sd........|
        00000070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
        00000080 00 00 01 03 0c 1b 00 00 00 00 00 00 00 00 00 00 |................|
        00000090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 7f ff |................|
        000000a0 04 00 4e ac 08 81 11 9f 59 4d 85 0e e2 1a 52 2c |..N.....YM....R,|
        000000b0 59 b2 |Y.|
        000000b2
                    • 8< ---------------- 8< ---------------- 8< ---------------- 8< --------

      Here above we can see the MAC address at offset 62-67.

      Example of snippet created by efibootmgr -i <itf>:
      -------- 8< ---------------- 8< ---------------- 8< ---------------- 8< --------

      1. hexdump -C /sys/firmware/efi/efivars/Boot0008-8be4df61-93ca-11d2-aa0d-00e098032b8c
        00000000 07 00 00 00 01 00 00 00 44 00 50 00 58 00 45 00 |........D.P.X.E.|
        00000010 00 00 03 0b 25 00 52 54 00 e9 53 64 00 00 00 00 |....%.RT..Sd....|
        00000020 00 00 00 00 65 66 69 76 61 72 73 2f 42 6f 6f 74 |....efivars/Boot|
        00000030 30 30 30 36 2d 38 01 03 0c 1b 00 00 00 00 00 00 |0006-8..........|
        00000040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
        00000050 00 00 7f ff 04 00 |......|
        00000056
                    • 8< ---------------- 8< ---------------- 8< ---------------- 8< --------

      Here above none of the information related to the MAC address is there (MAC address being 52:54:00:e9:53:64).

      Version-Release number of selected component (if applicable):

      efivar-libs-38-3.el9.x86_64

      How reproducible:

      Always

      Steps to Reproduce:
      1. Create a snippet using "efibootmgr -c -i <itf> -L PXE" command
      2. Try booting

      Actual results:

      Doesn't boot

      Expected results:

      Boots.

            bootloader-eng-team bootloader -eng-team
            rhn-support-rmetrich Renaud Métrich
            bootloader -eng-team bootloader -eng-team
            Release Test Team Release Test Team
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated: