Общие принципы прошивки emmc памяти в "домашних условиях"



Реп: (7)
общие принципы прошивки eMMC памяти в "домашних условиях"

Устройство и ОС, прошивка: MTK , Qualcomm и иже с ним

проблема: частый выход из строя вышеуказанных устройств, соответственно приводящий к отсутствию инициализации мобильных устройств

Сделано:
подробно описан опыт работы с eMMC памятью одним из друзей форума Описание работы с eMMMC (linux, через card reader на шине PCI)

Скрипт от ув T.K.
bash скрипт для вывода основной информации и проведения основных операций (описание по ссылке)


Сообщение отредактировал matus18 - 27.02.22, 02:34
Причина редактирования: Изменение текущей инфо



Реп: (34)
john2010 @ 28.06.22, 02:48 *
Так должно быть?

Исходный диск (для примера 2Gb):
занято = 1Gb (использовано)
свободно = 1Gb
всего = 1 + 1 = 2Gb (размер)
---------------------
Увеличиваем объем диска на 7Gb:
не размечено 7Gb
занято = 1Gb
свободно = 1Gb
всего = 1 + (1 + 7) = 9Gb
---------------------
После исправления:
занято = 1Gb
свободно = 8Gb
всего = 9Gb



Реп: (812)
у меня корректно отображается ?
я перенес не 600 мегов, не 1 G, а почти 7 G.
-меня смущает что в у меня строке "использовано" указано 1,51G, а не 7G примерно, я ведь 7G примерно перенес(скопировал) на часть флешки, раздел sdс1 которой создал около 14G.
-в строке "свободно" у меня указано 4,36G.
То есть я по логике понимаю что если грязно сложить 4,36G +1,51G =5,87G ,это размер свободной и использованной (занятой). Или перенесенные 7G перераспределяются на использованную (1,51G) и свободную (4,36G), я это хочу понять.
С неразмеченной частью раздела sdс1 размером 7,8G понятно она должна быть исправлена после проверки, которую вы показали.



Реп: (34)
john2010 @ 28.06.22, 05:20 *
меня смущает что в у меня строке "использовано" указано 1,51G, а не 7G

7 это весь объем, а записано на нем 1,5 свободно 5,5 , чтобы там что-то хранить , если даже удалить все данные будет скажем использовано 0 размер все равно будет 7 . У 'использовано' может быть любой размер не больше 7.



Реп: (812)
alexnissan @ 28.06.22, 17:25 *
7 это весь объем, а записано на нем 1,5 свободно 5,5

понял, просто не на все 7G записаны данные в разделе (не записанные отсутствие данных нулями определились видимо), я на ваш ориентировался, поэтому и засомневался)))))))
в посте указали
Исправляем таблицу разделов
e2fsck -f /dev/block/mmcblk0p9
resize2fs /dev/block/mmcblk0p9
-это нужно делать после копирования на приставку mmcblk0p9.img или это уже в GParted в процессе исправили?
-файл mmcblk0p9 нужно копировать через dd с расширением .img или просто как есть или не принципиально?

Сообщение отредактировал john2010 - 28.06.22, 10:54



Реп: (812)
alexnissan @ 25.06.22, 13:11 *
Этап 1 Увеличение раздела
Итак копируем через dd с устройства раздел /dev/block/mmcblk0p9 (который 7Gb) - это будет origin_dump.img
Создем в Linux (где GParted) раздел размером 15Gb например на флешке /dev/sdb1
Копируем в этот раздел origin_dump через dd if=origin_dump of=/dev/sdb1
Запускаем GParted исправляем размер раздела /dev/sdb1 на 15Gb
Создаем правильный new_dump для прошивки dd if=/dev/sdb1 of=new_dump.img

Этап 2 Прошивка (? не проверял)
Копируем через dd образ new_dump.img на раздел /dev/block/mmcblk0p9
Исправляем таблицу разделов
e2fsck -f /dev/block/mmcblk0p9
resize2fs /dev/block/mmcblk0p9

