Как создать Scatter файл?

НЕОБХОДИМЫЕ ЗАГРУЗКИ И РУКОВОДСТВА ДЛЯ СОЗДАНИЯ SCATTER-ФАЙЛА НА ТЕЛЕФОНЕ MEDIATEK

На самом деле нам не нужно знать все, прежде чем работать или пользоваться телефоном.

Но если вы понимаете или хотите понять, как программное и аппаратное обеспечение работает на устройстве, в нашем случае это устройство Mediatek, которое поможет вам навсегда поиграть с устройством (а иногда и сломать устройство).

Что такое скаттер-файл на Mediatek Phone

Важно понимать Android, потому что создание файла разброса телефона Mediatek или любого другого устройства Mediatek более или менее связано с ОС Android.

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

ОС Android имеет различные разделы, такие как системный раздел, раздел данных, загрузочный раздел, раздел восстановления, раздел загрузчика и т. д.

Разное программное обеспечение записывается в разные разделы и доступно в разное время. Например, доступ к разделу восстановления осуществляется при переходе телефона в режим восстановления, доступ к разделу загрузчика осуществляется при переходе телефона в режим загрузчика и т. д.

Файл Mediatek Scatter — это файл, в котором хранится вся информация о начальном адресе этих разделов, конечном адресе, размере раздела, какому устройству хранения он принадлежит и т. д.

Эта информация необходима перед тем, как вы прошьете, скажем, Восстановление TWRP в раздел восстановления или модифицированный загрузочный образ в загрузочный раздел или новое пользовательское ПЗУ, которое войдет в системный раздел и т. д.

Ниже приведен снимок экрана из программного обеспечения Droid MTK Tool, который показывает различную информацию о разделах телефона Mediatek.

Теперь вы знаете, что такое скаттер-файл на телефоне Mediatek и какую информацию он содержит.

Создание скаттер-файла на MTK устройствах

По сути, это руководство по рутированию, в котором я расскажу вам, как рутировать телефон Android и, самое главное, как рутировать телефон Mediatek. Это руководство работает на любом телефоне Mediatek (надеюсь). Я не знаю о самых последних телефонах Helio, но это работает для большинства других чипсетов Mediatek. Я настоятельно рекомендую вам сделать резервную копию NANDROID, а также полную резервную копию данных, а также, пожалуйста, иметь все ваши стандартные загрузочные образы, образы системы, образы загрузчика, если таковые имеются, и быть готовым к выполнению плана резервного копирования, если вы в конечном итоге с кирпичным телефоном а также внимательно прочитайте ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ. Прежде чем приступить к процессу рутирования, самостоятельно изучите риски, связанные с рутированием телефона, если вы делаете это впервые. Не делайте этого в спешке и убедитесь, что у вас есть как минимум 1 час времени, чтобы потратить на этот процесс рутирования.

Как установить восстановление TWRP на телефон Mediatek

Для установки рекавери TWRP на телефон Mediatek необходимо создать скаттер-файл.
Scatter-файл телефона Mediatek — это то, что говорит о наличии разных разделов и начальном адресе каждого раздела.

Как создать scatter-файл для телефона Mediatek

Этому руководству нужен Droid MTK Tool. С помощью Droid MTK Tool мы создадим скаттер-файл вашего телефона Mediatek.

Теперь установите восстановление TWRP на телефон Mediatek

Загрузка восстановления TWRP на телефон Mediatek выполняется с помощью инструмента SP Flash, который использует файл разброса, чтобы узнать, с какого адреса начинается раздел восстановления.
Убедитесь, что вы загрузили инструмент SP Flash.

Вот как установить рекавери TWRP с помощью файла разброса.

Я предлагаю вам сначала посмотреть видео, прежде чем начинать установку восстановления TWRP и процесс рутирования.

Схемы разметки памяти.

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

2.Типы схем разметок памяти.
Существуют две основные схемы разметки памяти:

GPT-схема (GUID Partition Table) это другой формат описания и размещения разделов памяти. Он является частью EFI (Extensible Firmware Interface) — стандарта, используемого вместо BIOS для разметки памяти и загрузки ее разделов. Переход на другой формат описания разделов позволил устранить самый существенный недостаток старого формата (MBR) — малое число разделов. Если в MBR помещалось только 4 записи с ограничением на длину раздела и его смещение из-за того, что эти параметры описывались 32-разрядными числами, то в GPT можно разместить 128 разделов. Причем их параметры уже описываются в 64-разрядной системе счисления.

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

