motofan logo
6 страниц V  1 2 3 > »         
> 

[A3100] Основы создания прошивки, Курс молодого бойца

Прошивка для А3100
Нужна ли тема по созданию прошивок для А3100
Да [ 24 ] ** [92.31%]
Нет [ 2 ] ** [7.69%]
Всего голосов: 26
Вы должны набрать 0 поста, что бы голосовать. 
@leks
сообщение 31.3.2010, 3:41 Закрепленное сообщение!


xakep
*****

Группа: Пользователи
Сообщений: 486
Регистрация: 11.3.2007
Из: Сургут
Пользователь №: 126 393

Рейтинг: 358



Итак, начнем потихонечку...

Кухня WM 6.5.3 ТУТ зеркало зеркало2
Кухня WM 6.1 ТУТ зеркало зеркало2


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

Для снятия дампа нужно:
  1. Изменить в реестре на телефоне HKLM\Security\Policies\Policies 00001001 с 2 на 1
  2. Подключить телефон в режиме ActiveSync (Программа должна быть установленна и драйвера тоже)
  3. Делаем Дамп вот этой утилитой.
    Для этого запускаем в папке с утилитами файл Start.bat
    На телефоне выдаст сообщение о установке itsutils.dll, подтверждаем установку
    По окончанию процесса в папке появится файл Copy_A3100.bin, размер должен быть ~166Mb
    Это и есть полная копия прошивки без радио модуля, без бутлоадера и т.д.
    То есть операционная система (SYS), операторский софт и драйвера (OEM), ядро (XIP).
[close]

Теперь у нас есть дамп, нам нужно разобрать его на файлы и модули...
Разбор дампа на файлы и модули:
Spoiler:
  1. Копируем файл Copy_A3100.bin в папку с этой утилитой...
  2. Запускаем файл Dump.bat
  3. Ждем окончания процесса, в конце процесса в папке с утилитой появится папка dump
    Это и есть наш дамп в разобранном виде...
[close]

Теперь мы имеем разобранный на файлы и модули дамп, нам нужно разложить его на пакеты...
Раскладываем файлы и модули на пакеты:
Spoiler:
  1. Запускаем PKGTool.exe из этого архива...
  2. Открываем меню File > Open и указываем путь к папке dump
  3. Открываем меню Tools > Build Packages и ждем окончания процесса
  4. Теперь открываем нашу папку dump и видим две папки OEM и SYS
    Это и есть наш дамп прошивки разобранный на файлы и модули и разложенный на пакеты...
[close]


Создаем окружение для работы с прошивкой:
Spoiler:
  1. Качаем OsBuilder
  2. Создаем на диске С: папку к примеру MyMod (Можно создать и на любом другом диске, главное чтобы было меньше вложений)
    Я буду описывать процесс подготовки кухни исходя из этих путей...
  3. Копируем файлы OsBuilder.exe и OsBuilder.ini из архива в папку c:\MyMod\
  4. Создаем в папке MyMod следующие папки:
    • OEM - Для операторских приложений и драйверов
    • SYS - Операционная система
    • EXT - Для патчей и своих пакетов
    • ROM - Для XIP'а, шаблона и т.д.
    • Tools - Для утилит которые нам потом понадобятся, кстати утилиты которые мы использовали выше, тоже можно закинуть сюда...
    • OutPut - Сюда в процессе сборки будет сохранятся наша готовая прошивка...
    • Configurations - Папка для сохранения конфигурации сборки...
  5. Теперь папки OEM и SYS из папки DUMP, которые мы получили при работе с дампом переносим с перезаписью в наш проект c:\MyMod\
  6. Теперь файл копии нашей прошивки Copy_A3100.bin копируем в папку ROM нашего проекта и переименовываем в ROM.TPL
    Это будет шаблон для нашего проекта...
  7. Теперь запускаем OsBuilder.exe и смотрим что получилось...
  8. Видим окно программы разделенное на три части...
    • В первой части у нас будут пакеты которые мы включим в проект
      К этому ещё вернемся
    • Во второй части мы выдим все пакеты найденые в папке с проектом
    • В третьей части выводится разного рода информация
  9. Нажимаем на панели в программе кнопку Создать новую группу и создаем две группы с названиями OEM и SYS
  10. Теперь переносим все пакеты из среднего окна в одноименные группы...
  11. Отмечаем обе группы галочками
  12. Теперь сохраняем результат нашей кухни через кнопку Конфигурация пакетов > Сохранить как конфигурацию по умолчанию
    Вот в общем то первая часть кухни готова, здесь можно снять галочки с ненужных пакетов, какие пакеты нельзя убирать будет в продолжении мануала...
