Dtb to dts windows

Provide feedback

Saved searches

Use saved searches to filter your results more quickly

Sign up

Appearance settings

Содержание

  1. Как перевести DBT в DTS в Windows
  2. Что такое DBF и DTS-файлы в Windows?
  3. Основы работы с DBF-файлами
  4. Формат DBF и его структура
  5. Программы для работы с DBF-файлами
  6. Что такое DTS-файлы и какие задачи они выполняют?
  7. Основные особенности DTS-файлов:
  8. Обзор формата DTS и его основные элементы
  9. Популярные средства для работы с DTS-файлами
  10. Как конвертировать DBF-файлы в DTS-формат?
  11. Способы конвертации с использованием сторонних программ

Как перевести DBT в DTS в Windows

DTB в DTS Windows: Подробное руководство для начинающих

Все мы хотим, чтобы наши устройства работали на высшем уровне производительности, и в этом нам помогает соответствующее преобразование данных. Одним из наиболее популярных методов преобразования является конвертация DTB в DTS (Device Tree Blob в Device Tree Source). В этой статье мы представим подробное руководство для начинающих о том, как выполнить этот процесс в операционной системе Windows.

Начнем с основ. DTB является бинарным форматом, представляющим информацию о структуре железа на устройстве. Он используется для инициализации устройств при загрузке ядра операционной системы. DTS, с другой стороны, является читаемым исходным кодом, который представляет устройство и его функции. Таким образом, конвертация DTB в DTS позволяет нам увидеть и изменять информацию о конкретном устройстве более удобным способом.

Теперь, когда мы понимаем, зачем нужна конвертация DTB в DTS, давайте рассмотрим процесс в Windows. Чтобы выполнить этот процесс, вам понадобятся следующие инструменты:

  • Установленный пакет программного обеспечения для разработки ядра Windows (WDK)
  • Установленный компилятор C, такой как GCC

Первым шагом будет загрузка и установка WDK на ваш компьютер. После установки вы сможете найти необходимые инструменты для работы с DTB и DTS внутри директории WDK. Затем вы должны настроить вашу среду разработки для работы с WDK и GCC.

Далее вам потребуется получить исходный код ядра Windows, чтобы иметь доступ к DTB и DTS файлам. Исходный код можно получить из официального репозитория Microsoft на GitHub. После загрузки исходного кода вы сможете найти DTB и DTS файлы в соответствующих директориях.

Теперь, когда все необходимые файлы и инструменты на месте, вы можете приступить к процессу конвертации. Сначала скомпилируйте DTB файл с помощью компилятора C, чтобы получить объектный файл. Затем используйте утилиту dtc из WDK для конвертации объектного файла DTB в файл DTS.

После выполнения этих шагов вы успешно конвертировали DTB в DTS в операционной системе Windows. Теперь вы можете использовать полученный DTS файл для чтения и редактирования информации о структуре устройства на вашем компьютере.

Что такое DBF и DTS-файлы в Windows?

Файлы DBF являются распространенным форматом для хранения данных в базах данных. Они используются для хранения структурированных данных в таблицах, отслеживания записей и взаимодействия с базами данных. Формат DBF был разработан в 1980-х годах и с тех пор стал широко используемым в индустрии. DBF-файлы могут содержать различные типы данных, включая числа, строки, даты и другие.

С другой стороны, DTS-файлы связаны с инструментом данных, известным как SQL Server Data Transformation Services (DTS). DTS используется для переноса, преобразования и загрузки данных между различными источниками данных, такими как базы данных, текстовые файлы и другие. DTS-файлы содержат настройки и инструкции для выполнения таких операций. Они позволяют пользователям создавать и настраивать задачи ETL (Extract, Transform, Load), которые эффективно обрабатывают и переносят данные из одного источника в другой.

В целом, DBF и DTS-файлы представляют собой важные компоненты для работы с данными в системе Windows. DBF-файлы обеспечивают удобное хранение и управление структурированными данными, в то время как DTS-файлы облегчают процессы обработки, преобразования и загрузки данных. Оба формата являются важными для разных аспектов работы с данными и оказывают значительное влияние на эффективность и продуктивность различных бизнес-процессов.

Основы работы с DBF-файлами