2.1.MBR-схема.
По MBR-схеме вся внутренняя память МУ делится на разделы (начиная с Android 4.* еще и на регионы) и содержит следующие последовательно расположенные области памяти:

Последним всегда располагается раздел FAT, который предназначен для хранения пользовательской информации или данных программ, выполняющихся на МУ.

ПРИМЕЧАНИЕ. Надо четко различать понятия «размер раздела памяти» и «размер образа», прошиваемого в него.
Они связаны тем соотношением, что «размер образа» должен быть не более «размера раздела памяти»,
т.к. большой образ НЕВОЗМОЖНО прошить в маленький раздел — он просто туда не поместится.

Если число разделов памяти не более 4, то вся разметка содержится внутри раздела MBR, т.к. в него помещается только 4 записи о разделах. Если число разделов превышает 4, то к описанию добавляется раздел EBR, описывающий дополнительные
разделы. Ссылка на него размещается в MBR-разделе. При этом в MBR могут остаться 1-3 записи основных разделов и обязательно одна о дополнительном разделе. Здесь каждый производитель поступает по своему. Возможны следующие варианты:

Все эти «варианты» никак не влияют на работоспособность МУ, а только добавляют головной боли разработчику, т.к. привносят путаницу в код загрузчика или программ редакторов разметки.

2.2.GPT-схема.
GPT-схема разметки представляет всю память в таком виде:

2.2.1.Защитный MBR раздел.
«Защитный» MBR предназначен для обратной совместимости с загрузчиками MBR-схемы.
Также он выполняет защитную функцию, т.к. содержит одну единственную запись о разделе со следующими параметрами:

Если такую запись прочитает загрузчик MBR-схемы он увидит единственный раздел типа GPT, с которым он не умеет работать, и просто пропустит его. Это не позволит Вам «испортить» такой раздел, т.е. выполнить, например, удаление или перемещение.

2.2.2.Основной раздел GPT (Primary).
Primary GPT содержит следующую информацию, причем именно в таком порядке:

Этот раздел является основным источником данных по разметке памяти, именно здесь при запуске МУ берется информация о разделах. В случае отсутствия информации или ошибки в данных загрузчик обращается к резервному разделу (Backup) и пытается восстановить Primary GPT.
Основной раздел GPT располагается вначале памяти, как правило, сразу за защитным MBR, хотя это и не является обязательным условием.

2.2.3.Backup GPT раздел.
Backup GPT также содержит заголовок и таблицу описания разделов, но они располагаются в обратном порядке, если смотреть от начала памяти:

При этом Backup GPT размещается в самом верху памяти так, что заголовок находится в последнем размеченном блоке памяти.

3.Реализация файлов разметки памяти.
Файлы разметки памяти могут иметь два представления: текстовое и бинарное.

3.1.Текстовое представление файлов разметки.
Для удобства пользования таблицы описания разделов имеют текстовое представление всех необходимых параметров разделов, например, в виде файлов scatter, partition. Беда в том, что разные производители МУ создают их каждый своей структуры.

3.2.Бинарное представление файлов разметки.
Бинарные файлы разметки содержат образы соответствующих разделов.

При использовании MBR-схемы здесь все просто, т.к. производители максимум, что могут сделать, так это увеличить размер файла, в котором хранится образ раздела, заполнив его нулями. Как я описал уже в разделе 2.1 статьи это ни на что не влияет.

4.Источники информации.
1.Что такое разметка памяти?
2.Что такое MBR?
3.Что такое GPT?
4.Что такое scatter-файл?
5.Что такое файлы partition, path, rawprogram?
6.Что такое Intel-тип Gpt-файла?

Создание полного бэкапа в виде бинарной копии всей внутренней памяти для устройств на процессорах МТК с помощью Flash Tool.

Как и чем создать полный дамп ROM-памяти на процессорах МТК с помощью Flash Tool

(создание полной резервной копии и последующее восстановление с этой копии)

Зарядить аппарат не менее чем на 80%.

Установить драйверы. Установка драйверов на ПК для устройств Lenovo на платформе MTK.

Заранее подготовить папки в корне диска ( раздела ) на ПК.

В именах папок и пути к ним не должно быть ничего кроме латиницы, цифр и нижнего дефиса.

В данном случае, как пример, взят смартфон Lenovo S1L ( Mediatek MT6753 ).

