![]() |
|
|
![]() ![]() |
![]() |
![]()
Сообщение
#61
|
|
PDA2U.RU Team ![]() ![]() ![]() ![]() Группа: Admin Сообщений: 4884 Регистрация: 25.11.2007 Из: СПб Пользователь №: 32 Спасибо сказали: 1657 раз(а) Девайс:RW6815/P320/Diamond ![]() |
На самом деле, все равно собирался давно переписать свои инструкции по портированию XIP (устарели и не соответсвуют реальности). Впрочем, у вас же есть доступ к закрытому разделу, я там писал значительно более общий вариант по портированию прошивок. Чую, если завтра пива накушаюсь, напишу "записки кулхацкера"... (IMG:http://forum.pda2u.ru/style_emoticons/default/biggrin.gif)
В общем, портировать XIPы не просто, а очень просто. Собственно, как и прошивки в целом ... |
![]() |
|
![]()
Сообщение
#62
|
|
![]() Проверенный пользователь ![]() ![]() ![]() ![]() Группа: Разработчики Сообщений: 360 Регистрация: 12.1.2008 Из: раснодар Пользователь №: 204 Спасибо сказали: 45 раз(а) Девайс: НР rw6815 ![]() |
В общем, портировать XIPы не просто, а очень просто. согласен! у меня это занимает 10 минут, если никто не отвлекает и все идет нормально. а если что-то ни так, то и 3-4 часа могу сидеть... в этом случае лучше сразу искать другой хип (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif) |
![]() |
|
![]()
Сообщение
#63
|
|
![]() Умничка ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 1151 Регистрация: 9.1.2008 Из: Москва Пользователь №: 184 Спасибо сказали: 573 раз(а) Девайс:Samsung WiTu 8G ![]() |
Прошу опишите все в подробных диталях как портировать хип для HP rw6815 ! Заранее благодарен!
|
![]() |
|
![]()
Сообщение
#64
|
|
PDA2U.RU Team ![]() ![]() ![]() ![]() Группа: Admin Сообщений: 4884 Регистрация: 25.11.2007 Из: СПб Пользователь №: 32 Спасибо сказали: 1657 раз(а) Девайс:RW6815/P320/Diamond ![]() |
Прошу опишите все в подробных диталях как портировать хип для HP rw6815 ! Заранее благодарен! Именно это я тебе сегодня и опишу (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif) Там ничего сложного или хитрого нет. |
![]() |
|
![]()
Сообщение
#65
|
|
PDA2U.RU Team ![]() ![]() ![]() ![]() Группа: Admin Сообщений: 4884 Регистрация: 25.11.2007 Из: СПб Пользователь №: 32 Спасибо сказали: 1657 раз(а) Девайс:RW6815/P320/Diamond ![]() |
Еще раз о портировании XIP
Написал небольшую дополнительную инструкцию. ОБЯЗАТЕЛЬНО дополнительно читаем Разбираем XIP и Портирование XIPа с HP RW6815 на Ровер G5/Орсио N725. Итак, поехали: 1. Получаем донорский XIP тем или иным способом в виде xip.bin Если найденный файл XIPа уже называется xip.bin, то все отлично. Если файл xip_out.bin, просто переименовываем его в xip.bin. Если нужный XIP зашит в прошивку для какого-либо устройства, берем кухню под это устройство и в соответствии с инструкциями от кухни извлекаем xip.bin. Если XIP уже в разобранном виде, то идем дальше по нашей инструкции к соответствующему шагу. 2. Разбираем донорский XIP и меняем аппаратно-зависимые части 2.1. Кидаем файл xip.bin в папку с нужными инструментами (рис. 1). Нам понадобятся: - XIPPort (XIPPort.exe + pkgcommon.dll) - для выполнения всех операций с XIP - M'Reloc (M'Reloc.exe) - для релока аппаратных модулей нашего устройства 2.2. Запускаем XIPPort, последовательно нажимаем кнопки "dump xip.bin", "write maps" и "make pkgs" (рис. 2). После этого в папке с инструментами и xip.bin появится подпапка разобранного XIPа: OUT. Делаем ее резервную копию целиком как есть (упрощаем себе жизнь, сохраняем вариант уже разобранный на пакеты и с оригинальной картой распределения памяти и т.д.) 2.3. После этого жмем в XIPPort кнопку "undo", чтобы вернуть структуру подкаталогов XIPа (FILES и MODULES) в линейный вид. 2.4. Абсолютно аналогичные п.п. 2.1-2.2 операции проделываем над XIPоп от своего устройства (далее будет называть его родным XIPоп) в другой папке. Получим свой родной разобранный по пакетам XIP. 2.5. Теперь проделываем сильно хитрые и сложные операции по удалению из донорского XIPа аппаратно-зависимых файлов(IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif) Запускаем двухпанельных файловый менеджер, открываем на одной панели основную подпапку OUT разобранного донорского XIPа, а на другой панели - его резервную копию. Переходим в подпапки FILES и там и там (рис. 3). Входим в резервной копии в подпапку OEMXIPKernel и удаляем из разобранного донорского XIPа те файлы, которые были отображены в подпапке OEMXIPKernel. Полностью аналогичную операцию проделываем с подпапкой MODULES, т.е. открываем донорский XIP и его резервную копию, в резервной копии входим в OEMXIPKernel и удаляем из разобранного донорского XIP те папки и файлы, которые увидели в резервной копии в папке OEMXIPKernel. 2.6. Дальше проделываем операции добавления аппаратно-зависимых частей из родного XIPа в донорский. Для этого на одной панели открываем донорский XIP в подпапке OUT, на другой - родной XIP разобранный на пакеты в той же папке OUT. Идем в родном и донорском в подпапку FILES, далее в родном идем в подпапку аппаратно-зависимых файлов (для HP RW6815 это подпапка 1f23b941-38f8-def5-83a6-b0a8eadaa267, в общем случае все тот же OEMXIPKernel). Совершенно аналогично действуем с MODULES, т.е. копируем аппаратно-зависимые модули в донорский XIP. 3. Меняем настройки и делаем релокацию модулей в донорском XIPе 3.1. Копируем настройки распределения памяти из родного XIPа из OUT\romhdr.txt из начала файла до строки ulRAMEnd в донорский XIP в такой же файл: dllfirst: D=01F901FD dlllast: 02000000 physfirst: P=9AC00000 physlast: 9AFB5500 nummods: (00000000) ulRAMStart: R=80580000 ulRAMFree: 805E2000 ulRAMEnd: 84000000 3.2. Меняем пока physlast на 9AFFFFFF, чтобы избавиться от проблем при автоматическом релоке. 3.3. В XIPPort над донорским XIPом жмем кнопку "realloc P" и далее "write maps". 3.4. Открываем в донорском XIPе файл OUT\map.txt и смотрим его на наличие строк восклицательных знаков означающих наличие пересечений в первых двух секциях до строки "80580000 - 80580000 L00000000 Start: start of RAM". Если они есть, то запускаем M'Reloc.exe и двигаем модули с дополнительной ручной правкой imageinfo.txt. В отличие от использования M'Reloc_nk.exe, ничего ручками пересчитывать не нужно, просто вводим сразу целевые значения. Принципы сдвигов и что именно сдвигать подробно описаны по ссылкам в начале данного сообщения. Делаем нужное число раз "realloc P" и "write maps", опять открываем map.txt, пока не уберем все пересечения. 3.5. Пересечения убраны, все Ок. Смотрим в самый конец map.txt: 9aec0cd0 - 9aec4675 L000039a5 filedata sysroots.p7b 9aec4675 - 9affffff L0013b98a NUL 9affffff - 9affffff L00000000 End: highest physical address 3.6. Правим в ROMHDR.txt physlast на 9aec4675, чтобы убрать лишнее место. Только лучше для красоты чуть округлить значение, например, до 9aec4680. Опять делаем "realloc P" и "write maps" открываем map.txt. Смотрим последний раз на наличие восклицательных знаков и т.д. 3.7. Ищем в map.txt строку с "rom_00 header", видим примерно это: 9ad6da9c - 9ad6daf0 L00000054 rom_00 header: dlls=01f901fd-02000000 phys=9ac00000-9aec4680, 23 modules, 11 files, 2 copyentries ext=9ac02b5c ram=80580000-84000000 cputype=000001c2 3.8. Первое значение в данной строке - 9ad6da9c - начало XIPа, которое надо прописать в s000 nk.exe. Для этого идем в MODULES\nk.exe, открываем через hex-редактор s000 и правим по смещению 1788h адрес начала XIPа (это для HP RW6815, для других устройств - см. по ссылкам, как определять), т.е. начиная со смещения 1788h прописываем четыре байта смещения в обратном порядке записи - 9C DA D6 9A для смещения 9ad6da9c. 3.9. Наконец-то жмем кнопку "build xip_out.bin" в XIPPort и получаем наш новый XIP. Все, далее закидываем наш новый XIP в файл рома (для 6815 с помощью XIPPort в diskimage_Ver.nb0 по смещению 180000) --- Siemens92, на всякий случай приложил портированный тот ксип, который указывал (21032). Но можешь попробовать сам портировать (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif)
Прикрепленные файлы
![]() ![]() ![]() ![]() |
![]() |
|
![]()
Сообщение
#66
|
|
![]() Умничка ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 1151 Регистрация: 9.1.2008 Из: Москва Пользователь №: 184 Спасибо сказали: 573 раз(а) Девайс:Samsung WiTu 8G ![]() |
Спасибо,что портировал на попробовать портануть самому уже ссе понятно! (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif) Спасибо (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif)
|
![]() |
|
![]()
Сообщение
#67
|
|
![]() Проверенный пользователь ![]() ![]() ![]() ![]() Группа: Разработчики Сообщений: 360 Регистрация: 12.1.2008 Из: раснодар Пользователь №: 204 Спасибо сказали: 45 раз(а) Девайс: НР rw6815 ![]() |
лишнее (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif)
Сообщение отредактировал Angel_Hranitel - 12.3.2009, 23:44 |
![]() |
|
![]()
Сообщение
#68
|
|
PDA2U.RU Team ![]() ![]() ![]() ![]() Группа: Admin Сообщений: 593 Регистрация: 28.12.2008 Пользователь №: 8030 Спасибо сказали: 175 раз(а) Девайс:HTC Desire HD ![]() |
|
![]() |
|
![]()
Сообщение
#69
|
|
![]() Проверенный пользователь ![]() ![]() ![]() ![]() Группа: Разработчики Сообщений: 360 Регистрация: 12.1.2008 Из: раснодар Пользователь №: 204 Спасибо сказали: 45 раз(а) Девайс: НР rw6815 ![]() |
подходит ли xip WM6.0 к WM6.1 или его надо с "бубном" портировать?
|
![]() |
|
![]()
Сообщение
#70
|
|
![]() Новичок ![]() Группа: Members Сообщений: 6 Регистрация: 3.3.2008 Пользователь №: 689 Спасибо сказали: 1 раз(а) ![]() |
Скажите, если я засовываю в xip какую-нибудь dll или exe не относящуюся изначально к этой области, обязательно ли вносить в rgu ксипа информацию об этом объекте? Или можно оставить эту инфу в imgfs? Хочу посмотреть, а что будет если кое-что из imgfs засунуть в xip ? Например gwes.exe, будет ли работать " in place " ? Никто не пробовал экспериментировать?
............................................ Эксперимент с gwes.exe провалился (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif) Аппарат не грузится. Сообщение отредактировал Eddis - 2.4.2009, 6:14 |
![]() |
|
![]()
Сообщение
#71
|
|
Опытный пользователь ![]() ![]() ![]() Группа: Разработчики Сообщений: 110 Регистрация: 1.3.2009 Из: Амурская область, г.Благовещенск Пользователь №: 13018 Спасибо сказали: 96 раз(а) Девайс:HTC ARTEMIS ![]() |
может уважаемый AGC и Khumen объяснят что я делаю не так:
беру XIP 21202 - беру XIP 21198 пытаюсь портировать с помощью XIPKitchen ( которая все автоматом делает ) - все собирается ( ставлю галочки Remove - hd.dll osaxst0.dll cachefilt.dll mencfilt.dll ). Сравниваю с XIPом который есть в последней прошивке 21202 от Khumen'a - размеры разные - мой 2560138 bytes, у Khumen'a - 2621440. Дамплю XIP Khumen'a - в папке MODULES\OEMXIPKernel всего 6! модулей - остальных ( как в родном ) нету ... В чем загвоздка ... |
![]() |
|
![]()
Сообщение
#72
|
|
PDA2U.RU Team ![]() ![]() ![]() ![]() Группа: Admin Сообщений: 4884 Регистрация: 25.11.2007 Из: СПб Пользователь №: 32 Спасибо сказали: 1657 раз(а) Девайс:RW6815/P320/Diamond ![]() |
misterfix, разные размеры, в принципе, могут быть (в т.ч. по разным причинам, например, ты сравниваешь размер своего собранного с вырезанным из прошивки по предельному размеру, т.е. всей секции XIPа). К сожалению, автоматическую сборку XIPов ни разу не пробовал. Я ручками портирую все время (собственно, процесс занимает минут пять). А зашиваться со своим новым XIPом ты пробовал? Он работает? Если да, то и не мучай голову (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif) Просто для XIPов источники и т.п. могут быть разными...
Что касается разборки версии Khumen-а, кинь выдранный XIP, я посмотрю его обычным XIPPort-ом. Или попробуй сам натравить на него XIPPort... Скажите, если я засовываю в xip какую-нибудь dll или exe не относящуюся изначально к этой области, обязательно ли вносить в rgu ксипа информацию об этом объекте? Или можно оставить эту инфу в imgfs? Хочу посмотреть, а что будет если кое-что из imgfs засунуть в xip ? Например gwes.exe, будет ли работать " in place " ? Никто не пробовал экспериментировать? ............................................ Эксперимент с gwes.exe провалился (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif) Аппарат не грузится. Так а принцип XIP работает вроде не только в самом XIPе (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif) На самом деле, на мой взгляд, называть эту область XIPом не совсем корректно, что-нибудь типа ядра или загрузчика... Но так уж сложилось... подходит ли xip WM6.0 к WM6.1 или его надо с "бубном" портировать? Без бубна, просто портируем (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif) Это с WM5 могут быть проблемы, если в nk.exe сидит проверка на версию CE 5.1. А WM6/WM6.1/WM6.5 - это все CE 5.2. Т.к. nk.exe у нас всех сильно старый, то вряд ли там будет сидеть аналогичная WM5 проверка. |
![]() |
|
![]()
Сообщение
#73
|
|
Опытный пользователь ![]() ![]() ![]() Группа: Разработчики Сообщений: 110 Регистрация: 1.3.2009 Из: Амурская область, г.Благовещенск Пользователь №: 13018 Спасибо сказали: 96 раз(а) Девайс:HTC ARTEMIS ![]() |
AGC
дело тут вот в чем - собираю тоже вручную по инструкции с 4pda - здесь к сожалению я так толковой инструкции по портированию ксипа не увидел ( если разберусь обязательно напишу для нубов ). Так вот разобранный ксип Кхумена содержит ГОРАЗДО меньше модулей чем оригинальный ксип 21202 |
![]() |
|
![]()
Сообщение
#74
|
|
PDA2U.RU Team ![]() ![]() ![]() ![]() Группа: Admin Сообщений: 4884 Регистрация: 25.11.2007 Из: СПб Пользователь №: 32 Спасибо сказали: 1657 раз(а) Девайс:RW6815/P320/Diamond ![]() |
AGC дело тут вот в чем - собираю тоже вручную по инструкции с 4pda - здесь к сожалению я так толковой инструкции по портированию ксипа не увидел ( если разберусь обязательно напишу для нубов ). Так вот разобранный ксип Кхумена содержит ГОРАЗДО меньше модулей чем оригинальный ксип 21202 Боюсь, ты что то делаешь не так. Специально скачал прошивку, выдрал XIP и разобрал его XIPPort-ом. С ним все Ок. Либо проблема в том, как ты выдрал XIP, либо как ты его разбираешь. В аттаче выдранный XIP 21202 от прошивки Khumen-а.
Прикрепленные файлы
|
![]() |
|
![]()
Сообщение
#75
|
|
PDA2U.RU Team ![]() ![]() ![]() ![]() Группа: Admin Сообщений: 4884 Регистрация: 25.11.2007 Из: СПб Пользователь №: 32 Спасибо сказали: 1657 раз(а) Девайс:RW6815/P320/Diamond ![]() |
misterfix, вот, собрал тебе маленький наборчик для извлечения и разборки XIP на HTC 3300/3350:
1. Грузим из аттача набор инструментов и распаковываем 2. Кидаем RUU_signed.nbh в папку с набором инструментов 3. Запускаем Extract_XIP.bat. 4. Все, автоматически вытащиться файл ОС 00_OS.nb и из него xip.bin, после этого запустится XIPPort. 5. Жмем dump xip.bin 6. Жмем write maps 7. Жмем make pkgs Теперь имеем в подпапке Out разобранный на пакеты XIP. Ну и далее делаем с ним то, что хотим...
Прикрепленные файлы
|
![]() |
|
![]()
Сообщение
#76
|
|
Опытный пользователь ![]() ![]() ![]() Группа: Разработчики Сообщений: 110 Регистрация: 1.3.2009 Из: Амурская область, г.Благовещенск Пользователь №: 13018 Спасибо сказали: 96 раз(а) Девайс:HTC ARTEMIS ![]() |
misterfix, вот, собрал тебе маленький наборчик для извлечения и разборки XIP на HTC 3300/3350: Спасибо. Только вопрос про модули в XIP'e от Khumen'a остался открытым. При разборе os.nb ( из кухни 21202 ) утилой nbwork выдирается xip размером в 2 621 440 bytes ( может утила неправильно извлдекает XIP, но тогда бы он не разбирался правильно на пакеты ), тот который выложил ты постом выше имеет размер 2 596 742 bytes, тот который я сейчас портировал - вообще 2 650 624 ( разница в файлах - 723fb954-d931-4348-b672-82a188e587b5.dsm d92a4f0a-378a-4482-8fd3-bd127a05e4de.dsm cachefilt.dll fatutil.dll filesys.exe initvmmap.exe mencfilt.dll ( в ксипе Кхумена такого модуля вообще нет ) pm.dll вот как то так. Попробую сейчас приложить файл киспа который пересобрал я. По map.txt я проверил - ошибок нет. Сейчас еще прогоню через XipKitchen Beta2 ( которая автоматом портирует ксипы ). Вот мой пересобранный ксип ( 21202 ) - http://www.rapidshare.ru/1000819 |
![]() |
|
![]()
Сообщение
#77
|
|
PDA2U.RU Team ![]() ![]() ![]() ![]() Группа: Admin Сообщений: 4884 Регистрация: 25.11.2007 Из: СПб Пользователь №: 32 Спасибо сказали: 1657 раз(а) Девайс:RW6815/P320/Diamond ![]() |
misterfix, а в моих последних ксипах, например, вообще нет cachefilt.dll, initvmmap.exe и mencfilt.dll. Я их все скопом просто выбрасываю (cachefilt.dll, hd.dll, initvmmap.exe, mencfilt.dll, mencfilt.dll.txt и osaxst0.dll). А разница в других файлах при бинарном сравнении возможна, т.к. XIP мог портироваться из разных источников...
В общем, не знаю, что тебе сказать. По-моему, есть лишь один критерий истины - результат (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif) Работает, так и не забивай себе голову. Если не работает, тогда действительно надо разбираться, что сделано не так. |
![]() |
|
![]()
Сообщение
#78
|
|
PDA2U.RU Team ![]() ![]() ![]() ![]() Группа: Admin Сообщений: 4884 Регистрация: 25.11.2007 Из: СПб Пользователь №: 32 Спасибо сказали: 1657 раз(а) Девайс:RW6815/P320/Diamond ![]() |
Вот мой пересобранный ксип ( 21202 ) - http://www.rapidshare.ru/1000819 Посмотрел, навскидку - нормально. Багов в map.txt напрямую не видно, адрес начала рома в nk.exe забит вроде правильно. Единственное, т.к. уже потер все XIP от этих девайсов, не проверял адреса в ROMHDR.txt. Если там dllfirst, dlllast, physfirst, ulRAMStart, ulRAMFree, ulRAMEnd адекватны устройству и сами аппаратные модули и файлы взяты от своего девайса, то вроде должен нормально работать. На мой взгляд, вполне можно проверять практикой (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif) Отличная работа! |
![]() |
|
![]()
Сообщение
#79
|
|
![]() Проверенный пользователь ![]() ![]() ![]() ![]() Группа: Разработчики Сообщений: 350 Регистрация: 20.4.2008 Из: Омск Пользователь №: 1143 Спасибо сказали: 57 раз(а) Девайс:Motorola Defy ![]() |
Замена в XIPe nk.exe на другой возможна? И что это даст?
Я всегда когда портировал использовал нативный.. |
![]() |
|
![]()
Сообщение
#80
|
|
PDA2U.RU Team ![]() ![]() ![]() ![]() Группа: Admin Сообщений: 4884 Регистрация: 25.11.2007 Из: СПб Пользователь №: 32 Спасибо сказали: 1657 раз(а) Девайс:RW6815/P320/Diamond ![]() |
Замена в XIPe nk.exe на другой возможна? И что это даст? Я всегда когда портировал использовал нативный.. (IMG:http://forum.pda2u.ru/style_emoticons/default/biggrin.gif) Оно, конечно, возможно, только если ты сам перепишешь nk.exe под свое устройство. Либо возьмешь его от ПОЛНОГО клона. Это, собственно, и есть аппаратно-зависимое ядро. |
![]() |
|
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 10.4.2025, 2:19 |