DBF-файлы представляют собой таблицы с полями и записями, которые могут содержать различные типы данных, такие как числа, строки, даты и логические значения. Они имеют простую структуру, что делает их легко понятными и манипулируемыми. В то же время они обладают достаточной гибкостью и функциональностью, чтобы эффективно обрабатывать большие объемы данных.

Существуют различные инструменты и языки программирования, которые позволяют работать с DBF-файлами. Например, можно использовать язык программирования Python с помощью библиотеки для работы с DBF-файлами. Это позволяет осуществлять чтение, запись и редактирование данных в DBF-файлах, а также выполнять различные операции, такие как фильтрация, сортировка и агрегация данных.

  • Чтение данных из DBF-файла: Для чтения данных из DBF-файла мы можем использовать методы доступа к полям и записям, которые предоставляются библиотекой. Например, можно получить данные из конкретного поля, указав его имя, или прочитать все записи в таблице.
  • Запись данных в DBF-файл: Для записи данных в DBF-файл мы можем использовать методы для создания новых записей или редактирования существующих. Например, можно добавить новую запись с данными или изменить значения полей в существующей записи.

Важно отметить, что при работе с DBF-файлами необходимо учитывать различные особенности этого формата данных. Например, имена полей могут быть ограничены определенным числом символов, а типы данных могут иметь ограничения на длину или формат. Поэтому при разработке приложений или анализе данных необходимо быть внимательным и использовать соответствующие методы для проверки и обработки данных.

Формат DBF и его структура

Структура DBF-файла состоит из записей и полей. Каждая запись представляет собой строку, а каждое поле — столбец таблицы. Каждое поле имеет свой тип данных, такой как текст, дата, числовое значение и другие. Каждая запись содержит значения для каждого поля.

Одной из особенностей формата DBF является его простота и независимость от конкретной программы или базы данных. DBF-файлы могут быть открыты и отредактированы в разных программах и языках программирования, таких как Microsoft Excel, LibreOffice, Python и других.

Структура DBF-файла представляет собой заголовок, в котором содержится информация о полях и их типах данных, а также сами записи таблицы. Заголовок файла содержит такие данные, как название таблицы, количество полей, длина каждого поля и другую дополнительную информацию.

Основное преимущество формата DBF заключается в его удобстве и простоте использования. Благодаря своей структуре, DBF-файлы могут быть использованы для хранения различных типов данных, что делает их универсальным решением для работы с табличной информацией.

Программы для работы с DBF-файлами

Для работы с DBF-файлами существует несколько программ, которые могут облегчить и ускорить процесс работы. Известными и широко используемыми вариантами являются программы, такие как DBF Viewer Plus, DBF Manager и DBF Editor. Они обладают мощными функциями для просмотра, редактирования и управления данными в DBF-файлах.

DBF Viewer Plus – это простая и удобная программа, которая позволяет просматривать и редактировать DBF-файлы. Она предлагает широкий набор инструментов для работы с данными, таких как фильтрация, сортировка и поиск. С ее помощью можно легко производить различные операции с таблицами и записями, а также экспортировать данные в другие форматы, такие как Excel, CSV и SQL.

DBF Manager – это еще одна популярная программа для работы с DBF-файлами. Она предлагает более расширенные возможности по сравнению с DBF Viewer Plus, такие как добавление и удаление полей, создание индексов и управление связями между таблицами. Кроме того, DBF Manager обладает мощной системой запросов, которая позволяет выполнять сложные операции по выборке и обновлению данных.

DBF Editor – это еще один полезный инструмент для работы с DBF-файлами. Он предлагает простой интерфейс и интуитивно понятные функции для просмотра и редактирования данных. DBF Editor также поддерживает функции импорта и экспорта, что позволяет легко обмениваться данными с другими приложениями.

Что такое DTS-файлы и какие задачи они выполняют?

Одной из основных задач DTS-файлов является обеспечение высококачественного и реалистичного звука в киноиндустрии. Формат DTS позволяет передавать звуковые данные с большей точностью и детализацией, чем стандартные форматы звука, такие как стерео или даже Dolby Digital. Это позволяет зрителям получить наилучший опыт просмотра фильмов и ощутить атмосферу и эмоции, передаваемые через звуковые эффекты.