По аналогии ниже описанных действий Вам нужно брать данные со скаттер-файла своего смартфона ( прошивки ) и так же на своём гаджете использовать Terminal Emulator for Android  для вычисления размера полного дампа.

Для исполнения данной команды в этом эмуляторе терминала рут-права не требуются.

Размер полного дампа на устройстве с процессором МТК вычисляется так:

Запустить приложение Terminal Emulator for Android на Вашем гаджете.

Ввести команду cat /proc/partitions

Вводить команду нужно точно так же, как она написана здесь строчкой выше  —  с одним пробелом после cat и далее с теми же слешами без пропусков и лишних символов.

Приложение отобразит все разделы с памяти устройства количеством блоков в разделе ( один блок = 1024 Байта ).

В строчке mmcblk0 отображена вся память целиком.

Значение со строчки mmcblk0 умножаем на 1024 и получаем размер полного дампа в Байтах.

Переводим полученное значение размера из Dec в Hex и получаем нужное значение для ввода в поле «Length» окна Flash Tool.

На смартфоне Lenovo S1L значение строчки mmcblk0 показало равным 15267840.

15267840 х 1024 = 15634268160 (Dec) = 0x3A3E00000 (Hex).

Для вычислений и перевода из Dec в Hex вполне подойдёт калькулятор с Windows на ПК.

В открытом калькуляторе на вкладке «Вид» выбрать «Программист»  —  калькулятор переключится в программный вид и автоматом будет выбран режим Dec ( десятичные ).

В этом режиме производим умножение.

Далее при полученном результате выбираем Hex ( шестнадцатиричные ).

Калькулятор переведёт значение из Dec в Hex.

Вот это значение (Hex) и есть нужный Вам тот размер полного дампа с Вашего гаджета, который Вы будете указывать в дальнейшем в окне Flash Tool.

На ПК запустить SP Flash Tool (  или более поздняя версия ).

1. В папке с программой Flash Tool правым кликом по значку flash tool вызвать контекстное меню.

2. Запустить Flash Tool левым кликом по «Запуск от имени администратора». Если Вы на ПК под учётной записью администратора, то можно и просто двойным кликом по значку flash tool запустить программу.

3. При запуске Flash Tool в первый раз вам выдаст оповещение об отсутствии агента и скаттер-файла в программе. Просто нажмите на «ОК» и откроется стартовое окно программы Flash Tool.

4. Нажать на кнопку «Download Agent».

5. Выбрать папку с программой Flash Tool.

6. В папке выбрать файл «DA_SWSEC.bin».

7. Нажать на кнопку «Открыть».

8. Нажать кнопку «Scatter-loading».

9. Выбрать папку, где находится скаттер-файл с той прошивки, на которой у Вас в данный момент Ваш гаджет.

10. В папке выбрать сам scatter-файл ( выглядит как  «MT6753_Android_scatter» с номером Вашего процессора МТК ). Можно выбрать либо из папки с заводской прошивкой для своего аппарата под SP Flash Tool, либо как отдельно сохранённый скаттер-файл. В моём примере скаттер-файл отдельно сохранён в заранее подготовленной папке без всех остальных файлов для установки прошивки с ПК.

11. Нажать на кнопку «Открыть».

12. В окне Flash Tool появится список разделов ( с полными путями к файлам или нет  —  не имеет значения ). Перейти на вкладку «Readback».

13. На вкладке Readback нажать кнопку Add.В списке ниже появится новая строчка.

14. Сделать двойной клик мыши по строчке. Программа предложит выбрать путь и ввести имя файла для сохранения.

15. Указать на компьютере папку где резервная копия полного дампа будет хранится до момента потребности в ней.

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

17.  Нажать на  кнопку «Сохранить».

В строке Start Address ввести нулевое значение  0x0.

В строке Length ввести Вами ранее вычисленное значение размера полного дампа и преведённого в Hex ( в моём примере это значение 0x3A3E00000 ).

20. Нажать на кнопку «ОК».

21. Проверить и удостовериться, что введены правильные значения во всех столбцах.

22. Нажать на кнопку «Read Back».

Далее после нажатия на «Read Back» аккуратно, одним разом без перетыканий подсоединяем выключенный гаджет к ПК по USB и тут же оставляем гаджет без перекладываний, переворачиваний и тому подобных физических воздействий как на него, так и на ПК.

Процесс сливания дампа начнётся сразу же после подсоединения гаджета по USB.

И лучше на время процесса сливания дампа с гаджета отлучитесь от ПК ( попейте чайку минут 20 — 25 ).

