Re: [edk2] Help:Nested Volume module extraction

Subject: Re: [edk2] Help:Nested Volume module extraction

From: Andrew Fish <>


Date: 2013-04-25 20:33:55

Andrew Fish

On Apr 23, 2013, at 5:43 AM, Vishnuvardhan Reddy <> wrote:

Hello Experts,
I would like to know that is there any difference between efi module compression and efi volume compression??

I am working with nested firmware volume and one of the firmware volume is having another firmware volume compressed and I would like to know whether same module decompression logic works in extracting the uncompressed fv??

Yes the only difference is for a module the section type is PE32, but for an FV the section type is FV_IMAGE. 

There are two types of sections in and FV File, they are encapsulating and leaf sections. 

The FV is a leaf section and the DXE Core will dispatch drivers out of an FV file. This code is in If you look at CoreFwVolEventProtocolNotify() the code that checks if the Type == EFI_FV_FILETYPE_FIRMWARE_VOLUME_IMAGE processes the FV as a file.

An encapsulation section has a GUID and a Section Extraction protocol will match that GUID to perform the extraction. When you use the FV protocol you just ask for a section and the encapsulation sections are processed to make a tree, but you just see a set of leaf sections from the FV protocol point of view.

So here is an example of an FDF file that has a compressed FV.
FILE FV_IMAGE = 9E21FD93-9C72-4c15-8C4B-E77F1DB2D792 {
9E21FD93-9C72-4c15-8C4B-E77F1DB2D792 is the FV file name. EE4E5898-3914-4259-9D6E-DC7BD79403CF is the GUID for the compression scheme, and MAINFV is an FV that is a leaf section in an FV file. 


Andrew Fish

Appreciated your help.
Thanks & regards,

The contents of this e-mail and any attachment(s) may contain confidential or privileged information for the intended recipient(s). Unintended recipients are prohibited from taking action on the basis of information in this e-mail and using or disseminating the information, and must notify the sender and delete it from their system. L&T Infotech will not accept responsibility or liability for the accuracy or completeness of, or the presence of any virus or disabling code in this e-mail"
 This email and attachments have been scanned for
 potential proprietary or sensitive information leakage.
 Websense Data Security, Protecting Your Information from the Inside Out.
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service 
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt!
edk2-devel mailing list