Основные особенности DTS-файлов:

  • Многоканальное звучание: DTS-формат поддерживает передачу звуковых данных в формате 5.1, 6.1 или даже 7.1 каналов, что позволяет создавать объемный звуковой эффект и ощущение присутствия в происходящем на экране.
  • Высокое качество звука: Файлы DTS обеспечивают высокое качество звука с улучшенной детализацией, четкостью и чистотой. Это делает звук более реалистичным и позволяет зрителям полностью погрузиться в происходящее на экране.
  • Поддержка разных форматов и устройств: DTS-файлы могут быть использованы на различных устройствах, включая домашние кинотеатры, DVD-плееры и многие другие. Формат также совместим с различными операционными системами, включая Windows и MacOS.

В целом, DTS-файлы играют важную роль в создании качественного звука в киноиндустрии. Благодаря своим возможностям передачи многоканального звука и высокому качеству, они позволяют зрителям полностью ощутить атмосферу и эмоции фильмов, делая просмотр более реалистичным и захватывающим.

Обзор формата DTS и его основные элементы

Основными элементами формата DTS являются сжатие данных и многоканальный звук. Сжатие данных позволяет уменьшить размер файла, не ухудшая качество звука. С помощью алгоритмов сжатия DTS можно сохранить высокий уровень детализации и точности звучания, что особенно важно для звука с высоким динамическим диапазоном.

Многоканальный звук в формате DTS подразумевает использование нескольких аудиоканалов для передачи звуковой информации. Это позволяет создать окружающую звуковую атмосферу и воспроизвести звучание с разных направлений, повышая реалистичность звукового сопровождения. Формат DTS поддерживает до 6 каналов звука, включая фронтальные, задние и центральные каналы, а также канал сабвуфера для низких частот.

Популярные средства для работы с DTS-файлами

Одним из таких инструментов для работы с .dts-файлами является «DTS-HD Master Audio Suite». Это программное обеспечение разработано компанией DTS Inc. и предоставляет пользователю полный контроль над обработкой, кодированием и декодированием DTS-звука. «DTS-HD Master Audio Suite» позволяет конвертировать .dts-файлы в другие аудиоформаты, а также редактировать параметры звука, такие как громкость, панорамирование и пространственные эффекты.

Еще одним популярным инструментом является «Foobar2000». Это свободно-распространяемый аудиоплеер, который также поддерживает конвертацию и воспроизведение DTS-файлов. «Foobar2000» предлагает пользователю удобную систему управления и настройки звука, что делает его идеальным выбором для тех, кто хочет насладиться качественным звуком в .dts-формате.

Если вы ищете инструмент для конвертации DTS в другие аудиоформаты с использованием простого и интуитивно понятного интерфейса, стоит обратить внимание на «FormatFactory». Это многофункциональная программа, которая поддерживает множество форматов аудио и видео файлов, включая DTS. «FormatFactory» позволяет пользователям легко конвертировать DTS-файлы в форматы, такие как MP3, WAV, AAC и другие.

Независимо от ваших потребностей в работе с DTS-файлами, эти популярные средства обеспечат вам возможность производить конвертацию, редактирование и воспроизведение звука в формате, который поддерживает ваша аудио-система или устройство воспроизведения. Объединяя передовые технологии и удобство использования, эти инструменты позволяют вам насладиться превосходным качеством звука и полной свободой работы с DTS-файлами.

Как конвертировать DBF-файлы в DTS-формат?

Первый способ — использовать специальные программы и утилиты, созданные для конвертации DBF-файлов в DTS-формат. Некоторые из них предлагаются бесплатно, в то время как другие могут требовать оплаты за полнофункциональную версию. Такие программы обычно предлагают широкий спектр возможностей, включая настройку типов данных, кодировок, разделителей и др. Лучше всего выбрать программу, которая наиболее полно соответствует требованиям вашего проекта.

Второй способ включает конвертацию с использованием ETL-инструментов (Extract, Transform, Load), таких как Microsoft SQL Server Integration Services (SSIS). SSIS позволяет создавать пакеты, в которых можно определить источник данных (в данном случае DBF-файлы) и целевой формат (DTS), а также устанавливать различные преобразования и фильтры. Этот метод требует некоторых знаний и навыков в работе с SSIS, но предоставляет гибкость и контроль над процессом конвертации.