На гаджетах с не съёмными аккумуляторами может присутствовать кнопка «reset», как например на смартфоне Lenovo P780.

Такая кнопка служит аналогом вытаскивания-вставки аккумулятора.

В этом случае нажмите эту кнопку на пару секунд и отпустите её перед подсоединением к ПК.

Дальнейшие действия с 23-го по 29-е будут производиться без Вашего участия :

23. Сразу после подсоединения выключенного гаджета по USB к ПК и успешного срабатывания драйверов в Диспетчере устройств на ПК должен определиться подсоединённый выключенный гаджет, как MediaTek Preloader USB VCOM (Android) (COMx) ( в моём случае как COM4 ) и так же отразиться в нижнем ряду окна Flash Tool.

24. Пробежит красная полоса «Download DA 100%».

25. В окне Flash Tool слева внизу под картинкой отобразится информация по чипу с Вашего гаджета.

26. В нижнем ряду окна Flash Tool (слева направо) начнётся отсчёт размера слитого дампа в Мб и далее после 1000 Мб в Гб, скорость сливания в Мб/сек, текущее время, объём уже слитого дампа в процентах и постепенное заполнение шкалы синим цветом.

27. По окончании сливания дампа шкала будет заполнена синим цветом полностью, там же на шкале надпись достигнет «Read back 100%».

28. Появится небольшое окошко «Read back Ok».

29. Flash Tool автоматически программно отключит подсоединённый гаджет, в Диспетчере устройств на ПК исчезнет строчка «MediaTek Preloader USB VCOM (Android) (COMx)».

30. Теперь можно закрыть программу Flash Tool и отсоединить гаджет от ПК. Дабы посмотреть что у Вас получилось  —  откройте папку со слитым дампом, правый клик на файле, вкладка «Свойства». Там в скобках отображён реальный размер слитого дампа.

На новых процессорах МТК от MT67xx и позже ( а смартфон S1L как раз на процессоре MT6753 ) для последующего успешного восстановления со слитого полного дампа необходимо отдельно переписывать разделы tee1 и tee2 на устройство либо отдельно слитым дампом с этих разделов, либо в программе Flash Tool в режиме «Download Only» ( при наличии пакета прошивки для установки с ПК ).

После записи одного только слитого полного дампа на устройство на процессорах МТ67хх, оно у Вас не включится.

Мы рассмотрим здесь вариант, когда допустим, что нет у нас пакета прошивки для установки с ПК на наше устройство.

Следовательно нам необходимо слить кусок дампа с разделов tee1 и tee2.

А для этого нам нужны Start Address и Length.

Следовать нижеописанному ( открыть спойлер ).

И так же по аналогии всех действий сливания полного дампа, следом, отсоединив выключенный смартфон от ПК после сливания полного дампа, приступаем к сливанию куска дампа с разделов tee1 и tee2 суммарно, начиная вводить полученные значения Start Addres и Length на шаге 16 и далее ( выше по скриншотам ).

Запустить тот же Terminal Emulator for Android на Вашем гаджете.

Ввести команду cat /proc/emmc

Приложение отобразит все разделы с памяти устройства в секторах, как стартовый адрес каждого раздела ( Start Addres ), так и размер занятого пространства в каждом разделе ( nr_sects ).
Чтобы узнать реальные значения в (Hex) необходимо выведенные на экран значения умножать на 200 в том же (Hex).
Итак, нам нужны данные старт адреса и длины обоих разделов tee1 и tee2 в одном куске дампа.
Старт адрес  —  понятно, тут мы берём данные с экрана со столбика Start Address и строки tee1  —  это 00030000 = 0x30000.
Умножаем ( в Hex) 0x30000 на 200 и получаем значение 0x6000000.
Sart Address :  0x6000000
Далее, чтобы наш кусок дампа включал в себя полностью два раздела tee1 и tee2, мы должны взять за окончание дампа стартовый адрес с последующего за разделом tee2 раздела fpr, то есть 00035000 = 0x35000.
Так же (в Hex) умножаем 0x35000 на 200 и получаем значение 0x6A00000.
Теперь вычитаем разницу между началом и концом куска дампа :
0x6A00000 — 0x6000000 = 0xA00000
Вот эта разница и есть длина дампа разделов tee1 и tee2.
Length :  0xA00000
Итого.
Sart Address :  0x6000000
Length :        0xA00000

Анеля Микерина
Оцените автора
IgriApps.ru
Добавить комментарий