Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форумы PDA2U.RU _ Создание прошивок _ WM6.5 для Eten M600+

Автор: relax 3.11.2009, 13:10

Здравствуйте, открываю тему в надежде на помощь в портировании!
______________________________________________________________
Значит имеем рабочую 6 и донора 6.5 5.2.23001 aku 5060

Что я делаю:
Прошивка в формате temp.dat, разбираю ее утилитой KVA, прошивка распаковывается, нас интересуют части XIP и IMGFS которые находятся в папке ..\KVA\ROM\OS\FAT
_______________________________________________________________
..Портирую XIP с помощью утилит : XIPPort и EXTReloc этим способом:

Код
########################  Теперь немного о работе с XIP'ом.    #########################


1. Запускаем XIPPort("Import XIPPort")
2. Дампим XIP'ы(родной и донора)
3. Меняем папки OEMXIPKERNEL,переписываем ROMHDR.txt родной. Также родные .VM и .ROM,
   должны быть в папке с IMGFS.
4. Кнопки открытия и сохранения .VM и .ROM не обязательны, если просто хотите открыть -
   посмотреть(отредактировать) границы.
5. Когда собрали все папки и удалили ненужные модули, жмем "Realloc V(DLL)" -
   отрелочатся модули в слоте 1 и их RW-секции в 0м слоте.
   При этом адрес physlast увеличится на 0х100000. Это сделано для того, чтобы XIPPort
   сумел разместить новые модули в адресном пространстве physfirst-physlast родного
   ROMHDR. XIPPort не умеет сам отодвигать в большую сторону эту границу, поэтому если
   пространства не  хватает, то он об этом явно скажет - "Not enough space".
6. Жмем в XIPPort "Realloc P". XIPPort поправит dataptr модулей и заполнит
   physfirst-physlast. Если напишет "Unknown o32 region flags: d0000040", то здесь
   ничего страшного, просто XIPPort "не понимает" секцию с флагом IMAGE_SCN_MEM_SHARED,
   и ругается, но никаких проблем не возникает - релок проходит нормально.

************* ВАЖНО - операции обязательны!!! **************************************

7. Теперь нам нужно поджать границу physlast. !!!Обязательно!!! -  Жмем "Write map.txt"
   в XIPPort.
8. После того, как записали новую карту, двойной клик на ячейке "physlast" - утилита
   вытащит  последний реальный адрес в пространсве physfirst-physlast из MAP.txt и
   подставит  в ячейку  "physlast"

********************************************************************************
****

9. Теперь релочим NK.EXE и т.п  - кнопка "Realloc NK.EXE..."
10. Последний раз жмем  "Realloc P".
11. Смотрим карту  "Write map.txt" - "View MAP.txt", если пересечений нет, границы все
    на месте, то жмем  "Build xip_out.bin".

   Все XIP готов.


Также перед тем как собрать XIP я добавляю правки в boot.rgu и boot.hv
Код
В случае 6.1 - надо обязательно надо добавить В boot.hv, boot.rgu строки:
[HKEY_LOCAL_MACHINE\init]
"Launch19"="initvmmap.exe"

[HKEY_LOCAL_MACHINE\System\Loader]
"EnableUpperModules"=dword:1

[HKEY_LOCAL_MACHINE\SYSTEM\Loader\DeviceStacks]
"LoadHigh"=dword:1

И initvmmap.exe должен существовать


Вопрос в случае с 6.5 достаточно только этих правок?

Собираю XIP перемещаю его в папку с KVA
________________________________________________________________________________
________________
Работа с IMGFS

Разбираю imgfs от wm6 спомощью imgfstools, далее разбиваю по пакетам(OEM и SYS) из SYS...удаляю все кроме папок .VM и .ROM и реестра user.hv и default.hv, папку OEM оставляю не тронутой...
Беру SYS WM 6.5 , перемещаю вcе кроме папок .VM и .ROM, делаю G'Reloc, собираю пакеты в dump, кидаю в dump наш реестр ( user.hv и default.hv) и файл packages.sof, собираю imgfs также с помощью imgfstools, кидаю imgfs.bin в папку с KVA...собираю прошивку, на выходе получаю файл temp.dat прошиваю девайс, шьется нормально, при загрузке висит на bootlogo, реагирует на ХР...но висит.
Что делаю не так?

Автор: relax 8.11.2009, 21:02

никто не может подсказать...?

Русская версия Invision Power Board (http://nulled.cc)
© Invision Power Services (http://nulled.cc)