Независимо от используемого способа, перед конвертацией DBF-файлов в DTS-формат необходимо убедиться, что данные в исходных файлах находятся в правильном формате и соответствуют требованиям целевой системы. Это включает проверку схемы данных, корректность значений и соответствие структуры таблицы. Также, рекомендуется создать резервную копию исходных файлов перед конвертацией, чтобы избежать потери данных в случае ошибок или проблем.

Способы конвертации с использованием сторонних программ

Конвертация файлов может быть полезной в различных ситуациях, особенно когда требуется переводить данные из одного формата в другой. В случае с конвертацией файлов формата DTB в DTS можно использовать сторонние программы, которые облегчат этот процесс.

Одной из популярных программ для конвертации DTB в DTS является «DTB to DTS Converter». Эта программа предлагает простой и интуитивно понятный интерфейс, благодаря которому пользователь может легко осуществить конвертацию. Программа также поддерживает пакетную конвертацию файлов, что значительно упрощает процесс для пользователей, которым необходимо обработать большое количество файлов.

Еще одной полезной программой для конвертации DTB в DTS является «AudioConverter Studio». Она предлагает множество опций, позволяющих настроить процесс конвертации под свои индивидуальные потребности. Кроме того, программа обладает высоким качеством звука и быстрой скоростью конвертации.

Когда речь идет о конвертации DTB в DTS, сторонние программы предоставляют удобный и эффективный способ выполнить эту задачу. Они позволяют пользователям конвертировать файлы с минимальными усилиями и получать высокое качество в итоге. Выбор программы зависит от потребностей конкретного пользователя, поэтому рекомендуется ознакомиться с различными вариантами и выбрать оптимальный вариант для себя.

Порой при работе с образом ядра boot.img требуется изменить, содержащуюся в оном структуру Flattened Device Tree (FDT), или же необходимо просто изучение FDT структуры, когда нету исходников ядра. Попробую вкратце объяснить как из образа boot.img получить DTS-файлы и как полученные файлы упаковать обратно в boot.img.

Редактирование DTS-файлов рассматривать не буду, т.к. это другая история.

В образе boot.img кроме ядра и ramdisk’а содержится образ dtb.img , который представляет бинарную QCDT-структуру. В свою очередь QCDT-структура содержит в себе DTB-структуры (Device Tree Blob). Что бы из образа boot.img извлечь dtb.img нужно воспользоваться утилитой AndImgTool. Эта утилита для Windows платформы (существуют аналоги для Linux).

После получения файла dtb.img следует перейти на Linux платформу, т.к. оставшиеся две утилиты под Windows найти не удалось. В вашей Linux-подобной системе создайте директорию, в которую скопируйте файл dtb.img. В эту же директорию скопируйте утилиты dtc и dtbToolCM (скачать). Далее в консоли выполните следующий скрипт:

DTBIMG=dtb.img
DTBSIG="00 00 d0 0d fe ed"
DTBSIGOFF=2
rm -rf ./phone_dts
mkdir -p phone_dts
hexdump -v -e "1/1 \"%02x \"" $DTBIMG >./phone_dts/dtb_hex.txt
unset OFFSETS
unset SIZES
declare -a OFFSETS
declare -a SIZES
BCNT=0
for OFF in `grep -oba "$DTBSIG" ./phone_dts/dtb_hex.txt | awk -F':' '{print $1}'`; \
do \
  let "SIGOFF = OFF/3 + DTBSIGOFF"; \
  let "OFFSETS[BCNT] = SIGOFF"; \
  if [[ $BCNT > 0 ]]; then let "SIZES[BCNT-1] = SIGOFF - OFFSETS[BCNT-1]"; fi; \
  let "BCNT += 1"; \
done
rm ./phone_dts/dtb_hex.txt
ACNT=0
for OFF in "${OFFSETS[@]}"; \
do \
  DTNAME=$(printf "./phone_dts/dt_%02d" $ACNT); \
  if [[ $ACNT == $(($BCNT-1)) ]]; then \
    dd if=$DTBIMG of=$DTNAME.bin ibs=1 skip=$(($OFF)); \
  else \
    dd if=$DTBIMG of=$DTNAME.bin ibs=1 skip=$(($OFF)) count=$((${SIZES[$ACNT]})); \
  fi; \
  ./dtc -I dtb $DTNAME.bin -O dts -o $DTNAME.dts; \
  rm $DTNAME.bin; \
  let "ACNT += 1"; \