[close]


Заключительная часть создания окружения:
Spoiler:
  1. Качаем Tools.rar и распаковываем в папку с нашим проектом с перезаписью папки Tools
  2. Качаем Build.rar и копируем файл из архива в корень нашего проекта
  3. Качаем Flash.rar и копируем файл из архива в папку ROM
  4. Теперь после того как мы выбрали нужные пакеты (для первого теста выбираем все пакеты в нашей сборке) и нажимаем кнопку Сборка на панели OsBuilder'a
  5. После окончания сборки, сворачиваем программу и запускаем скрипт Build.cmd в корне нашего проекта
  6. Ждем окончания процесса и в конце открываем папку OutPut
  7. В ней должен появится файл A3100-ROM.hex, его мы можем прошивать и радоваться первой сборке своей прошивки
[close]


Список пакетов с описанием:
Spoiler:
    ADC - Автоматическая настройка передачи данных
    AdobeFlash - Adobe Flash
    AdobeFlashCodecs - Adobe Flash Видео кодек
    AlarmSounds – Звуки будильника…
    AUTOUPDATE – Авто обновления
    BaseApps - Компоненты ядра ОС
    BaseAppsFiles - Microsoft Camera + интеграция со службой поддержки Camera - заменяет BaseAppsModules
    BaseAppsModules - Microsoft Camera + интеграция со службой поддержки Camera – заменяет BaseAppsFiles
    Bluetooth - Поддержка Bluetooth (для Microsoft BT стека)
    bronze - Компоненты для Chome
    BronzeEA - Компоненты для Chome (Восточная Азия)
    BronzeNonEA - Компоненты для Chome (НЕ Восточная Азия)
    BROWSING - IE Компоненты.
    BROWSINGCORE - IE Компонеты скриптов сценариев.
    browsingie - IE Обнавленый интерфейс.
    BTDUN - Удаленный доступ к сети через Bluetooth.
    Bth_A2DP - Bluetooth A2DP
    Bth_HID - Bluetooth HID (Human Interface Device) Поддержка Bluetooth клавиатур.
    Bth_Watch – Поддержка часов от Sony Erricssion
    CHome – Titanium
    CommonEA - Общие настройки для Восточной Азии, заменяет CommonNonEA
    CommonNonEA – Общие настройки для НЕ Восточной Азии, заменяет CommonEA
    COMPLEXSCRIPT_FONTS - Системные шрифты для арабского, заменяет SYSTEM_DEFAULT_FONTS
    ConfettiCore – Поддержка аппаратного ускорения графики для 6.5 Chrome.
    DRM - Проверка сертификаций медиа контента
    Enterprise – Поддержка IPSec, l2TP и Winscard
    Entertainment – Игры.
    FWUPDATE – Поддержка ImageUpdate
    gb18030 - Поддержка шрифтов Восточной Азии
    GPSID – Промежуточный драйвер GPS, поддерживает несколько приложений, использующих один порт одновременно
    INTERNETSHARING - Обеспечивает NAT маршрутизатор для WWAN <-> USB / Bluetooth
    IPSECVPN – Поддержка IPSec VPN
    IRDA – Поддержка IR Port и не только…
    LangDB - wince.nls для языков (0404, 0411, 0412, 0804, WWE)
    Livesearch - Windows Live Search / Поиск Bing
    Lockscreen – Блокировка экрана WM6.5
    LockscreenEA – Компоненты блокировки экрана для Восточной Азии – заменяет LockscreenNonEA
    LockscreenNonEA - Компоненты блокировки экрана НЕ для Восточной Азии – заменяет LockscreenEA
    MediaOS - Windows Media Player - необходимо для поддержки MP3 рингтонов?
    MediaOSFiles - Windows Mobile Player Декодер DMO - заменяет MediaOSModules
    MediaOSModules - Windows Mobile Player Декодер DMO - заменяет MediaOSFiles
    Metadata - Реестра, информация о пакетах…
    MODEMLINK - Старый способ поддержки интернет обмена (DUN)
    MSIMAR – Поддержка Арабской клавиатуры
    MSTag - Microsoft Reader тегов
    NetCF - Microsoft .NET Compact Framework
    NonPhone – Компоненты для КПК
    Office - Microsoft Office Mobile
    OneNote - Microsoft OneNote Mobile
    OS - Компоненты ядра ОС
    OSFiles - Компоненты ядра ОС - заменяет OSModules
    OSModules - Компоненты ядра ОС - заменяет OSFiles
    Perf - Debug Monitor
    Perfbox - Debug Monitor
    Phone – Компоненты телефона, НЕ для КПК
    PhoneRedist - Компоненты телефона, НЕ для КПК
    ppgprov – Поддержка OMA Provisioning, НЕ для КПК
    Redist - ?
    RemoteDesktopMobile – Удаленный рабочий стол
    Riched20 – Поддержка Rich HTML редактора - заменяет Riched20_CS
    Riched20_CS - Поддержка Rich HTML редактора - заменяет Riched20
    RIL710MUX – Компоненты CellCore (По желанию) - Включает в себя mux07_10.dll, последовательный порт мультиплексора, осуществляется согласно 3GPP TS 07.10 версии 7.2.0 Выпуск 1998 года. Сейчас используется с радиомодулем Enfora через драйвер RIL.
    RingsAndAlerts – Звонки и оповещения
    RMGR – Роуминг менеджер (опционально)
    RUNTIMES - C Время автономной работы
    SipAR - Поддержка Арабской клавиатуры
    SampleMusic – Образцы музыки
    Shell - Компоненты ядра ОС
    SIM_TKit - SIM Tool Kit, исключены из CDMA версии
    Skybox - Microsoft MyPhone, синхронизирует информацию в телефоне и сервером в Microsoft
    Skymarket - WM торговой площадки еще нет - Просто ссылка
    SMIME – Поддержка шифрования
    SMS_Providers – Поддержка SMS
    SQLCE - SQL Server для CE
    SQM - Systems Quality Metrics
    SqlCeMobile – SqlCeMobile Необходим для некоторых программ
    SYSTEM_DEFAULT_FONTS - Системные шрифты НЕ для Арабского, заменяет COMPLEXSCRIPT_FONTS
    Themes – Допалнительные Темы оформления
    Transcriber - Transcriber – Не для всех языков
    UNISCRIBE - SIP Поддержка выбора не WWE языка – заменяет Transcriber
    VoiceCommand - Голосовые команды, для - (0407, 0409, 040C, 0809)
    VoIP - VoIP
    VoIPOS - VoIP
    Webview - IE RenderCore компонент для использования в ОС, WWE – заменяет Webview_CS
    Webview_CS IE RenderCore компонент для использования в ОС, Арабский - заменяет Webview
    WelcomeCenter - WM6.5 «Начиная работу» - Требуется для "Помощь"
    WindowsLive – Мобильный Windows Live
    WindowsLiveIM - Обмена мгновенными сообщениями Windows Live
    WMLiveSearchWidget - Виджет MS Live Search
    WMMoneyWidget - Виджет деньги MS
    WMWeatherWidget - Виджет погоды MS
    WMWidgets - Поддержка виджетов MS (необходим IE)
    WWAN – Поддержка WWAN
