Форум проекта PuppyRus Linux

Обсуждения операционных систем => Процессоры ARM архитектуры => Ядро Linux ARM, .dtb, uboot, initrd => Тема начата: sfs от 29 Ноябрь 2018, 14:01:29

Название: Правка dtb
Отправлено: sfs от 29 Ноябрь 2018, 14:01:29
Получить свой android dtb (http://forum.puppyrus.org/index.php?topic=21237.msg153944#msg153944)
поставить терминал в андройд и из него так же пытаться вытаскивать dtb (http://forum.puppyrus.org/index.php?topic=21237.msg168303#msg168303)

Распаковать скачанное firmware (или полученный dd img) одним из вариантов:
1. extract-dtb (http://forum.puppyrus.org/index.php?topic=21237.msg153802#msg153802) ;
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 (http://forum.puppyrus.org/index.php?topic=21237.msg165708#msg165708)

Распаковать 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
Подсветки синтаксиса (http://wiki.puppyrus.org/soft/fm/mc?&#%D0%BF%D0%BE%D0%B4%D1%81%D0%B2%D0%B5%D1%82%D0%BA%D0%B0_%D1%81%D0%B8%D0%BD%D1%82%D0%B0%D0%BA%D1%81%D0%B8%D1%81%D0%B0_mcedit) (в аттаче)
еще полезно выполнить полное сравнение файла 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
Название: Правка dtb
Отправлено: sfs от 11 Декабрь 2018, 14:35:30
    делать dtb под этот бокс (как?)

получить оригинальный dtb (например из прошивки) с рабочими параметрами
 если это бинарный dtb, то преобразовать утилитой "dtc" в исходник dts
 проанализировать отличия с существующими исходниками из образа, которые оказались наиболее близкими (рабочими) для данной модели или читать документацию к ядру (dts) и писать с нуля нужные секции , основываясь на доках
 пробовать собирать утилитой "dtc" исправленные версии и тестировать на железке
Разобрал dtb
Код
dtc -b 0 -O dts -I dtb -o rk3328-rock64.dts rk3328-rock64.dtb
Получил текстовый файл 2903 строки.

Пример запуска неработающего ethernet (http://forum.puppyrus.org/index.php?topic=21245.msg151147#msg151147)
Название: Re: Правка dtb
Отправлено: DdShurick от 11 Декабрь 2018, 16:43:19
 С ethernet решилось просто:
Секция ethernet@ff540000, устанавливаем status = "disabled"
Секция ethernet@ff550000 (phy-is-integrated), status = "okay"
 А вот wifi никак.
Название: dtb <--> dts
Отправлено: DdShurick от 31 Декабрь 2018, 11:58:47
http://avr-start.ru/?p=5212
http://qaru.site/questions/689620/how-to-program-linux-dts-device-tree-files
Название: Re: Правка dtb
Отправлено: sfs от 15 Январь 2019, 12:33:44
вытащить свой dtb из родной прошивки и его использовать как донора для данных.
Как это попроще сделать?
Из под андроида его не видно? не получится?
Может просто прошивку у производителя скачать и раздербанить...
Название: Re: Правка dtb
Отправлено: balbes150 от 15 Январь 2019, 16:50:20
Как это попроще сделать?
Это зависит от платформы. Для Amlogic - есть инструмент
https://forum.freaktab.com/forum/tv-player-support/amlogic-based-tv-players/opensource-amlogic-tools-rebuild-revamped-customization-tool/725956-11-09-2018-amlogic-tools-v5-5-0-funeral-day

конкретно этим я не пользовался, но принцип я так понял у них похожий. Распаковать прошивку для своего устройства и в каталоге temp должны быть все файлы. Потом из своего dtb преобразовать в DTS утилитой DTC.

Для Rockchip я пока практически не пользовался ни чем, но по инфе , есть несколько инструментов для схожей работы. Вроде есть даже утилита, которая всё вытаскивает сразу из самого устройства через кабель USB (как при прошивке).

http://4pda.ru/forum/index.php?showforum=551

http://4pda.ru/forum/index.php?showtopic=614530
Название: Re: Правка dtb
Отправлено: sfs от 28 Январь 2019, 10:20:57
Скачал прошивку андроид своей коробки с сайта производителя
Не знаю как оттуда вытащить dtb
kpartx -av видит один раздел, который не примонтировать - mount не понимает какая ФС
Допустим, я получу выкачаю именно свою прошивку. Такой дамп будет чем-то лучше в плане извлечения dtb ?
На буржуйских форумах никто не выкладывал dtb А5 ?
Название: Re: Правка dtb
Отправлено: Gerpes от 28 Январь 2019, 20:27:42
Скачал прошивку андроид своей коробки с сайта производителя
Не знаю как оттуда вытащить dtb
kpartx -av видит один раздел, который не примонтировать - mount не понимает какая ФС
Допустим, я получу выкачаю именно свою прошивку. Такой дамп будет чем-то лучше в плане извлечения dtb ?
На буржуйских форумах никто не выкладывал dtb А5 ?
Андроид .img для телефона когда-то, расковыривал из-под винды какой-то софтиной, вытаскавал system. Там ext*, но как-то по-своему. Обратно уже не слепить. Вроде еще 7z нужен был.
https://www.mediafire.com/file/vyhvxsbddjr59n6/ext.tar.gz/file (https://www.mediafire.com/file/vyhvxsbddjr59n6/ext.tar.gz/file)
Две тулзы, уже не помню для чего какая, для кастомных прошивок. К слову, для бананы так и не нашел этот dtb, в линукс образах его нет. Андроид еще не ковырял. Все равно потом что с ним делать, точно не знаю.
Название: Re: Правка dtb
Отправлено: balbes150 от 28 Январь 2019, 21:55:37
Не знаю как оттуда вытащить dtb
только после обработки специальной программой-распаковщиком

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

К слову, для бананы так и не нашел этот dtb, в линукс образах его нет.
То, что не нашли - не значит, что его нет. Возможно он входит в состав ядра, после обработки утилитой mkimage из ядра и dtb получают , как бы один файл, понятный u-boot как ядро и dtb. По такому принципу ранее лепили Openelec.
Название: Re: Правка dtb
Отправлено: sfs от 29 Январь 2019, 09:38:49
после обработки специальной программой-распаковщиком
Так не томи - дай рецепты  ;)
Название: Re: Правка dtb
Отправлено: sfs от 30 Январь 2019, 18:23:33
Код
root@2a:1# ext2simg /dev/mmcblk2boot0 b0a
error: Unknown code ext2 19 while reading /dev/mmcblk2boot0

root@2a:1# ext2simg /dev/mmcblk2boot1 b0a
error: Unknown code ext2 19 while reading /dev/mmcblk2boot1

root@2a:1#
root@2a:1# ext2simg /dev/mmcblk2rpmb  b0a
error: Unknown code ext2 36 while reading /dev/mmcblk2rpmb

root@2a:1#
root@2a:1# ext2simg /dev/mmcblk2  b0a
error: Unknown code ext2 19 while reading /dev/mmcblk2


только после обработки специальной программой-распаковщиком
https://stackoverflow.com/questions/8663891/how-to-mount-the-android-img-file-under-linux
https://forum.xda-developers.com/showthread.php?t=1588461
http://4pda.ru/forum/lofiversion/index.php?t660562-120.html
Код
# file mxq_rk3328_d4_8.1_IT6334_a5xmax+_20181012_r1.img 
mxq_rk3328_d4_8.1_IT6334_a5xmax+_20181012_r1.img: data
simg2img /mnt/mmcblk0p2/-2a-work/img/mxq_rk3328_d4_8.1_IT6334_a5xmax+_20181012_r1.img  sys.raw
Invalid sparse file format at header magi
Failed to read sparse file
Что я сделал не так?
img отсюда (https://chinagadgetsreviews.com/download-android-nougat-8-0-firmware-for-a5x-max-tv-box.html)
Название: Re: Правка dtb
Отправлено: sfs от 30 Январь 2019, 18:44:58
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
:'(
Название: Re: Правка dtb
Отправлено: balbes150 от 30 Январь 2019, 21:54:41
Так не томи - дай рецепты
дык я уже давал ссылки на софт. Сам я пока это не проверял для RK.
Название: Re: Правка dtb
Отправлено: DdShurick от 31 Январь 2019, 08:57:09
уже давал ссылки на софт.
Какой-то подход виндузятный. Нужно понимание, как это работает.
Название: Re: KI Plus S905D 1GB 8GB
Отправлено: DdShurick от 31 Январь 2019, 09:00:06
Утилита создаёт полную (точную) бинарную копию всей eMMC.
dd ;)
Название: Re: Правка dtb
Отправлено: balbes150 от 31 Январь 2019, 20:44:13
Нужно понимание, как это работает.
Оно конечно хорошо понимать и знать всё, но вам времени на это хватит, что-бы разобраться в каждом нюансе по каждому направлению ?
Я предпочитаю специализацию, когда работаешь со своим участок, и используешь опыт других (инструкции, софт и наработки), кто этот участок изучили и дают рекомендации.
Название: Re: Re: KI Plus S905D 1GB 8GB
Отправлено: balbes150 от 31 Январь 2019, 21:23:38
dd
Да, утилита ее использует. При желании можно сделать всё в ручную.
Название: Re: Re: KI Plus S905D 1GB 8GB
Отправлено: DdShurick от 01 Февраль 2019, 09:30:43
При желании можно сделать всё в ручную.
Но надо точно знать как
Название: Re: Правка dtb
Отправлено: DdShurick от 01 Февраль 2019, 09:32:09
Оно конечно хорошо понимать и знать всё
А как же иначе?
Название: Re: Правка dtb
Отправлено: sfs от 01 Февраль 2019, 10:04:11
используешь опыт других (инструкции, софт и наработки), кто этот участок изучили и дают рекомендации.
Ну так именно поэтому и нужны твои рекомендации. Разобрался - поделись. Не разобрался - напиши "не знаю". Будем вместе искать
Я получил промежуточный не совсем плохой результат по RK, но по aufs ofs dtb emmc тупики и идеи закончились
Ты что-то отвечаешь, но вокруг да около
Дядя Шурик тоже затихарился. Один я отчеты пишу и все больше не понятно зачем и для кого

Давайте доведем один дистр до юзабельности и вики
Вики могу взять на себя
Наверное проще всего armbian bionik - поддерживается буржуйским сообществом, есть спец-пакет для РК
Balbes и так его собмрает и обновляет. Давайте организуем тестирование и доработку
Когда результаты будут получены - свои дистры запилим на этом опыте
Название: Re: Правка dtb
Отправлено: DdShurick от 01 Февраль 2019, 10:09:16
Дядя Шурик тоже затихарился.
Значит результатов нет. Тыкаюсь как слепой котёнок.
Название: Re: Правка dtb
Отправлено: sfs от 01 Февраль 2019, 10:19:36
Ну так давайте поставим один дистр. Обозначим проблемы и будем решать по одной общими усилиями
Balbes - какой дистр ставим?
Название: Re: Re: KI Plus S905D 1GB 8GB
Отправлено: sfs от 01 Февраль 2019, 10:29:10
Но надо точно знать как
иначе нас и так мало, а будет уменьшение с кирпичами
Отказываться от андроиде считаю нецелесообразным
Но хотелось бы получить его dtb и доступ к emmc - может там и свой линукс втулить
Название: Re: Re: KI Plus S905D 1GB 8GB
Отправлено: DdShurick от 01 Февраль 2019, 10:52:45
будет уменьшение с кирпичами
Поэтому "в бой идут одни старики"
получить его dtb
Тогда его ядро придётся использовать. Надо научиться свой писать, но ума не хватает.
доступ к emmc
У меня есть, а толку? dd и hexdump читают. Ядро видит mmcblk1 (29,1Gb), mmcblk1rpmb (128Kb), mmcblk1boot0 и mmcblk1boot1 (оба по 2Mb), но примонтировать их невозможно, нет таблицы разделов. Вот такая подлянка от Google.
Название: Re: Re: KI Plus S905D 1GB 8GB
Отправлено: sfs от 01 Февраль 2019, 11:24:40
Тогда его ядро придётся использовать
Вроде это не возможно. Тут только линуксовый dtb поправить по мотивам андроидовского
У меня есть, а толку? dd и hexdump читают
Такой доступ и у меня есть. Только т.к. не примонтировать - не вытащить dtb и не заюзать для хранения инфы
Залить туда линукс пока не хочется даже если не окирпичится

Если я правильно понял balbes - у него  emmc примонтирован. Как - не говорит

Вроде Вы вытащили андроид dtb - как?
Название: Re: Re: KI Plus S905D 1GB 8GB
Отправлено: DdShurick от 01 Февраль 2019, 11:49:46
Как - не говорит
Да уж, молчит как партизан.
Вроде Вы вытащили андроид dtb
Нет, да и не даст это скорее всего ничего. Все мои попытки править dtb приводят к увеличению ругани в dmesg.
Название: Re: Правка dtb
Отправлено: balbes150 от 01 Февраль 2019, 22:48:47
Разобрался - поделись. Не разобрался - напиши "не знаю". Будем вместе искать
Дык на конкретные вопросы и делюсь, а на общие (у которых много вариантов решения) - чем делиться, не понятно.

emmc тупики
Какой тупик ? У тебя eMMC видна, можешь пробовать ставить в нее систему, я просто не понимаю, что еще нужно ?

Давайте организуем тестирование и доработку
Я не против. Пишите, что работает или нет, буду смотреть.
Кстати, весьма рекомендую регулярно смотреть официальный форум, там много полезной инфы от разных пользователей (не важно для какого дистра, это сильно помогает в общем понимании всего направления)

Ну так давайте поставим один дистр. Обозначим проблемы и будем решать по одной общими усилиями
Balbes - какой дистр ставим?
Я рекомендую Ubuntu , там многое уже допилено и на RK есть почти всё, нужно только систематизировать и возможно доделать мелочи. Кстати, в этой версии многое делают и другие пользователи , инфа есть на форуме Armbian.
Название: Re: Re: KI Plus S905D 1GB 8GB
Отправлено: balbes150 от 01 Февраль 2019, 23:26:00
но примонтировать их невозможно, нет таблицы разделов. Вот такая подлянка от Google.
Зачем вам их монтировать ? Если нужен доступ к инфе в них - можно использовать утилиту "adb" (вроде так называется), это типа даёт возможность подключиться к запущенному андройд и выполнять разные вещи (копировать менять и прочее). Про эту софтину много инфы в интеренете (сразу говорю -  я ей не пользовался на ТВ боксах, давно пользовал для планшета, но ни чего уже не помню)

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

Если я правильно понял balbes - у него  emmc примонтирован. Как - не говорит
Не правильно ты понял, я не монтирую eMMC с андройд, я ставлю в eMMC свою систему без сохранения андройда. Хотя, когда запускаю Armbian - на рабочем столе появляется куча ярлычков от тех разделов, андройд, которые имеют вменяемую файловую систему и их можно монтировать и получать из них инфу. Ты пробовал запускать полный Armbian с XFCE ? Может и твою часть можно видеть и получить доступ.

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

Все мои попытки править dtb приводят к увеличению ругани в dmesg.
Править нужно по определённым правилам. И как править, не имея исходника ?
Название: Re: Re: KI Plus S905D 1GB 8GB
Отправлено: DdShurick от 02 Февраль 2019, 09:49:35
Править нужно по определённым правилам.
Огласите эти правила.
И как править, не имея исходника ?
Что считается исходником?
Название: Re: Re: KI Plus S905D 1GB 8GB
Отправлено: balbes150 от 02 Февраль 2019, 13:41:38
Огласите эти правила.
Либо смотреть доки в ядре с описанием параметров для DTS (но там часто инфа отстаёт), либо смотреть по аналогии в других DTS.

Что считается исходником?
Для ТВ боксов - это исходный файл из прошивки андройд, который собирает производитель , который точно знает все параметры его железки.
Название: Re: Правка dtb
Отправлено: balbes150 от 03 Февраль 2019, 11:29:03
Вы спрашивали инструкции, как вытащить и работать с dtb.
С этого сообщения и далее, есть полезная инфа.

https://forum.armbian.com/topic/8082-armbian-for-tv-box-rk3328/?do=findComment&comment=71625
Название: Re: Правка dtb
Отправлено: sfs от 03 Февраль 2019, 12:27:25
как вытащить и работать с dtb.
Надо будет попробовать распаковку образа от производителя
rk2918_tools-2019.02-1-aarch64.pkg.tar.xz скомпилил. Могу выложить

Цитата
Have Android running on the box, developper mode active.
In the settings I had a strangely named checkbox like "Internet debugging", switched on
Have Android studio installed
Для моих знаний андр. этого недостаточно
Кто-нибудь делал  подобное?
Название: Re: Правка dtb
Отправлено: krasnyh от 03 Февраль 2019, 13:00:11
Для моих знаний андр. этого недостаточно
Сложность то в чем? На смартфоне режим разработчика приходилось разблокировать?
Для работы с андроидом через командную строку (adb) необходимо установить Android studio или android-sdk.
https://aur.archlinux.org/packages/?O=0&SeB=nd&K=adb&outdated=&SB=n&SO=a&PP=50&do_Search=Go
Название: Re: Правка dtb
Отправлено: balbes150 от 03 Февраль 2019, 13:01:36
Могу выложить
Обязательно выкладывай и с пояснением для чего и как использовать (как понял ты сам).

Для моих знаний андр. этого недостаточно
Кто-нибудь делал  подобное?
Я пока не пробовал, но как понял, нужно на запущенном андройд на ТВ боксе включить режим отладки (режим разработчика), на разных прошивках это может называться по разному. Установить (запустить) на ПК андройд студио (или что-то подобное) и из него уже делать остальные шаги.
Название: Re: Правка dtb
Отправлено: sfs от 03 Февраль 2019, 13:42:08
Распаковка firmware
1. Ищем свой тв-бокс здесь (https://chinagadgetsreviews.com). Свою версию смотрим в свойствах андроид
2. unrar x /home/live/Downloads/A5X\ MAX\ 4GB+32GB_20180827.rar
3. https://roc-rk3328-cc.readthedocs.io/en/latest/fw_pack_unpack.html
https://github.com/PabloCastellano/extract-dtb
https://archlinuxarm.org/packages/aarch64/dtc
Код
img_unpack a5x-max-rk3328_20180827.img img && cd img &&
afptool -unpack update.img update && cd update/Image &&
extract-dtb.py boot.img && cd dtb &&
dtc -b 0 -O dts -I dtb -o you.dts 01_dtbdump_rockchip,rk3328-evb.dtb

Название: Re: Правка dtb
Отправлено: krasnyh от 03 Февраль 2019, 13:51:19
Не приходилось
От простого к сложному. Как это сделать на смартфоне - https://androidlime.ru/developer-mode-android
Название: Re: Правка dtb
Отправлено: sfs от 03 Февраль 2019, 21:57:45
https://github.com/150balbes/PKGBUILDs/blob/amlogic/test/abootimg/PKGBUILD
Название: Re: Правка dtb
Отправлено: sfs от 04 Февраль 2019, 09:23:12
На смартфоне режим разработчика приходилось разблокировать
получилось без проблем на A5 3328
Название: Re: Правка dtb
Отправлено: balbes150 от 08 Февраль 2019, 13:22:53
Наконец нашёл время и вытащил родной dtb из MX10.

Запустил Armbian, скопировал через dd раздел boot в файл
Скачал распаковщик
https://github.com/PabloCastellano/extract-dtb
используя его, вытащил dtb из образа в отдельный файл
Преобразовал полученный бинарник (dtb) утилитой DTC в dts формат.
После этого началось самое интересное - попытка получить из этого исходника рабочий dtb для системы.  :D
После нескольких правок - есть рабочий dtb (теперь он входит в состав последних образов Armbian).

С этим dtb у меня скорость памяти возросла до 629 и появились зачатки WiFi на чипе sv6051
Название: Re: Правка dtb
Отправлено: DdShurick от 08 Февраль 2019, 17:03:09
"распаковал спец утилитой"
Копировал в файл, а распаковал образ. Какой? Если полученный файл boot, то
Код
bash-4.4# extract-dtb.py boot
No appended dtbs found
bash-4.4# file boot
boot0: data
Название: Re: Правка dtb
Отправлено: balbes150 от 08 Февраль 2019, 17:53:50
И как ты этот файл примонтировал, чтобы увидеть образ?
В смысле ? Зачем его монтировать ? Я показывал скрин gparted из запущенного Armbian с SD на MX10, там отлично видно схему секций на eMMC, запускаю "dd if=/dev/mmcblokpXpX of=boot.img bs=1M" и получаю на выходе образ этой секции из eMMC в виде файла boot.img.

Что-то опять темнишь.
Что там темнить, клонировал гит, положил рядом со скриптом файл образа и распаковал его на две части.
(там в ридми подробно всё описано как им пользоваться, с какими опциями нужно его запускать) , на выходе он мне дал файлы ядро отдельно и dtb отдельно.
Дела распаковку на виртуалке в Ubuntu , в которой собираю образы для Armbian .
Там же и преобразовал в DTS.

Название: Re: Правка dtb
Отправлено: DdShurick от 08 Февраль 2019, 19:24:33
Что это за файл и как он получен ?
Код
dd if=/dev/mmcblk1boot0 of=boot
Название: Re: Правка dtb
Отправлено: balbes150 от 08 Февраль 2019, 19:39:12
/dev/mmcblk1boot0
Понятно. Это не ядро, это служебная область для u-boot.
Покажите скрин, что покажет gparted запущенный из последней версии Armbian.

Сейчас специально проверил, для получения DTS из ТВ бокса (если там штатная прошивка Android), всё можно сделать из запущенного с SD карты Armbian.
Открыл gparted что-бы наглядно видеть имена устройств и их название для Android (что-бы сразу видеть , что брать).
Из консоли, утилитой dd слил нужный раздел в файл образа (подробности есть выше)
Брать нужно либо раздел boot либо recovery - там обычно есть ядро и dtb.
У меня есть еще разделы с именем dtb, но сейчас это пустышки.
Далее скачать скрипт-распаковщик (я беру весь архив с GIT)
Копирую в каталог с распаковщиком полученный образ boot.img и запускаю скрипт (с именем образа в качестве опции)
после отработки появился подкаталог dtb , в котором два файла - ядро и dtb.
Далее преобразовать в DTS утилитой DTC (она есть в образе Armbian)
Название: Re: Правка dtb
Отправлено: DdShurick от 08 Февраль 2019, 20:00:26
что покажет gparted запущенный из последней версии Armbian.
Показывает неотформатированный диск 29,12 Gb. Чуть более информативен вывод fdisk -l
Код
Disk /dev/mmcblk1: 29.1 GiB, 31268536320 bytes, 61071360 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk /dev/mmcblk1boot1: 2 MiB, 2097152 bytes, 4096 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk /dev/mmcblk1boot0: 2 MiB, 2097152 bytes, 4096 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Название: Re: Правка dtb
Отправлено: DdShurick от 08 Февраль 2019, 20:20:17
А андройд запускался на этом боксе ?
Да
Какую версию он показывает ?
Последнюю
Название: Re: Правка dtb
Отправлено: sfs от 09 Февраль 2019, 11:38:24
После нескольких правок - есть рабочий dtb (теперь он входит в состав последних образов Armbian).
Armbian_5.74_Rk3328-tv_Ubuntu_bionic_default_4.4.154_20190208.img.xz ?
dd if=/dev/mmcblokpXpX of=boot.img bs=1M
Код
lsblk
mmcblk2      179:32   0  29,1G  0 disk
mmcblk2boot0 179:64   0     4M  1 disk
mmcblk2boot1 179:96   0     4M  1 disk
mmcblk2rpmb  179:128  0     4M  0 disk
Оба *boot дают нули (если смотреть в хекс)
Код
# dd if=/dev/mmcblk2rpmb of=boot.img bs=1M
dd: ошибка чтения '/dev/mmcblk2rpmb': Ошибка ввода/вывода
Получается надо дампить весь mmcblk2 - надо много места
По другому никак?

Попробовал тормознуть дамп после гига - скрипт распаковал ядро и вылетел с ошибкой

Андроид у Дяди Шурика (http://forum.puppyrus.org/index.php?topic=21227.0) 8.1 как и у меня
Название: Re: Правка dtb
Отправлено: DdShurick от 09 Февраль 2019, 12:17:05
Получается надо дампить весь mmcblk2 - надо много места
Попробовал так
Код
# extract-dtb.py -n /dev/mmcblk1 
через пару минут плучил
Код
killed
Андроид у Дяди Шурика 8.1 как и у меня
Android version 8.1.0 kernel 4.4.120
Название: Re: Правка dtb
Отправлено: balbes150 от 09 Февраль 2019, 13:00:35
Надо попробовать

dd if=/dev/boot of=boot.img

Если будет ошибка, значит остаётся
- подключаться через adb из там вытаскивать dtb из рабочего андройд
- попробовать поставить терминал в андройд и из него так же пытаться вытаскивать dtb
- пробовать распаковать файл прошивки и его разбирать на компоненты

сразу предупреждаю, последние три варианта сам не пробовал, но народ пишет, что так вытаскивали dtb на разных моделях.
Название: Re: Правка dtb
Отправлено: sfs от 09 Февраль 2019, 13:38:15
/dev/boot - нет такого. Последний раз видел такое на s905 c 3x ядром
Получается надо доставать и дербарить свой андроидовский dtb
А dd if=/dev/mmcblk2 of=boot.img бесполезно пробовать?
Название: Re: Правка dtb
Отправлено: sfs от 10 Февраль 2019, 17:46:50
Сравнивать (Команда - Сравнить файлы) и редактировать удобно в mc
Подсветки синтаксиса (в аттаче)
Распаковка firmware
Добавил в шапку темы
Название: Re: Правка dtb
Отправлено: kolja от 14 Апрель 2019, 16:56:40
Приветствую, уважаемые.
В шапке ссылка — «Распаковать скачанное firmware» пустая.
Можно взять оригинальную прошивку устройства и разобрать на составляющие. И так получить dtb файл.
Вот ­— RK3xxx Firmware Tools by SergioPoverony (https://4pda.ru/forum/index.php?showtopic=359410&st=640#entry21484197)  для Rockchip отличная программа. Внутри программы ясная инструкция на русском как делать.
P.S. И большое СПАСИБО за собранный и изложенный на форуме материал
Название: Re: Правка dtb
Отправлено: sfs от 14 Апрель 2019, 18:22:21
В шапке ссылка — «Распаковать скачанное firmware» пустая.
поправил
У Вас тоже со ссылкой проблема

Какой у Вас бокс? Под чем и для чего юзаете?
Название: Re: Правка dtb
Отправлено: kolja от 15 Апрель 2019, 11:11:16
У Вас тоже со ссылкой проблема
Ссылку сейчас поправлю. Виноват, не проверил как открывается после того как образец BBCode вставил.

Docooler M9S-PRO на amlogic S905. Удалённо стоит, файлами меняться. Debian без установленных Х-ов.

MX10 — сейчас Armbian поставил. Без Х-ов. С sd-карточки ещё последнюю сборку Ubuntu_xfce от balbes150 загружал. Понравилось.

Mecool M8S Pro W на amlogic S905W. Трогал, но там не получилось в память бокса записать систему. Armbian только с флешки загружается.
Название: Re: Правка dtb
Отправлено: sfs от 15 Апрель 2019, 13:13:23
т.е. у Вас в основном серверное направление...
Название: Re: Правка dtb
Отправлено: kolja от 15 Апрель 2019, 13:30:22
Ну да. Пока так
Название: Re: Правка dtb
Отправлено: loop223 от 10 Февраль 2020, 16:04:42
А какую тулзу использовать? чтобы выковырять dtb из прошивки (armlogic)?
Название: Re: Правка dtb
Отправлено: sfs от 10 Февраль 2020, 16:18:12
С rk - шной не получилось?
Нагуглил (https://www.google.com/search?newwindow=1&sxsrf=ACYBGNQtLi06eC6gmrS4Iq3BOpItBDEteA%3A1581340608373&ei=wFdBXpOxFu-xrgThl5joBg&q=Unpack+amlogic+Firmware&oq=Unpack+%D1%84%D1%8C%D0%B4%D1%89%D0%BF%D1%88%D1%81+Firmware&gs_l=psy-ab.3...0.0..329342...0.0..0.0.0.......0......gws-wiz.1SFXObBUXeI&ved=0ahUKEwiTkezpiMfnAhXvmIsKHeELBm0Q4dUDCAo&uact=5)
https://4pda.ru/forum/index.php?showtopic=660562
https://forum.freaktab.com/forum/tv-player-support/amlogic-based-tv-players/s912/others-aml-s912/knowledge-tutorials-av/707870-linux-amlogic-toolkit-unpack-and-repack-amlogic-images-using-linux-works-with-android-7
https://github.com/hn/amlogic-firmware/blob/master/amlogic-unpack-imgfile.pl
https://droidboxforums.com/threads/firmware-image-file-img-editing-tool-download-amlogic-customisation-tool.13491/
https://www.cnx-software.com/2016/08/06/how-to-customize-amlogic-android-firmware-a-tutorial-with-nexbox-a95x-s905-tv-box/
Сам не пробовал
Название: Re: Правка dtb
Отправлено: Gennadyi от 10 Февраль 2020, 16:32:27
https://forum.xda-developers.com/devdb/project/?id=26925#downloads - AMLogicTools_V6.0.0.zip - это дербанит амлоджиковские файлы андроида на составные части

http://forum.puppyrus.org/index.php?topic=22343.msg164564#msg164564 - внутри Level2 есть папка dtb, а в ней текстовый файл - dtb_1

еще 7zip хорошо помогает дербанить 1-й уровень распаковки
Название: Re: Правка dtb
Отправлено: sfs от 23 Март 2020, 15:02:10
Надо попробовать
dd if=/dev/boot of=boot.img
Если будет ошибка, значит остаётся
- попробовать поставить терминал в андройд и из него так же пытаться вытаскивать dtb
x96max s905x2 android9
Поставил Termux
В нем читает только из под рута, т.е. su
Если su не работает - значит рута нет
У меня был. Не забывает поставить права на чтение всем chmod 644 *.img
Копируем на флэшку из любого файлменеджера
Сделал boot и на всякий случай dd if=/dev/block/recovery of=/mnt/media/USB/recovery.img
Распаковка тремя способами из шапки темы дает ошибки при конвертации в dts
Код
# dtc -b 0 -O dts -I dtb -o my.dts rec.img-second 
FATAL ERROR: Blob has incorrect magic number

dtc -b 0 -O dts -I dtb -o my.dts 01_dtbdump_\*,00.dtb
FATAL ERROR: EOF before reading 82580480 bytes of DT blob
Может проблема в 9 версии андроид...
Полученные img могу выложить...


Название: Re: Правка dtb
Отправлено: sfs от 23 Март 2020, 15:40:11
Проделал эксперимент выше из под линукса
Код
# dd if=/dev/mmcblk2boot1  of=b
8192+0 записей получено
8192+0 записей отправлено
4194304 байт (4,2 MB, 4,0 MiB) скопирован, 0,187213 s, 22,4 MB/s

root@2a:1# dd if=/dev/mmcblk2boot0  of=b
8192+0 записей получено
8192+0 записей отправлено
4194304 байт (4,2 MB, 4,0 MiB) скопирован, 0,199322 s, 21,0 MB/s
В полученных файлах не нули, но ни одним средством из шапки даже и не распаковываются
Код
# ./split_bootimg.pl b
Android Magic not found in b. Giving up.
# ./extract-dtb.py b
No appended dtbs found
# ./amlogic-unpack-imgfile.pl b 1
Reading      2 bytes at offset       0: 0x0100                             (a '.')
Invalid magic
# ./unpackbootimg -i b1
Android boot magic not found.
Название: Re: Правка dtb
Отправлено: loop223 от 25 Март 2020, 09:36:12
Загрузился в armbian с  dtb от odroid n2 и сделал образ mmcblk1l1 /boot- получилось 256mb.
Код
trillo@trillo-desktop:~/Документы/dtb$ ./extract-dtb.py boot.img
Dumped 00_kernel, start=0 end=95170560

Dumped 81_dtbdump_rockchip,rk3328-box-z28.dtb, start=97615872 end=97652736
Dumped 82_dtbdump_rockchip,rk3328-box.dtb, start=97652736 end=97689600
Dumped 83_dtbdump_rockchip,rk3328-evb.dtb, start=97689600 end=97726464
Dumped 84_dtbdump_firefly,roc-rk3328-cc.dtb, start=97726464 end=97763328
Dumped 85_dtbdump_pine64,rock64.dtb, start=97763328 end=97800192
Dumped 86_dtbdump_popcornhour,rockbox.dtb, start=97800192 end=97837056
Dumped 87_dtbdump_rockchip,rk3368-evb-act8846.dtb, start=97837056 end=97865728
Dumped 88_dtbdump_geekbuying,geekbox.dtb, start=97865728 end=97894400
Dumped 89_dtbdump_tsd,rk3368-lion-haikou.dtb, start=97894400 end=97923072
Dumped 90_dtbdump_tronsmart,orion-r68-meta.dtb, start=97923072 end=97951744
Dumped 91_dtbdump_rockchip,px5-evb.dtb, start=97951744 end=97980416
Dumped 92_dtbdump_rockchip,r88.dtb, start=97980416 end=98009088
Dumped 93_dtbdump_rockchip,rk3399-evb.dtb, start=98009088 end=98058240
Dumped 94_dtbdump_vamrs,ficus.dtb, start=98058240 end=98115584
Dumped 95_dtbdump_firefly,firefly-rk3399.dtb, start=98115584 end=98172928
Dumped 96_dtbdump_google,bob-rev13.dtb, start=98172928 end=98234368
Dumped 97_dtbdump_google,kevin-rev15.dtb, start=98234368 end=98299904
Dumped 98_dtbdump_google,scarlet-rev15-sku6.dtb, start=98299904 end=98361344
Dumped 99_dtbdump_google,scarlet-rev15-sku7.dtb, start=98361344 end=98422784
Dumped 100_dtbdump_hugsun,x99.dtb, start=98422784 end=98480128
Dumped 101_dtbdump_khadas,edge-captain.dtb, start=98480128 end=98537472
Dumped 102_dtbdump_khadas,edge-v.dtb, start=98537472 end=98594816
Dumped 103_dtbdump_khadas,edge.dtb, start=98594816 end=98652160
Dumped 104_dtbdump_leez,p710.dtb, start=98652160 end=98709504
Dumped 105_dtbdump_friendlyarm,nanopc-t4.dtb, start=98709504 end=98766848
Dumped 106_dtbdump_friendlyarm,nanopi-m4.dtb, start=98766848 end=98824192
Dumped 107_dtbdump_friendlyarm,nanopi-neo4.dtb, start=98824192 end=98881536
Dumped 108_dtbdump_rockchip,rk3399-orangepi.dtb, start=98881536 end=98938880
Dumped 116_dtbdump_rockchip,rk3399-sapphire.dtb, start=99340288 end=99405824
Dumped 117_dtbdump_,amediatech,x96-max.dtb, start=99405824 end=268435456
Extracted 117 appended dtbs + kernel to dtb
Прошивка на боксе кастоманя.Чет много dtb не знаю какой ковырять)))
Название: Re: Правка dtb
Отправлено: sfs от 25 Март 2020, 09:49:36
Загрузились на каком железе?
mmcblk1l1 /boot - это андроид?
Какая цель ковыряния?
Прошивка на боксе кастоманя
Лучше дербанить родную
Название: Re: Правка dtb
Отправлено: uropb от 06 Апрель 2020, 10:17:47
Как достать из андроида dtb (сам не проверял) https://forum.armbian.com/topic/12988-armbian-for-amlogic-s905x3/?do=findComment&comment=96458
Название: Re: Правка dtb
Отправлено: uropb от 06 Апрель 2020, 12:23:19
Ничего в этом не понимаю, но похоже на первоисточник по dtb
https://github.com/torvalds/linux/tree/master/arch/arm64/boot/dts/amlogic
Название: Re: Правка dtb
Отправлено: sfs от 07 Апрель 2020, 08:28:05
Как достать из андроида dtb
Если из под линукса сделать dd boot-андроида - не работает, но возможно дело не в скрипте , а в том что дд берет не то. Надо пробовать на дампе прошивки
похоже на первоисточник по dtb
Да, но вряд ли там что-то интересное
Официально твбоксы никаким линуксом не поддерживаются
Что-то в этом направлении делает balbes150 и coreelec. У coreelec пока результаты лучше (av hw wifi bt), но balbes150 в соответствующей теме их жестко раскритиковал
Название: Re: Правка dtb
Отправлено: xander_mne от 29 Май 2020, 16:40:46
Комрады, спасайте.
У меня после запуска ARMBIAN на MXQpro4k чип s905xq_v1.0 не видит eMMC
Уже разобрал dtd с которой стартует ARMBIAN, вот она: https://yadi.sk/d/PboIQ6QwwXdmMg
Так же достал из прошивки Android, с которой работает, вот она: https://yadi.sk/d/4XpKrgPr_nSryQ
Сижу сверяю и ничего не понимаю.... Выручите пожалуйста. Коробка этих приставок лежит без дела....