Коммуник
http://communic.rx22.ru/

Создаём прошивку для Glofiish с нуля!
http://communic.rx22.ru/viewtopic.php?f=81&t=1947
Страница 1 из 1

Автор:  byferman [ 18 фев 2010, 17:28 ]
Заголовок сообщения:  Создаём прошивку для Glofiish с нуля!

Итак, мы имеем КМК Eten Glofiish, всевозможные официальные и неофициальные прошивки для него и много премного недовольств. Нас может не устраивать всё что угодно, начиная от банального графического оформления и заканчивая набором программ и драйверов. Значит пришла пора браться за дело и собирать СВОЮ СОБСТВЕННУЮ прошивку. Ту самую идеальную, красивую и неповторимую, какой мы хотим её видеть.
Многие товарищи почему то считают, что сборка или банальное редактирование прошивки - дело ужасно сложное, грозящее кучей проблем, неприятностей и (о ужас!!!) утратой аппарата, а людей, занимающимся этим делом (так называемых ромоделов) людьми по меньшей мере "избранными". Но всё это надуманно. Всё предельно просто. Итак, начнём.
Прежде всего нам требуется следующее:
- настольный ПК (с установленной на него ОС Windows XP (сервис-пак в данном случае особого значения не имеет), программой для синхронизации (ActiveSinc версией не ниже 4.5), установленными компонентами Java (скачать http://www.java.com/ru/), набор библиотек NetCompactFrameWork (желательно не ниже 3.5, скачать можно тут), любой HEX-редактор (на данный момент по моему скромному мнению самый подходящий - WinHex) и Active Perl (для чего нам это понадобится мы узнаем в дальнейшем - вот ссылочка на скачивание);
-утилиты для редактирования файла прошивки (KVA, XipKitchen, ImgfsTools, PackageTools, PackageCreator, InitEditor, RecMod, ReversMod и RegEditor)
- дата-кабель (желательно именно тот, который шел в стандартной комплектации с Вашим аппаратом, в противном случае любой другой кабель mini-USB-USB);
- наш аппарат E-ten Glofiish (работоспособный и готовый к любым поворотам судьбы)

Для начала рассмотрим что представляет из себя файл прошивки. Это как правило файл с расширением .bin или .dat. В некоторых случаях (ну к примеру прошивка оффициальная) он является установочным. Когда мы его запускаем, он делает следующее: копирует файлы программы-прошивальщика, сам файл прошивки и некоторые необходимые компоненты, которые нас не интересуют вот по этому адресу: C:\Documents and Settings\user\Local Settings\Temp. Нас прежде всего интересует именно файл прошивки. Он как было уже сказано имеет разрешение .dat или .bin и имеет имя temp. Вот его мы берём и копируем к примеру на рабочий стол.

Теперь нам потребуются утилиты, которыми мы будем работать с этим самым файликом. Для начала KVA. Это утилита, которая раскладывает файл прошивки на его составные компоненты. Забрасываем наш файлик temp.dat в папку KVA и запускаем файл "разобрать". Откроется окно командной строки и поползут разные буковки и циферки, которые нас особо не интересует. После того, как утилита отработает у нас появится папка ROM. Всё, прошивка разобрана на основные компоненты. Заходим в эту папку, открываем папку OS и рассмотрим каждый компонент по отдельности:
-Extrom - тут хранятся установочные файлы программ, предустановленныех фирмой-производителем нашего аппарата и сама программка-установщик. Помимо всего этого там хранится ещё текстовый файлик filesinfo.txt. Это обычный текстовый файл, в котором описанно всё содержимое extrom. Если мы планируем удалять из экстрома какое-то содержимое или всё подчастую, мы просто обязаны его переписать. Открываем его обычным блокнотом и дописываем или удаляем названия тех файлов которые добавляем или удаляем. Так-же в экстроме хранится картинка, которая отображается у нас при загрузке девайса startup.jpg. Её мы при желании можем заменить на свою. Одно условие: она обязательно должна иметь имя startup и иметь формат .jpg.
- FAT - вот тут хранятся самые главные компоненты нашей операционной системы. Рассмотрим подробнее каждый компонент.
Хip.bin - ядро, или, если хотите сердце операционной системы. Для каждого аппарата оно имеет разное содержание. Imgfs.bin - это файл, в котором хранятся все драйвера, программы и красивости операционной системы. fatimg.bin и fatheader.bin нас особо не интересуют. Это файлы адресаций, файловой разметки и т.п. Подробно рассматривать эти файлы мы не будем.

Немного подробнее о XIP. Как уже было сказано это так называемое ядро - важнейшая и неотъемлемая часть операционной системы. Мы его откроем и посмотрим, что находится внутри. Для этого воспользуемся утилитой XIP Kitchen. Так-же нам может понадобиться утилита для распаковки, ибо в некоторых случаях ядро сжимается особым сжатием XPRX. Итак заходим в папку утилиты. Нас интересует папка DumpRom. Помещаем туда файл XIP.bin и нажимаем "распаковать". В итоге получаем папку XIP и файл romhdr.bin. Заходим в эту папку и видим модули из которых состоит наше ядро. Модули cecompr.dll, ceddk.dll, FlashDrv.dll, nk.exe, и relfsd.dll являются девайсозависимыми и обновляются только фирмой изготовителем нашего девайса при выходе новой официальной версии прошивки. Набор остальных модулей может быть различен и зависит как правило от версии прошивки (или билда операционной системы). Файлы с длинными, страшными именами наподобие 723fb954-d931-4348-b672-82a188e587b5.dsm- это составные части реестра ядра (по сути их содержимое - обычные ветки реестра). Каждый такой файл при сборке операционной системы вносит в общий системный реестр свои записи. Файл romhdr.bin отвечает за правильную сборку ядра. После всех манипуляций с ядром (а мы их рассмотрим ниже) мы вырежем папку XIP и вышеуказанный файл и переместим их в папку BuildXip\rom, затем запустим файл собрать.bat. На выходе получаем файлик ксипа, переименуем его в xip.bin и ставим его на место в папку kva\ROM\OS\FAT.

Теперь о imgfs.bin. Для его распаковки мы будем использовать утилиту Imgfs_Tools, которую можно скачать ОТСЮДА. Копируем (именно копируем а не перемещаем, ибо этот файлик нам ещё в дальнейшем понадобится) наш imgfs.bin в папку программы и запускаем файл 1.bat. После того как утилита отработает мы получим папку dump. Дампом называют грубо говоря кучу файлов операционной системы сваленных в одну папку. Для решения простейших задач как-то замена рисунка заставки, рисунков оформления и т.п. мелочи наша ОС в принципе готова. Однако для добавления в неё каких либо программ, изменения драйверов и т.п. серьёзных софтовых нововведений нам необходимо разложить наш дамп на пакеты. Утилиту для этого "packages tools" мы скачиваем ТУТ. Берём нашу папку с дампом и перемещаем её в папку утилиты. Запускаем PKGTool.exe. В File Open выбираем папку с нашим дампом и жмём Tools Build Pack. В папке Dump получаем две папки SYS и OEM. В некоторых случаях (если редактируемая прошивка неофициальная, защищённая или собрана с помощью специальных утилит) мы помимо этих двух папок можем получить в придачку несколько файликов. В таком случае эта прошивка непригодна для пересборки. Но задача то перед нами стоит совсем не изменение или редактирование чужой прошивки (мы уважаем авторское право и заниматься этим не будем ), а сборка своей собственной.
Итак, что есть что. Откроем и рассмотрим папку ОЕМ. В ней содержатся все драйвера и базовые программы, которые производитель напихал в своё устройство. В папке OEM_DPI_192 будет содержаться всего один файл - a614f69e-fa67-49f3-9597-20e04ce0b1b0.dsm. Это файл реестра ОЕМ. В папке OEM_Lang_0419 будет содержаться несколько файлов-шаблонов для заметок, файл базы данных (его не трогаем) и соответственно dsm. Теперь OEMDrivers. Самая интересная Вот тут-то у нас и хранится всё то, от чего зависит работоспособность нашего зверька. Папки, имеющие имена и расширения файлов называются модулями. Подавляющее большинство модулей ни изменять, ни удалять нельзя. А вот файлы типа Camera.exe.0409.mui и т.п. (это файлы языковых библиотек и если Вам не нужна - в данном случае камера - на английском (0409.mui), немецком (0413.mui) или не дай Бог китайском (0810.mui) а исключительно на русском (0419.mui) их можно спокойно удалять.
Теперь можно перейти в папку SYS (содержимое операционной системы). В глаза сразу бросаются папки .VM и .ROM. Эти важнейшие папки мы трогать не будем... Ну а всё остальное содержимое можно условно разделить на пять категорий:
1.Категория Common - в неё входят основные элементы операционной системы: BaseApps, BaseAppsFiles, Bluetooth, bronze (исключительно в Windows mobile 6.5 - это элемент всем известного плагина рабочего стола Titanium), BronzeNonEA (окончания ...NonEA или ...EA в данном случае указывают на то, будут ли данные элементы работать с азиатскими шрифтами "...EA" или нет "...NonEA"), BROWSING и т.п модули без каких либо приставок в конце имён.
2.Категория DPI - в неё входят модули, отвечающие за нормальное отображение программ на дисплее нашего устройства, т.е. задают необходимое разрешение для всех элементов(для примера DPI_96 соответствует режиму QVGA a DPI_192 - VGA).
3.Категория DPI_192_RESH__RESV_. Дополнения к модулям разрешений. Их как правило совсем немного.
4.Категория Lang. Это всё те-же, уже знакомые нам языковые библиотеки. Таблицу соответствия номеру-языкам можно посмотреть в приложении №1.
5.Категория Lang_DPI_ и Lang_DPI_RESH_RESV_ - дополнения к языковым модулям. Отвечают за нормальное отображение шрифтов в данном разрешении. Более близко ознакомиться с назначениями модулей Common можно в приложении №2.

Итак, подведём итоги. Теперь мы знаем все фундаментальные понятия и термины ОС, имеем представление о том, из чего состоит наша прошивка, знаем какими программами будем пользоваться для распаковки и запаковки а так же назначения основных модулей и их дополнений. Можно смело браться за создание своей прошивки из чистых пакетов, которые нам любезно предоставляет Майкрософт Статья конечно будет ещё дополняться и расширяться. Технический прогресс, как говориться не стоит на месте. Инженеры-любители, ребята-программисты с каждым днём изучения операционной системы делают замечательные открытия, познавая то, над чем работали сотни программистов и инженеров компании Майкрософт. Я хотел бы выразить огромную благодарность всем этим энтузиастам за их труд, их терпение и отзывчивость. Низкий поклон вам, ребята и уважение!

Автор Андрей Юрьевич aka Specialist
Источник http://aserpc.ru

Автор:  Specialist [ 13 окт 2010, 16:16 ]
Заголовок сообщения:  Re: Создаём прошивку для Glofiish с нуля!

Во-первых укажите пожалуйста реального автора статьи (а это я, Андрей Юрьевич aka Specialist) а во-вторых для копипаста не забывайте указывать первоисточник (http://www.acerpc.ru). Убедительная просьба, господа модераторы не удаляйте пожалуйста этот топик и не сочтите за рекламу адрес этого самого первоисточника. Спасибо.
С ув. к ресурсу Андрей aka Specialist.

Автор:  serg31 [ 17 окт 2010, 17:28 ]
Заголовок сообщения:  Re: Создаём прошивку для Glofiish с нуля!

Specialist
Ок,сделано

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/