[close]


Изменение языка в прошивке:
Spoiler:
  • Для изменения языка нужно добавить в проект пакеты с языковыми настройками и приложениями.
    Делается это довольно просто, берём пакеты из прошивки (В Интернете есть все, можно найти) с нужным нам языком. Название пакетов должно быть следующим *_0804_*, тоесть в названии содержатся цифры, которые и указывают нужный нам язык
    Пример:
    • 0804 - Традиционный Китайский
    • 0404 - Китайский
    • 0419 - Русский
    • 0409 - Английский
  • Пакеты должны быть из того же билда, что и наша собираемая прошивка или как можно ближе к нашей прошивке.
    Пример:
    • У нас версия билда 20780
      Значит нам нужно найти языковые пакеты с таким же билдом, в крайнем случае версия должна быть как можно ближе, например от 20750 до 20800.
      Это конечно не так критично, можно и любые использовать, но могут различатся языковые ресурсы, а это чревато дополнительными багами.
      Когда я делал первый русификатор, я вообще использовал языковые файлы из WM6.5, но если помните было очень много багов и в итоге я постепенно перешел на файлы из WM6.1, в следствии чего практически избавил русификатор от багов...
  • После добавления в папку SYS пакетов с нужным нам языком, запустите OsBuilder и поменяйте язык на панели в открывающемся списке.
  • Теперь добавьте пакеты из среднего окна в левое окно нашего проекта, тоесть в группу SYS
  • Теперь нужно отметить добавленные пакеты галочкой, а с пакетов других языков убрать галочки...
  • D папке OEM есть папка OEM_Lang_*
    *- Цифра языка (пример 0804, 0404, 0409 или 0419)
    Эту папку нужно переименовать в ту которую надо (поменять цифру в названии для русского 0419)
    В нутри этой папки нужно поменять цифры у всех файлов где встречаются цифры языка на те которые надо...
    Так же в этой папке есть файл initflashfiles.dat, его нужно открыть простым блокнотом (или любым текстовым редактором, я пользуюсь Notepad ++) и поменять в нем пути для ярлыков и файлов на русские аналоги... Также можно переименовать ярлыки.
    Этот файл используется при первой загрузке после перепрошивки, а также после полного сброса системы...
  • Сохраните проект через меню, пробуйте собрать прошивку...
