linuxboot / linuxboot/fiano

When displaying a file, use knownguids to display its "name" in parens if there is no USER_INTERFACE

Open
#277 3 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement good first issue
Dominant language
Go
Stars
373
Forks
59
PR merge metrics
No merged PRs in 30d

Description

Sometimes companies leave out the EFI_SECTION_USER_INTERFACE section for files in the FV, so all we can see is the GUID (Hi Intel!). Equally bad, programs like UefiTool now transparently substitute names for known file GUIDs, so when you look at a ROM image with UEFITool and with utk they look very different, and you're not sure why.

It would be nice in table format if the print were changed as follows:

Before:

   File     F9D88642-0737-49BC-81B5-6889CD57D9EA      EFI_FV_FILETYPE_DRIVER                   0x3bba

After:

   File     F9D88642-0737-49BC-81B5-6889CD57D9EA      EFI_FV_FILETYPE_DRIVER                   0x3bba (name)

i.e. put the name in parens for each line. Further, it would be good to know if the name from from the EFI_SECTION_USER_INTERFACE or known GUIDS, maybe something like

File F9D88642-0737-49BC-81B5-6889CD57D9EA EFI_FV_FILETYPE_DRIVER 0x3bba (UI=Shell)

File F9D88642-0737-49BC-81B5-6889CD57D9EA EFI_FV_FILETYPE_DRIVER 0x3bba (KG=shell)

This would also make grepping for names easier:
utk wc_tiny_kernel.bin table|grep DRIVER

would show most of what we want: GUID, and name.

Finally, let's pretend that some IBV creates a file where the EFI_SECTION_USER_INTERFACE and known guid name differ -- it would be very nice to print something out too:

File F9D88642-0737-49BC-81B5-6889CD57D9EA EFI_FV_FILETYPE_DRIVER 0x3bba (UI=SomeStupidName,KG=Shell)

so we'd know things were a bit weird.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the utk table display path, especially the output for files in a firmware volume, and trace how EFI_SECTION_USER_INTERFACE and known GUID names are available there. Done means table output shows the GUID with a parenthesized UI name, known-GUID name, or both when they differ, while preserving the existing information.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
cli
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.