From cf66e91ee448f52c9614e7e7f61eff0e4235dcc6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A1=D0=B5=D1=80=D0=B3=D0=B5=D0=B9=20=D0=9C=D0=B0=D1=80?= =?UTF-8?q?=D0=B8=D0=BD=D0=BA=D0=B5=D0=B2=D0=B8=D1=87?= Date: Thu, 22 Jan 2026 10:59:58 +0700 Subject: [PATCH] add readme --- README.md | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..f29ee3c --- /dev/null +++ b/README.md @@ -0,0 +1,45 @@ +# FDT Reader + +Утилита для извлечения данных из FIT-образов (Flattened Image Tree), используемых в U-Boot. + +## Сборка + +```bash +make +``` + +Требуется `libfdt` (часть пакета `device-tree-compiler` или `dtc`). + +## Использование + +```bash +./fdt_reader [node2] ... +``` + +### Параметры + +- `fit_file` — путь к FIT-образу (`.itb`) или файлу с legacy U-Boot заголовком +- `attribute_name` — имя свойства для извлечения (например, `data`) +- `node1`, `node2`, ... — имена нод в FIT-дереве + +### Примеры + +Извлечь ядро и DTB из FIT-образа: + +```bash +./fdt_reader firmware.itb data kernel@1 fdt@1 +``` + +Извлечь ramdisk: + +```bash +./fdt_reader image.itb data ramdisk@1 +``` + +Выходные файлы создаются в текущей директории. Символ `@` в именах заменяется на `_`. + +## Особенности + +- Поддержка legacy U-Boot формата (multi-file images) +- Порционное чтение файла (окно 2 КБ) — не требует загрузки всего образа в память +- Автоматическое определение смещения FIT внутри composite-образа