фокус с подменой mmcblk0p9 не удался((((
после замены стокового mmcblk0p9 на новый с увеличенным разделом (сделал 13G для перестраховки) приставка сама перезагрузилась, команду e2fsck -f /dev/block/mmcblk0p9 после этого ввел, согласился YES. А вот на команду resize2fs /dev/block/mmcblk0p9 не реагировало. По итогу предлагает сделать сброс, ни чего не осталось как нажать на reset. Единственное может надо было зайти в рекавери и там сделать сброс данных, но практически это то же самое. Видимо где то прописана сверка разделов, я подозреваю что это файл flash.cfg и здесь Возможно еще прописано в разделе PТ, мыслей нема......
Прикрепленное изображение

Проект ставлю на очередной HOLD(((

P.S. может кто разберет раздел PT и скажет можно ли размеры раздела UDA (он же mmcblk0p9) изменить ?
Прикрепленный файлPT.zip ( 8.47 КБ )


Сообщение отредактировал john2010 - 29.06.22, 12:29



Реп: (36)
[attachment="25896116:таблица.png"]
john2010 @ 28.06.22, 17:55 *
Видимо где то прописана сверка разделов

Надо в HEX редакторе найти в дампе таблицу и исправить. Там примерно должно быть так: Список разделов:Раздел,адрес,размер. Искать можно по названию раздела. Если в таблице не исправить,то при сбросе или обновлении станет всё обратно,что не редактируй ГПартедом или чем. Получается Адрес удата 54600000(нулей не знаю сколько) длина 177C000000(нулей не знаю ск.) Надо ли ещё и раздел ГПТ править,вопрос.

Прикрепленные изображения
Прикрепленное изображение


Сообщение отредактировал cross1812 - 29.06.22, 13:32



Реп: (812)
cross1812 @ 29.06.22, 20:20 *
Список разделов:Раздел,адрес,размер.

вот это вопрос, понимаю что нужно знать как здесь
Прикрепленное изображение

но как человек сделал не понятно, возможно указанным им программатором, я все команды перепробовал и скрипт про который писал.
Как я понимаю зная начало и конец раздела , можно указать их в разделе PT, я открывал его Hex Editor Neo, видел ссылки на разделы , в том числе UDA он же (mmcblk0p9), но знаний не хватает(((
Думаю что нужно менять одновременно данные в файле flash.cfg , я это пробовал отдельно, результата нет, размер UDA не увеличился и приставка загрузилась в обычном режиме. Так же заменить файл mmcblk0p9 на созданный с конкретным размером , как предложил alexnissan здесь.
А так же править в разделе PT, если конечно этим ограничится, а не GPT еще.

Решил копировать файлы flash.cfg с новым размером UDA НЕ size=18432, а к примеру 13249806336 байт, взял по смыслу отсюда после конвертирования адреса.
Этот же размер в мегабайтах прописал при создании нового файла в разделе по инструкции .
То есть нужно скопировать 2 файла (flash.cfg и new_mmcblk0p9.img), в режиме APX , чтобы приставка не перезагрузилась сама.
Единственное в инструкции при бекапе разделов файлы сохранялись с расширением .bin , у меня же при создании .img. Думаю это не критично поменять одно расширение на другое в ручную, ведь фактически это контейнер, в котором одни и те же данные.

Команда в инструкции такая sudo ./utils/nvflash_v1.13.87205_miniloader_patched --resume --download UDA UDA.bin
Либо поменять наименование в команде sudo ./utils/nvflash_v1.13.87205_miniloader_patched --resume --download UDA new_mmcblk0p9.img , либо new_mmcblk0p9.img переименовать и поменять расширение как UDA.bin.
То есть это то я сделаю, а как быть с редактированием PT? Где взять адреса начала и конца раздела UDA и практически внести в него изменения?

Сообщение отредактировал john2010 - 03.07.22, 12:54



Реп: (2)
Подскажите, пожалуйста, socket чипа памяти Micron и чем можно прочитать этот чип ? Фото чипа в этой ветке форум запостил.



Реп: (812)
cross1812 @ 29.06.22, 20:20 *
Получается Адрес удата 54600000(нулей не знаю сколько) длина 177C000000(нулей не знаю ск.)

через WwR_2.51 то же показало177C000000. А начало адреса 54600000 ? если длина 177C000000, по идее можно и конец адреса вычислить?
и как узнать какая длина для UDA будет у EMMC на 16G?
sda это подключенная флешка.
Прикрепленное изображение

Прикрепленное изображение



Реп: (100)
john2010 @ 4.07.22, 17:34 *
и как узнать какая длина для UDA будет у EMMC на 16G?
посчитать.
Полный размер в байтах или в hex влешки на 8 которая стояла и на 16 дайте.
И таблицу с размерами от 8 Гб флешки, которая стояла.

Сообщение отредактировал Chubaka885 - 04.07.22, 19:56



Реп: (812)
Chubaka885 @ 05.07.22, 00:09 *
Полный размер в байтах или в hex влешки на 8 которая стояла и на 16 дайте.

на 8G - фактически используется 7717519360 байт
на 16G - фактически используется 15770583040 байт
Chubaka885 @ 05.07.22, 00:09 *
И таблицу с размерами от 8 Гб флешки, которая стояла.

Таблица такая же как и на 16, которую впаял, единственное отличие это общий размер раздела mmcblk0 другой (1CC000000), так как она меньше и что соответствует 7717519360 байтам.
Прикрепленное изображение

Кстати при тесте через программу WwR_2.51 написала что нет GPT так оно на самом деле или нет непонятно, так как сам раздел GPT я снимал через APX режим.
Прикрепленное изображение



Реп: (100)
* john2010,
Должно получится как то так (по аналогии с 8гб):
UDA
start 5460 0000
lenght 3 57c0 0000
так так UDA увеличивается, следующий раздел GPT нужно сдвинуть
GPT
start 3 ac20 0000
lenght 20 0000

в разделе pt нужно поменять как на скрине (выделено красным). Начало и длина раздела прослеживается точно и понятно какие значения отвечают за это. Но остальное не совсем понятно и сделано на аналогии. В общем можно попробовать, но я не уверен что сработает. Возможно нужно поменять еще что то. И в разделе PT постоянно повторяется таблица. Изменения нужно внести во все повторения, я так думаю.
Еще бы посмотреть что в последнем разделе GPT.

Прикрепленные изображения
Прикрепленное изображение


Сообщение отредактировал Chubaka885 - 08.07.22, 10:46
Причина редактирования: Отредактирован адрес start gpt



Реп: (812)
Chubaka885 @ 08.07.22, 03:00 *
И в разделе PT постоянно повторяется таблица.

я то же обратил на это внимание, более 100 повторений, если не 200



Реп: (100)
* john2010, если это не получится, есть ещё одна мысля, но мне нужен раздел gpt, который после uda.



Реп: (812)
Chubaka885 @ 08.07.22, 19:26 *
но мне нужен раздел gpt, который после uda.

скинул в qmc, но там нули



Реп: (10)
Здравствуйте! Начал изучать вопрос, долгий процесс предстоит, но переходник уже давно есть и я его даже испытывал. Вопрос заключается в следующем: На xaomi redmi 9 умерла флешка, указанным методом возможно ли залить дамп(его ещё найти надо) или нет смысла заморачиваться? А то уже думаю линукс подбирать под ноут... Ну, и если есть дамп на редми 9, поделитесь пожалуйста, на GSM Forum, на пример, платно. Для редми 9а нашёл, но наверное не пойдёт

Сообщение отредактировал ustamab1 - 16.07.22, 14:37



Реп: (10)
cross1812 @ 29.07.20, 06:49 *
1. Качаем образ линукса с программой ММС
https://cloud.mail.ru/public/91uN/qMCVJHvM3

2. Раскатываем его на флешку с помощью Universal-USB-Installer или win32diskimager или ...кому что удобней.
3. Вставляем,грузимся с неё. (Сразу попадаем в командную строку,ничего делать не надо)

В этом шаге мне не много не понятно, по ссылке это что? Просто при попытке создать загрузочную флешку с этой папки (с помощью ultra iso) в этой папке находится следующее
Прикрепленное изображение
мне любой из этих вариантов выбрать? Или я что то не так делаю?
получается что в этой ссылке самого образа линукса нет, а программа есть?!

Сообщение отредактировал ustamab1 - 19.07.22, 14:28



Реп: (10)
matus18 @ 29.06.16, 16:59 *
(Сразу попадаем в командную строку,ничего делать не надо


Мне не понятно, при загрузке убунту в командную строку самостоятельно надо заходить или он сам сразу заходит в неё?



Реп: (34)
ustamab1 @ 19.07.22, 12:19 *
не понятно

Будет как тут в первом терминале https://youtu.be/On19Iku6yOs где reboot во втором это уже msdos

Сообщение отредактировал alexnissan - 19.07.22, 17:14



Реп: (10)
alexnissan @ 19.07.22, 21:08 *
Будет как тут в первом терминале

То есть я ставлю на ноут убунту, у меня при загрузке он поподает в этот терминал или как то ещё надо содержимое папки под названием MMC, на которю дана ссылка https://4pda.to/pages/…FqMCVJHvM3&e=116211203 в первом пункте инструкции, устанавливать на загрузочную флешку?


Полная версия   Текстовая версия

Помощь   Правила

Сейчас: 29.03.24, 05:06