done

В результате появится новая директория «phone_dts», в которой будут находится все DTS-файлы, содержащиеся в dtb.img образе. Теперь эти файлы можно изучать и редактировать.

Замечу, что полученные DTS-файлы являются «очищенным» вариантом файлов, которые изначально находились в исходниках ядра по пути «/arch/arm/boot/dts».

Перед компилированием  DTS-файлов следует узнать версию QCDT-структуры (параметр QCDT_FORMAT). Для этого следует просто напросто посмотреть содержимого 4-ого байтика в оригинальм файле dtb.img.
Следующий скрипт формирует из всех DTS-файлов новую QCDT-стуктуру (dtb.img):

QCDT_FORMAT=1
PAGE_SIZE=2048
PHONE_DTS_FILES=./phone_dts/dt_*.dts
for DTSNAME in $PHONE_DTS_FILES; \
do \
  ./dtc -I dts $DTSNAME -O dtb -o $DTSNAME.dtb; \
done
if [[ $QCDT_FORMAT == 2 ]]; then FMT=-2; else unset FMT; fi;
./dtbToolCM $FMT -o new_dtb.img -s $PAGE_SIZE phone_dts/
rm -rf ./phone_dts/*.dtb

В результате появится файлик new_dtb.img , переименовав который в dtb.img можно собрать обновлённый образ boot.img (при помощи утилиты AndImgTool).

r0mpage.github.io

При распаковке прошивок устройств с помощью binwalk нередко можно встретить сигнатуру Flattened device tree. Мне стало любопытно что это такое, поскольку я не видел, чтобы в статьях или обзорах кто-то как-то касался этих данных. Возможно, они не представляют интереса для реверс инженера, но я не мог отделаться от стойкого ощущения неизведанного. В этой заметке мы посмотрим что же скрывается за этими тремя словами на примере одной из прошивок.

kalosof@ubuntu:~/rev/ui/UniFi_Dream_Machine$ binwalk --term 89cd-udmbase-1.5.6-7117e472b4994c3d9d8c64d053ca3e69.bin 

DECIMAL       HEXADECIMAL     DESCRIPTION
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
0             0x0             Ubiquiti firmware header, header size: 264 bytes, ~CRC32: 0x3B493E07, version: "UDM.alpinev2.v1.5.6.615c4d9.200327.1930"
637           0x27D           Flattened device tree, size: 4710814 bytes, version: 17
881           0x371           gzip compressed data, has original file name: "Image", from Unix, last modified: 2020-03-27 20:36:11
4505429       0x44BF55        Flattened device tree, size: 23666 bytes, version: 17
4529733       0x451E45        Flattened device tree, size: 25607 bytes, version: 17
4555973       0x4584C5        Flattened device tree, size: 23654 bytes, version: 17
4580265       0x45E3A9        Flattened device tree, size: 25248 bytes, version: 17
4606149       0x4648C5        Flattened device tree, size: 25242 bytes, version: 17
4632025       0x46ADD9        Flattened device tree, size: 23637 bytes, version: 17
4656301       0x470CAD        Flattened device tree, size: 25582 bytes, version: 17
4682521       0x477319        Flattened device tree, size: 24472 bytes, version: 17

Определение

Согласно спецификации devicetree — это структура данных, служащая описанием оборудования и используемая операционной системой динамически.

Структурно DT представляет собой дерево или граф с именованными узлами, которые могут иметь произвольное количество свойств.

DTB

В прошивке мы имеем дело с бинарным представлением структуры devicetreeDevice Tree Blob (DTB) с расширением .dtb.

Скопируем DTB в новый файл и убедимся, что данные не повреждены:

kalosof@ubuntu:~/rev/ui/UniFi_Dream_Machine$ dd if=89cd-udmbase-1.5.6-7117e472b4994c3d9d8c64d053ca3e69.bin skip=$((0x44BF55)) count=$((0x477319 - 0x44BF55)) bs=1 of=devtree.dtb

kalosof@ubuntu:~/rev/ui/UniFi_Dream_Machine/devtree$ file devtree.dtb
devtree.dtb: Device Tree Blob version 17, size=23666, boot CPU=0, string block size=1474, DT structure block size=22120

Заголовок DTB описывается структурой fdt_header и имеет вид:

struct fdt_header {
	uint32_t magic;
	uint32_t totalsize;
	uint32_t off_dt_struct;
	uint32_t off_dt_strings;
	uint32_t off_mem_rsvmap;
	uint32_t version;
	uint32_t last_comp_version;
	uint32_t boot_cpuid_phys;
	uint32_t size_dt_strings;
	uint32_t size_dt_struct;
};

Каждое поле структуры имеет размер 4 байта и порядок big-endian.

dtb1

Я не буду рассматривать каждое поле по отдельности, т.к. в этом нет острой необходимости. Безусловно, анализ бинарного формата может иметь интерес при поиске уязвимостей типа “целочисленное переполнение” в парсерах или ПО, обращающихся к полям структуры. Подробнее о DTB можно прочитать в спецификации. Что действительно интересно — это возможность декомпиляции этих данных в читаемый вид.

DTS

DTS (Device Tree Source) — это текстовое представление DTB, подобно коду на любом из компилируемых языков программирования понятного человеку. Для декомпиляции потребуется компилятор device-tree-decompiler:

kalosof@ubuntu:~/rev/ui/UniFi_Dream_Machine/devtree$ sudo snap install device-tree-decompiler
kalosof@ubuntu:~/rev/ui/UniFi_Dream_Machine/devtree$ dtc -I dts -O dtb -o devtree.dtb system.dts
kalosof@ubuntu:~/rev/ui/UniFi_Dream_Machine/devtree$ file system.dts
system.dts: Device Tree File (v1), ASCII text, with very long lines

dts1

Если более детально посмотреть на структуру файла, то мы можем найти много интересной информации, например:

  • Наличие отладочных интерфейсов — UART, JTAG.
     uart0 {
      compatible = "ns16550a";
      device_type = "serial";
      reg = <0x00 0xfd883000 0x00 0x1000>;
      clock-frequency = <0x00>;
      interrupts = <0x00 0x11 0x04>;
      reg-shift = <0x02>;
      reg-io-width = <0x04>;
    };
    ...
    
  • Разметку устройств флэш-памяти, что может быть полезно при снятии дампа микросхемы программатором и последующем статическом анализе кода (если отсутствует справочная информация, даташиты).
 nand-flash {
        compatible = "annapurna-labs,al-nand";
        reg = <0x00 0xfa100000 0x00 0x202000>;
        interrupts = <0x00 0x01 0x04>;
        clocks = <0x08>;
        clock-names = "sbclk";
        #address-cells = <0x01>;
        #size-cells = <0x01>;
        max-onfi-timing-mode = <0x01>;
        status = "disabled";
  
        partition@0 {
                label = "al_boot";
                reg = <0x00 0x200000>;
        };
  
        partition@1 {
                label = "device_tree";
                reg = <0x200000 0x100000>;
        };
  
        partition@2 {
                label = "linux_kernel";
                reg = <0x300000 0x1300000>;
        };
  
        partition@3 {
                label = "ubifs";
                reg = <0x1300000 0x1e600000>;
        };
};
spi {
            compatible = "snps,dw-spi-mmio\0snps,dw-apb-ssi";
            #address-cells = <0x01>;
            #size-cells = <0x00>;
            reg = <0x00 0xfd882000 0x00 0x1000>;
            interrupts = <0x00 0x17 0x04>;
            num-chipselect = <0x04>;
            bus-num = <0x00>;
            clocks = <0x08>;
            clock-names = "sbclk";
  
            spiflash@0 {
                    #address-cells = <0x01>;
                    #size-cells = <0x01>;
                    compatible = "spi_flash_jedec_detection";
                    spi-max-frequency = <0x23c3460>;
                    reg = <0x00>;
  
                    partition@0 {
                            reg = <0x00 0x1c0000>;
                            label = "u-boot";
                    };
  
                    partition@1 {
                            reg = <0x1c0000 0x10000>;
                            label = "u-boot-env";
                    };
                partition@2 {
                        reg = <0x1d0000 0x10000>;
                        label = "u-boot-env-2";
                };

                partition@3 {
                        reg = <0x1e0000 0x10000>;
                        label = "Factory";
                    };

                partition@4 {
                            reg = <0x1f0000 0x10000>;
                        label = "EEPROM";
                };
        };
};


  • Печать

Страницы: [1] 2 3 5   Вниз

Тема: Правка dtb  (Прочитано 74066 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Получить свой android dtb
поставить терминал в андройд и из него так же пытаться вытаскивать dtb

Распаковать скачанное firmware (или полученный dd img) одним из вариантов:
1. extract-dtb ;
2. 

wget https://gist.githubusercontent.com/jberkel/1087743/raw/5be96af0e1c1346678379b0c0f0330b71df51f25/split_bootimg.pl
chmod a+x ./split_bootimg.pl
./split_bootimg.pl ./recovery.img

3. https://aur.archlinux.org/packages/android-unpackbootimg/

RK3xxx Firmware Tools by SergioPoverony

4. armlogic

Распаковать dtb:

dtc -b 0 -O dts -I dtb -o rk3328-rock64.dts rk3328-rock64.dtb

Запаковать dtb:

dtc -b 0 -O dtb -I dts -o rk3328-rock64.dtb rk3328-rock64.dts

Сравнивать (Команда — Сравнить файлы) и редактировать удобно в mc
Подсветки синтаксиса (в аттаче)

еще полезно выполнить полное сравнение файла trn9 и evb (я пользуюсь наглядной утилитой meld, там сразу видно , в чём различие и можно на лету все править)

получить оригинальный dtb (например из прошивки) с рабочими параметрами
 если это бинарный dtb, то преобразовать утилитой «dtc» в исходник dts
 проанализировать отличия с существующими исходниками из образа, которые оказались наиболее близкими (рабочими) для данной модели или читать документацию к ядру (dts) и писать с нуля нужные секции , основываясь на доках
 пробовать собирать утилитой «dtc» исправленные версии и тестировать на железке

    Разобрал dtb

Я так понял вы разобрали тот dtb, что идёт в Armbian ? Эти исходники есть тут 
https://github.com/150balbes/rockchip-kernel/tree/le/arch/arm64/boot/dts/rockchip

нужно получить исходники от вашей модели и сравнивать их с исходниками рабочего dts в ядре (которое идёт в Armbian) и на основании этого создать свой гибридный вариант dtb для ядра Armbian (изменять секции,  и параметры, которые отвечают за SD карту) для теста.  Когда будет рабочий вариант, я смогу включить его в исходники, что-бы входил в образы и ядро при сборке.

как вытащить и работать с dtb

« Последнее редактирование: 23 Март 2020, 15:02:59 от sfs »

Записан


    делать dtb под этот бокс (как?)

получить оригинальный dtb (например из прошивки) с рабочими параметрами
 если это бинарный dtb, то преобразовать утилитой «dtc» в исходник dts
 проанализировать отличия с существующими исходниками из образа, которые оказались наиболее близкими (рабочими) для данной модели или читать документацию к ядру (dts) и писать с нуля нужные секции , основываясь на доках
 пробовать собирать утилитой «dtc» исправленные версии и тестировать на железке

Разобрал dtb

dtc -b 0 -O dts -I dtb -o rk3328-rock64.dts rk3328-rock64.dtb

Получил текстовый файл 2903 строки.

Пример запуска неработающего ethernet

Записан


 С ethernet решилось просто:
Секция ethernet@ff540000, устанавливаем status = «disabled»
Секция ethernet@ff550000 (phy-is-integrated), status = «okay»
 А вот wifi никак.

Записан

Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Debian 12, jwm + rox.
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) AntiX


Записан

Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Debian 12, jwm + rox.
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) AntiX


вытащить свой dtb из родной прошивки и его использовать как донора для данных.

Как это попроще сделать?
Из под андроида его не видно? не получится?
Может просто прошивку у производителя скачать и раздербанить…

Записан


Записан


Скачал прошивку андроид своей коробки с сайта производителя
Не знаю как оттуда вытащить dtb
kpartx -av видит один раздел, который не примонтировать — mount не понимает какая ФС
Допустим, я получу выкачаю именно свою прошивку. Такой дамп будет чем-то лучше в плане извлечения dtb ?
На буржуйских форумах никто не выкладывал dtb А5 ?

Записан


Скачал прошивку андроид своей коробки с сайта производителя
Не знаю как оттуда вытащить dtb
kpartx -av видит один раздел, который не примонтировать — mount не понимает какая ФС
Допустим, я получу выкачаю именно свою прошивку. Такой дамп будет чем-то лучше в плане извлечения dtb ?
На буржуйских форумах никто не выкладывал dtb А5 ?

Андроид .img для телефона когда-то, расковыривал из-под винды какой-то софтиной, вытаскавал system. Там ext*, но как-то по-своему. Обратно уже не слепить. Вроде еще 7z нужен был.
https://www.mediafire.com/file/vyhvxsbddjr59n6/ext.tar.gz/file
Две тулзы, уже не помню для чего какая, для кастомных прошивок. К слову, для бананы так и не нашел этот dtb, в линукс образах его нет. Андроид еще не ковырял. Все равно потом что с ним делать, точно не знаю.

« Последнее редактирование: 28 Январь 2019, 21:36:06 от Gerpes »

Записан


Не знаю как оттуда вытащить dtb

только после обработки специальной программой-распаковщиком

Допустим, я получу выкачаю именно свою прошивку. Такой дамп будет чем-то лучше в плане извлечения dtb ?

Если есть софт для распаковки — то файл проще разбирать.

К слову, для бананы так и не нашел этот dtb, в линукс образах его нет.

То, что не нашли — не значит, что его нет. Возможно он входит в состав ядра, после обработки утилитой mkimage из ядра и dtb получают , как бы один файл, понятный u-boot как ядро и dtb. По такому принципу ранее лепили Openelec.

Записан


после обработки специальной программой-распаковщиком

Так не томи — дай рецепты 

Записан


« Последнее редактирование: 30 Январь 2019, 18:25:26 от sfs »

Записан


https://unix.stackexchange.com/questions/64628/how-to-extract-boot-img
Что-то вроде распаковывает…

9		mxq_rk3328_d4_8.1_IT6334_a5xmax+_20181012_r1.img-base
1 mxq_rk3328_d4_8.1_IT6334_a5xmax+_20181012_r1.img-cmdline
10 mxq_rk3328_d4_8.1_IT6334_a5xmax+_20181012_r1.img-pagesize
487263498 mxq_rk3328_d4_8.1_IT6334_a5xmax+_20181012_r1.img-ramdisk.gz
329728 mxq_rk3328_d4_8.1_IT6334_a5xmax+_20181012_r1.img-zImage

# gzip -d mxq_rk3328_d4_8.1_IT6334_a5xmax+_20181012_r1.img-ramdisk.gz
gzip: mxq_rk3328_d4_8.1_IT6334_a5xmax+_20181012_r1.img-ramdisk.gz: not in gzip format

simg2img /mnt/ssh/pra/190101/android_bootimg_tools.gz/1/mxq_rk3328_d4_8.1_IT6334_a5xmax+_20181012_r1.img-ramdisk.gz q.rqw
Invalid sparse file format at header magi
Failed to read sparse file

« Последнее редактирование: 30 Январь 2019, 18:58:20 от sfs »

Записан


Так не томи — дай рецепты

дык я уже давал ссылки на софт. Сам я пока это не проверял для RK.

Записан


уже давал ссылки на софт.

Какой-то подход виндузятный. Нужно понимание, как это работает.

Записан

Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Debian 12, jwm + rox.
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) AntiX


Утилита создаёт полную (точную) бинарную копию всей eMMC.

dd

Записан

Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Debian 12, jwm + rox.
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) AntiX


  • Печать

Страницы: [1] 2 3 5   Вверх

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Как убрать microsoft edge в windows 10 из автозапуска
  • Как отключить режим пера windows 10 комбинация клавиш
  • Лучшие бесплатные видеоредакторы для windows 10
  • Не получается откатить систему windows 10
  • Фискальный регистратор кассира эмулятор с выводом на windows принтер