[close]

Пути для изменения в initflashfiles.dat:
Spoiler:

* Главное меню - \Windows\Главное меню
* Программы - \Windows\Главное меню\Программы
* Настройка - \Windows\Главное меню\Натройка (с версии 0.5 Параметры переименованы в Настройка)
* Стандартные - \Windows\Главное меню\Стандартные
* Игры - \Windows\Главное меню\Игры
* Связь - \Windows\Главное меню\Связь

Мои документы

* Мои документы - \My documents
* Моя музыка - \My documents\Моя музыка
* Мои мелодии - \My documents\Мои мелодии
* Мои рисунки - \My documents\Мои рисунки
* Мои видеозаписи - \My documents\Мои видеозаписи
* Шаблоны - \My documents\Шаблоны

Program files

* Стандартные - \Program Files\Стандартные
* Связь - \Program Files\Связь
* Игры - \Program Files\Игры

Другие

* Автозагрузка - \Windows\Автозагрузка
* Избранное - \Windows\Избранное
* Шрифты - \Windows\Шрифты
* Recent - \Windows\Recent
[close]

Готовая кухня с последней китайской прошивкой ТУТ
Распаковать на диск C и запустить OsBuilder
Если используете эту готовую кухню, то скрипт Build.cmd запускать не нужно...
Это происходит автоматически после сборки имиджа системы.
В сборке уже пропатченно ядро на установку приложений без сертификатов.

Также жду вопросы, связанные с модингом прошивок...


Продолжение ТУТ

Сообщение отредактировал noph8 - 17.5.2012, 6:43
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
@leks
сообщение 15.4.2010, 3:23


xakep
*****

Группа: Пользователи
Сообщений: 486
Регистрация: 11.3.2007
Из: Сургут
Пользователь №: 126 393

Рейтинг: 358



FlameNeon, как успехи в прошивкостроении?!?!

Сообщение отредактировал @leks - 21.9.2010, 3:44
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
FLAME NEON
сообщение 15.4.2010, 5:58


Интересующийся
**

Группа: Пользователи
Сообщений: 85
Регистрация: 2.11.2005
Из: Москва г.Зеленоград
Пользователь №: 56 846
Модель телефона: ROKR E2, MING A1200

Рейтинг: 143



cry.gif Невыходит пока не в какую вроде всё по пунктам - всё осмысленно и логично, но при попытке прошить *.hex получаю "БОЛТ" sorry.gif

Я так думаю, это скорее всего от того, что OEM_lang у меня инглиш а SYS_lang русиш и как решить трабл пока не врубаюсь
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
FLAME NEON
сообщение 24.4.2010, 15:56


Интересующийся
**

Группа: Пользователи
Сообщений: 85
Регистрация: 2.11.2005
Из: Москва г.Зеленоград
Пользователь №: 56 846
Модель телефона: ROKR E2, MING A1200

Рейтинг: 143



Наконец-то Собрал себе то, что хотел clapping.gif УРА!!!
Windows mobile 6.1 Profesional Russian build 20780
Огромное спасибо за проделанный труд и потраченное не в пустую драгоценное время и подробные разяснения чё к чему, и вобще самые благодарственные респекты какие только бывают многоуважаемому @leks, без его помощи ушло бы в десятки раз больше времяни для достижения достигнутого.

если кому надо 6.1 рус пишите выложу grin.gif

Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
@leks
сообщение 26.4.2010, 4:51


xakep
*****

Группа: Пользователи
Сообщений: 486
Регистрация: 11.3.2007
Из: Сургут
Пользователь №: 126 393

Рейтинг: 358



Цитата(FLAME NEON @ 24.4.2010, 21:56) *
Spoiler:

Наконец-то Собрал себе то, что хотел clapping.gif УРА!!!
Windows mobile 6.1 Profesional Russian build 20780
Огромное спасибо за проделанный труд и потраченное не в пустую драгоценное время и подробные разяснения чё к чему, и вобще самые благодарственные респекты какие только бывают многоуважаемому @leks, без его помощи ушло бы в десятки раз больше времяни для достижения достигнутого.

если кому надо 6.1 рус пишите выложу grin.gif
[close]

