Pi firmware volume
pi_firmware_volume ¶
Module containing helper classes and functions for working with UEFI Fvs.
EfiFirmwareVolumeHeader ¶
An object representing an EFI_FIRMWARE_VOLUME_HEADER.
Can parse or produce an EFI_FIRMWARE_VOLUME_HEADER structure/byte buffer.
typedef struct {
UINT8 ZeroVector[16];
EFI_GUID FileSystemGuid;
UINT64 FvLength;
UINT32 Signature;
EFI_FVB_ATTRIBUTES_2 Attributes;
UINT16 HeaderLength;
UINT16 Checksum;
UINT16 ExtHeaderOffset;
UINT8 Reserved[1];
UINT8 Revision;
EFI_FV_BLOCK_MAP_ENTRY BlockMap[1];
} EFI_FIRMWARE_VOLUME_HEADER;
load_from_file ¶
load_from_file(file: IO) -> EfiFirmwareVolumeHeader
Loads data into the object from a filestream.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
file |
obj
|
An open file that has been seeked to the correct location. |
required |
Returns:
Type | Description |
---|---|
EfiFirmwareVolumeHeader
|
self |
Raises:
Type | Description |
---|---|
Exception
|
Invalid signature in fs |
serialize ¶
serialize() -> bytes
Serializes the object.
Returns:
Type | Description |
---|---|
str
|
string representing packed data as bytes (i.e. b'\x01\x00\x03') |
EfiFirmwareVolumeExtHeader ¶
An object representing an EFI_FIRMWARE_VOLUME_EXT_HEADER.
Can parse or produce an EFI_FIRMWARE_VOLUME_EXT_HEADER structure/byte buffer.
typedef struct {
EFI_GUID FileSystemGuid;
UINT32 ExtHeaderSize;
} EFI_FIRMWARE_VOLUME_EXT_HEADER;
load_from_file ¶
load_from_file(file: IO) -> EfiFirmwareVolumeExtHeader
Loads data into the object from a filestream.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
file |
IO
|
An open file that has been seeked to the correct location. |
required |
Returns:
Type | Description |
---|---|
EfiFirmwareVolumeExtHeader
|
self |