|
|
|
@ -0,0 +1,45 @@
|
|
|
|
|
|
|
|
# FDT Reader
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Утилита для извлечения данных из FIT-образов (Flattened Image Tree), используемых в U-Boot.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## Сборка
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
|
|
make
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Требуется `libfdt` (часть пакета `device-tree-compiler` или `dtc`).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## Использование
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
|
|
./fdt_reader <fit_file> <attribute_name> <node1> [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-образа
|