aboutsummaryrefslogtreecommitdiffstats
path: root/Lessons_uncategorized/Lesson_FDF_FV
diff options
context:
space:
mode:
authorKonstantin Aladyshev <aladyshev22@gmail.com>2022-07-15 20:36:04 +0300
committerKonstantin Aladyshev <aladyshev22@gmail.com>2022-07-15 20:36:04 +0300
commitdef2fe05b1e91084a30f280d778f73d4dc127da7 (patch)
tree1cdb21ddc694da28cdde53394947622e65b2773f /Lessons_uncategorized/Lesson_FDF_FV
parenta2094fafc0d7e2be97c95e5be9b4171b8758458f (diff)
downloadUEFI-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.pngbin0 -> 15919 bytes
-rw-r--r--Lessons_uncategorized/Lesson_FDF_FV/README.md4
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
new file mode 100644
index 0000000..5bd2466
--- /dev/null
+++ b/Lessons_uncategorized/Lesson_FDF_FV/FV.png
Binary files differ
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.