diff options
author | Konstantin Aladyshev <aladyshev22@gmail.com> | 2022-07-15 20:36:04 +0300 |
---|---|---|
committer | Konstantin Aladyshev <aladyshev22@gmail.com> | 2022-07-15 20:36:04 +0300 |
commit | def2fe05b1e91084a30f280d778f73d4dc127da7 (patch) | |
tree | 1cdb21ddc694da28cdde53394947622e65b2773f /Lessons_uncategorized/Lesson_FDF_FV | |
parent | a2094fafc0d7e2be97c95e5be9b4171b8758458f (diff) | |
download | UEFI-Lessons-def2fe05b1e91084a30f280d778f73d4dc127da7.tar.gz UEFI-Lessons-def2fe05b1e91084a30f280d778f73d4dc127da7.tar.bz2 UEFI-Lessons-def2fe05b1e91084a30f280d778f73d4dc127da7.zip |
Add FV parsing picture
Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
Diffstat (limited to 'Lessons_uncategorized/Lesson_FDF_FV')
-rw-r--r-- | Lessons_uncategorized/Lesson_FDF_FV/FV.png | bin | 0 -> 15919 bytes | |||
-rw-r--r-- | Lessons_uncategorized/Lesson_FDF_FV/README.md | 4 |
2 files changed, 4 insertions, 0 deletions
diff --git a/Lessons_uncategorized/Lesson_FDF_FV/FV.png b/Lessons_uncategorized/Lesson_FDF_FV/FV.png Binary files differnew file mode 100644 index 0000000..5bd2466 --- /dev/null +++ b/Lessons_uncategorized/Lesson_FDF_FV/FV.png diff --git a/Lessons_uncategorized/Lesson_FDF_FV/README.md b/Lessons_uncategorized/Lesson_FDF_FV/README.md index 48ad44f..d2469c7 100644 --- a/Lessons_uncategorized/Lesson_FDF_FV/README.md +++ b/Lessons_uncategorized/Lesson_FDF_FV/README.md @@ -340,6 +340,10 @@ $ hexdump /home/aladyshev/tiano/2021/edk2/Build/UefiLessonsPkg/RELEASE_GCC5/FV/S * 00000500 ``` + +In this picture I've tried to provide visual parsing of data: +![FV](FV.png?raw=true) + Here you can see how our files follow each other in the FFS. Each of the files has its own `EFI_FFS_FILE_HEADER` with its unique Name (=GUID). The important thing to note that the filesystem is flat, files just follow one another. Therefore to find some file by GUID, we need to traverse FFS from the start. Also here you can see that the padding byte 0xff was inserted between the files. It was inserted because according to the specification each file must start at 8 byte boundary. |