Поздравляю с первой прошивкой для А3100, так держать... grin.gif
Как только возьму себе тело, продолжу начатое мной дело...

Сообщение отредактировал @leks - 21.9.2010, 3:52
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
DK__
сообщение 26.4.2010, 18:03


Ветеран
*****

Группа: Пользователи
Сообщений: 327
Регистрация: 21.10.2006
Из: Украина г. Чернигов
Пользователь №: 104 129
Модель телефона: MOTOSURF A3100
Прошивка: Windows Mobile

Рейтинг: 256.5



Цитата(FLAME NEON @ 24.4.2010, 18:56) *
Spoiler:

если кому надо 6.1 рус пишите выложу grin.gif
[close]


Нужна конечно же, выкладывай :). На днях должен приехать мой заказанный А3100 китаец, будем национализировать =).

Сообщение отредактировал @leks - 21.9.2010, 3:53
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
White_Bear
сообщение 10.5.2010, 20:30


Опытный
***

Группа: Пользователи
Сообщений: 129
Регистрация: 8.9.2009
Из: Пермский край
Пользователь №: 205 950
Модель телефона: ZN5 & RAZR MAXX
Прошивка: Брутальная

Рейтинг: 18.5



Цитата(FLAME NEON @ 24.4.2010, 18:56) *
Spoiler:

Наконец-то Собрал себе то, что хотел clapping.gif УРА!!!
Windows mobile 6.1 Profesional Russian build 20780
Огромное спасибо за проделанный труд и потраченное не в пустую драгоценное время и подробные разяснения чё к чему, и вобще самые благодарственные респекты какие только бывают многоуважаемому @leks, без его помощи ушло бы в десятки раз больше времяни для достижения достигнутого.

если кому надо 6.1 рус пишите выложу grin.gif
[close]



Ну же??? Выложи, плз )))

Сообщение отредактировал @leks - 21.9.2010, 3:53
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
White_Bear
сообщение 12.5.2010, 23:59


Опытный
***

Группа: Пользователи
Сообщений: 129
Регистрация: 8.9.2009
Из: Пермский край
Пользователь №: 205 950
Модель телефона: ZN5 & RAZR MAXX
Прошивка: Брутальная

Рейтинг: 18.5



Вопрос к гурам ))

Собрал 6.1 русскую (с лэнгом попарился немного). При включении тела вылазит калибровка экрана. Как отключить?

Сообщение отредактировал White_Bear - 13.5.2010, 0:00
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
@leks
сообщение 18.5.2010, 8:36


xakep
*****

Группа: Пользователи
Сообщений: 486
Регистрация: 11.3.2007
Из: Сургут
Пользователь №: 126 393

Рейтинг: 358



Цитата(White_Bear @ 13.5.2010, 5:59) *
Spoiler:

Вопрос к гурам ))

Собрал 6.1 русскую (с лэнгом попарился немного). При включении тела вылазит калибровка экрана. Как отключить?
[close]

Проверь папку автозапуска в папке виндовс и удали ярлык запуска велкома...
А в сборке удали строчку с сылкой на запуск welcome в файле initflashfiles.dat (находится в oem_lang)

Вот эта строчка в китайской прошивке
Код

Directory("\x005C\x0057\x0069\x006E\x0064\x006F\x0077\x0073\x005C\x0053\x0074\x0061\x0072\x0074\x0055\x0070"):-File("\x6B22\x8FCE\x4F7F\x7528\x002E\x006C\x006E\x006B","\Windows\welcome.lnk")


Сообщение отредактировал @leks - 21.9.2010, 3:54
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
White_Bear
сообщение 18.5.2010, 17:31


Опытный
***

Группа: Пользователи
Сообщений: 129
Регистрация: 8.9.2009
Из: Пермский край
Пользователь №: 205 950
Модель телефона: ZN5 & RAZR MAXX
Прошивка: Брутальная

Рейтинг: 18.5



спс огромное! )

@lex, а ты не мог бы выложить уже отредактированный initflashfiles.dat от китайской проши?

и линк на 0419 для 6.1... я нашёл какой-то, но что-то как-то кривоватенько )))

Сообщение отредактировал White_Bear - 18.5.2010, 17:35
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
[A3100] Основы создания прошивки, Курс молодого бойца · Motorola на Windows Mobile OS: MPx100, MPx200, MPx220, MPx300, Q, Q8, Q9c, Q9h, Q9m, Q11, SURF A3x00, ES400 · Forum
 

6 страниц V  1 2 3 > » 
Ответ в темуСоздание новой темы
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 28.3.2024, 14:46

Форум живёт: