Budowa i modyfikacja WM dla HTC Himalaya

  • 8 Odpowiedzi
  • 8883 Wyświetleń

0 użytkowników i 1 Gość przegląda ten wątek.

*

nokser

Budowa i modyfikacja WM dla HTC Himalaya
« dnia: Luty 16, 2009, 16:05:21 »
Witam z faktu, że moje prace nad Os-em do Himalay-i, zostały wstrzymane, postanowiłem napisać lekki kursik o gotowaniu na to nasze stare, ale aktywne urządzenie. Wszystkie narzędzia i polecenia, tyczą się tylko tego urządzenia. Jeżeli nie chociaż podstawowo się na tym nie znasz, nie zaczynaj poniższej modyfikacji pamięci ROM. Powiedzmy, że dany Tutorial, jest przeznaczony dla użytkowników zaawansowanych, bądź młodych kuchcików. Zaczynając kuchcenie, musimy pamiętać o rozsądnym myśleniu, i zanim wgramy jakikolwiek ROM, naszego autorstwa, musimy być pewni, że dokonaliśmy odpowiedzialnych zmian. Zacznijmy!!! :ok:



KOMPATYBILNE:
O2 XDA II, T-Mobile MDA II, Qtek 2020, iMate Phone Edition, TSM500, and other PH10 variants


1)Kuchenka:

Dla ułatwienia pracy, stworzymy sobie lekką aplikację, opartą na konsoli (wierszu poleceń). Wiec, otwieramy dowolny Edytor Tekstu, który posługuję zapis pliku tekstowego w formacie ->* .bat, *.cmd, *.nt  (U mnie jest to NOTEPAD++)

Otwieramy dany nam edytor i wpisujemy ciąg poleceń:

@echo off
:intro
cls
echo.
echo.
echo.
echo.           Przeznaczone dla Modeli:
echo.                O2 XDA II, T-Mobile MDA II, Qtek 2020,
echo.                iMate Phone Edition, TSM500, and other PH10 device
echo.
echo.
echo.
echo.
pause
cls
:phone
echo.
echo.
echo. [1] - ROM To dump
echo. [2] – REGISTRY .dv To .rgu
echo. [3] – Change Initflashfiles
echo. [4] - Dump ROM To NK.NBF
echo.
echo.
echo.
echo.
Set /P Choice=Wybierz :
IF '%Choice%'=='1' GOTO :1
IF '%Choice%'=='2' GOTO :2
IF '%Choice%'=='3' GOTO :3
IF '%Choice%'=='4' GOTO :4
IF '%Choice%'=='' GOTO :EXIT
set choice=
GOTO :INTRO
====================================================================
:1
cls
echo.
set choice=
echo. w trakcie pracy...
title Konwertowanie Obrazu Systemu.....
TOOLS\xda2nbftool -x nk.nbf nk.nba 0x20040304
echo.
pause
title Przygotowanie Plikow Systemowych.....
TOOLS\prepare_imgfs.exe nk.nba
echo.
pause
title Dump Systemu..............
TOOLS\viewimgfs.exe imgfs_raw_data.bin
pause
set compatible=yes
echo. Done!
GOTO :PHONE
====================================================================
:2
cls
echo.
set choice=
echo.
echo.
 set _FLATRELEASEDIR=.\dump
 TOOLS\rgucomp.exe -nologo -o dump\default.hv >default.rgu
 TOOLS\rgucomp.exe -nologo -o dump\user.hv >user.rgu
echo.
echo.
echo.
echo.
echo.
echo.
echo      ... 
echo.
pause
copy default.rgu TOOLS\For default.hv\boot.rgu
 TOOLS\For default.hv\boot_rgu__default_hv.bat
move TOOLS\For default.hv\default.hv dump\default.hv
set compatible=yes
echo. Done!
GOTO :PHONE
==================================================================================
:3
cls
echo.
set choice=
mkdir INITFLASHFILES
 copy dump\initflashfiles.dat initflashfiles.dat.txt
initflashfiles.dat.txt
echo.Change this TXT.
echo. save to ....
pause
 attrib dump\initflashfiles.dat -r -h
 del dump\initflashfiles.dat
 copy initflashfiles.dat.txt dump\initflashfiles.dat
 attrib dump\initflashfiles.dat +r
 echo.
set compatible=yes
echo. Done!
GOTO :PHONE
==================================================================================
:4
cls
echo.
set choice=
title Skladanie Obrazu Systemu....
echo. w trakcie pracy...
echo.
TOOLS\BuildImgfs.exe
TOOLS\make_imgfs.exe nk.nba
TOOLS\xda2nbftool.exe -c -u nk.nba
TOOLS\xda2nbftool.exe -x nk.nba nk.nbf 0x20040304
@move nk.nbf Upgrade\nk.nbf
@CD .\Upgrade\
@HimaUpgradeUt_noID.exe
DEL Upgrade\nk.nbf
set compatible=yes
echo. Done!
GOTO :PHONE


Zapisujemy plik w formacie -> * .bat - nazywamy jakoś np. Cook_Rom


*Pamiętajmy o tym, że proces ten będziemy powtarzać w celu rozbudowania  w\w wiersza..


Info:

-> [1] - ROM To dump - rozkłada nasz ROM - czyli plik nk.nbf, na części (Pliki i Moduły)

-> [2] – REGISTRY .dv To .rgu - wyciąga pliki rejestru default.hv i user.hv, kompiluje do formatu .rgu, co daje nam czytelność i swobode jego modyfikacji

*WAŻNE: musimy pamiętać, aby każdy z tych plików:

- w pierwszym wierszu miał wpisaną nazwę "REGEDIT4"

- pomiędzy każdym wierszem, musi byś przynajmniej jedna wolna linia

- wszystkie pliki rejestru muszą zostać zakodowane w UNICODE - wyżej wymieniony edytor tekstowy posiada taką funkcję


-> [3] – Change Initflashfiles - plik ten jest kompilowany z .dat do .txt, głównie służy do relokacji i ułożenia folderów w naszym systemie

-> [4] - Dump ROM To NK.NBF - Składa nasz zmodyfikowany, bądź przeportowany ROM w całość, czyli plik nk.nbf



Nastepnie:

Rozłożymy powłokę ROM-u na składniki:

•   Tworzymy jakiś katalog np. Hima_Cook

•   Kopiujemy do niego:

- podstawę naszych prac, czyli plik  -> nk.nbf

- nasz wyżej utworzony Create_Rom

•   W folderze Hima_Cook, tworzymy podfolder:
- TOOLS

Do podfolder TOOLS, kopiujemy niezbędne nam narzędzia:


•   xda2nbftool.exe

•   prepare_imgfs.exe

•   viewimgfs.exe

•   BuildImgfs.exe

•   make_imgfs.exe

•   RecMod.exe

•   rgucomp.exe

•   cereg400.dll

•   cecompr_nt.dll

•   HimaUpgradeUt_noID.exe – jest to jedna z aplikacji, które wgrywają nasz Obraz Systemu do telefonu w trybie Bootloader
Tworzymy następny podfolder o nazwie „Upgrade” – kopiujemy do niego: HimaUpgradeUt_noID.exe



W dalszych procesach, dowiemy się dlaczego niektóre z poleceń i nazw folderów oraz narzędzi, są takie istotne, powiem tylko, że musimy dokładnie obejrzeć wszystkie wiersze naszego .bat. W pliku tym znajdują się polecenia, które kopiują, przenoszą, modyfikują i uruchamiają różne aplikacje i pliki.
Z czasem, zrozumiemy funkcjonalność i możliwości, jakie daje nam taka forma gotowania.




Ciekawostki:
Polecenie – title –daje nam możliwość zmiany informacji, podczas procesu na górnej belce w konsoli,




Outro:
Wszystko opisane powyżej głównie daje nam GOTOWY folder dump i pole do popisu. Wszystkie narzędzia i foldery, są ułożone w odpowiedni sposób, więc możemy być pewni naszej małej kuchenki, że nie jest ona przyczyną jakiegokolwiek błędu, przy pichceniu. Drugą pozytywną stroną, jest to że i również składa nasz system w jedną całość
W następnych częściach kursu, dowiemy się między innymi jak zmodyfikować podstawy, dodać aplikacje itp. Zapraszam więc do części Drugiej……………


« Ostatnia zmiana: Luty 18, 2009, 18:09:34 wysłana przez nokser »

*

nokser

Modyfikacje i Budowa Systemu na Urządzenia typu Himalay-a Cz.2
« Odpowiedź #1 dnia: Luty 19, 2009, 14:45:38 »



MODYFIKACJE



W tej części kursu zajmiemy się ogólną zasadą modyfikowania naszego systemu.
Łączy się to z dodawaniem i usuwaniem różnego typu: aplikacji, plików czy nawet podmianą skórek i nakładek systemowych. Musimy jednak pamiętać, aby nie przeładować danego nam ROM-u, ponieważ jeżeli chodzi o nasze urządzenie jest ograniczone tylko do 32 MB.
Zacznijmy teraz, prezentację modyfikacji przykładowej. Odnosi się ona zwłaszcza dla początkujących kucharzy. Przy tym procesie, możemy lekko odetchnąć i nie myśleć, że w jakiś sposób uwalimy nasze urządzenie. Jest rzadkością, żeby telefon nie włączył się po podmianie lub usunięciu jakiegoś programu.
Pamiętaj – wszystkie zmiany pokazane w tym artykule, są tylko przykładem. Sam musisz wiedzieć (na tym przykładzie) co dodać a co usunąć….. To do dzieła….



Pierwsze co to musimy w naszej kuchence, wydać polecenie uzyskania folderu „dump
Otwieramy kuchnię opartą na wierszu poleceń, którą tworzyliśmy w części pierwszej tego kursu:

Wyświetliły się nam 4 pozycję, wybieramy:

[1] - ROM To dump
I czekamy aż proces się zakończy……..

Po zakończeniu, możemy obejrzeć sobie, dokładnie ten folder.
Następnie, dla ułatwienia późniejszej pracy klikamy na:

[2] – REGISTRY .dv To .rgu
W katalogu głównym ,naszej pracy utworzyły się dwa nowe pliki:
-default.hv
-user.hv



Obydwa pliki otwierany, przy pomocy – Notepad ++. Ujrzymy ciąg znaków, mniej więcej taki:



[HKEY_CLASSES_ROOT\.zip]
  @="zipfile"


[HKEY_CLASSES_ROOT\.rar]
  @="PocketRAR"


[HKEY_CLASSES_ROOT\SimToolkit.UI]
  @="Toolkit UI"


[HKEY_CLASSES_ROOT\SimToolkit.UI\CLSID]
  @="{7B58F1D9-1C13-440f-894B-B90680570A2D}"


[HKEY_CLASSES_ROOT\ExSMime.MimeReader.1]
  @="MIME Reader"


[HKEY_CLASSES_ROOT\ExSMime.MimeReader.1\CLSID]
  @="{B5DF6DDB-8DEB-4984-961A-0E252214B016}"


[HKEY_CLASSES_ROOT\ExSMime.SMIME.1]
  @="SMIME"


[HKEY_CLASSES_ROOT\ExSMime.SMIME.1\CLSID]
  @="{C71C7533-AAA8-4315-9457-08DE2F558972}"



Ważne:
->   Na początku rejestru musimy wpisać:  REGEDIT4
->   Również, sprawdzamy czy między każdym kluczem jest przynajmniej jedna linia pusta, czyli nie ma żadnego wpisu
->   Wszystkie pliki .rgu zapisujemy w UNICODE, tak wiec mając otwarty np. default.rgu w Notepad ++, klikamy File > Encoding > Unicode
->   Nowe klucze wpisane przez nas, nie mogą dublować starych


W taki sposób mamy przygotowany rejestr, możemy go teraz dowolnie edytować.


Teraz zajmiemy się plikiem Initflashfiles.dat
Z tym plikiem nie będziemy mieli w sumie, żadnych problemów. Jedyne co nas będzie interesowało to dodawanie lub usuwanie ścieżek, oczywiście są one zależne od ułożenia folderów i aplikacji bądź pików w nich zamieszczonych.



Dla głębszego zrozumienia dodamy jakąś aplikację do ROM-u, jednak musi być ona w formacie OEM, jak to zrobić?? Jest to opisane dosyć szczegółowo w Internecie. Drugim tego wyjściem, są stworzone do tego programy, które z plików .cab tworzą OEM


Wstawiamy Aplikację do systemu:


Weźmy sobie np. Pocket RAR w formacie OEM. Otwieramy taki folder, interesuje nas w nim:
- inietflaszfiles.txt,
- *.rgu – plik rejestru
- PocketRAR.exe – program
- PocketRAR.lnk – skrót


W pierwszej kolejności, kopiujemy do folderu dump: - PocketRAR.exe – program
I PocketRAR.lnk – skrót


Otwieramy nasz plik initflaszfiles.txt z OEM :


;=================================================================================================
; Pocket RAR Start
;=================================================================================================

Directory("\Windows\Start Menu\Programs"):-Directory("Accessories")
Directory("\Windows\Start Menu\Programs\Accessories"):-File("Pocket RAR.lnk","\Windows\Pocket RAR.lnk")

;=================================================================================================
; Pocket RAR End
;=================================================================================================


kopiujemy jego zawartość do głównego Initflashfiles.dat z dump. Ma to wyglądać tak:



;
;
; Copyright (c) Microsoft Corporation.  All rights reserved.
; Cooking by NOKser
; Date: 08/02/2009
; Microsoft Windows CE OS 5.2.21139 (Build 21139.2.1 NOK)
;

root:-Directory("My Documents")
root:-Directory("Program Files")

Directory("My Documents"):-PermDir("Templates")
Directory("My Documents"):-Directory("My Pictures")
Directory("My Documents"):-Directory("Personal")
Directory("My Documents"):-Directory("Business")
Directory("My Documents"):-Directory("My Music")
Directory("My Documents"):-Directory("My Ringtones")

Directory("\My Documents\My Pictures"):-File("Waterfall.jpg","\Windows\Waterfall.jpg")
Directory("\My Documents\My Pictures"):-File("Flower.jpg","\Windows\Flower.jpg")

Directory("Program Files"):-Directory("Connections")
Directory("Program Files"):-Directory("Windows Media Player")

Directory("\Windows"):-PermDir("System")
Directory("\Windows"):-PermDir("Start Menu")
Directory("\Windows"):-Directory("Help")
Directory("\Windows"):-Directory("Fonts")
Directory("\Windows"):-Directory("Programs")
Directory("\Windows"):-Directory("StartUp")
Directory("\Windows"):-Directory("Temporary Internet Files")
Directory("\Windows"):-Directory("AppButtons")
Directory("\Windows"):-Directory("Favorites")
Directory("\Windows"):-Directory("Rings")
Directory("\Windows"):-Directory("AppMgr")

Directory("\Windows\System"):-PermDir("ConfigMgr")
Directory("\Windows\System"):-PermDir("CertDtls")
Directory("\Windows\System"):-PermDir("DumpFiles")
Directory("\Windows\System"):-PermDir("CabQueue")

Directory("\Windows\Start Menu"):-PermDir("Programs")
Directory("\Windows\Start Menu"):-PermDir("Settings")

; Start Menu contents
Directory("\Windows\Start Menu"):-File("Phone.lnk","\Windows\cprog.lnk")
Directory("\Windows\Start Menu"):-File("Contacts.lnk","\Windows\addrbook.lnk")
Directory("\Windows\Start Menu"):-File("Internet Explorer.lnk","\Windows\iexplore.lnk")
Directory("\Windows\Start Menu"):-File("Messaging.lnk","\Windows\tmail.lnk")
Directory("\Windows\Start Menu"):-File("Windows Media.lnk","\Windows\WMPlayer.lnk")
;Directory("\Windows\Start Menu"):-File("Record.lnk","\Windows\voice.lnk")

; Programs Contents
Directory("\Windows\Start Menu\Programs"):-File("File Explorer.lnk","\Windows\fexplore.lnk")
Directory("\Windows\Start Menu\Programs"):-File("ActiveSync.lnk","\Windows\sync.lnk")

; MultiMedia folder contents
Directory("\Windows\Start Menu\Programs"):-Directory("Multimedia")
Directory("\Windows\Start Menu\Programs\Multimedia"):-File("icon.lnk","\Windows\4mediaico.lnk")
Directory("\Windows\Start Menu\Programs\Multimedia"):-File("Camera.lnk","\Windows\Camera.lnk")
Directory("\Windows\Start Menu\Programs\Multimedia"):-File("Pictures & Videos.lnk","\Windows\pimg.lnk")
Directory("\Windows\Start Menu\Programs\Multimedia"):-File("Windows Media.lnk","\Windows\WMPlayer.lnk")
Directory("\Windows\Start Menu\Programs\Multimedia"):-File("ImageViewer.lnk","\Windows\ImageViewer.lnk")

; Accessories folder contents
Directory("\Windows\Start Menu\Programs"):-Directory("Accessories")
Directory("\Windows\Start Menu\Programs\Accessories"):-File("icon.lnk","\Windows\1accessico.lnk")
Directory("\Windows\Start Menu\Programs\Accessories"):-File("Calculator.lnk","\Windows\calc.lnk")
Directory("\Windows\Start Menu\Programs\Accessories"):-File("Tasks.lnk","\Windows\tasks.lnk")
Directory("\Windows\Start Menu\Programs\Accessories"):-File("Notes.lnk","\Windows\notetake.lnk")
Directory("\Windows\Start Menu\Programs\Accessories"):-File("Calendar.lnk","\Windows\calendar.lnk")
Directory("\Windows\Start Menu\Programs\Accessories"):-File("Search.lnk","\Windows\search.lnk")

; Connections folder contents
Directory("\Windows\Start Menu\Programs"):-Directory("Connections")
Directory("\Windows\Start Menu\Programs\Connections"):-File("icon.lnk","\Windows\3connectico.lnk")
Directory("\Windows\Start Menu\Programs\Connections"):-File("Internet Sharing.lnk","\Windows\IntShrUI.lnk")
Directory("\Windows\Start Menu\Programs\Connections"):-File("Remote Desktop.lnk","\Windows\wpctsc.lnk")
Directory("\Windows\Start Menu\Programs\Connections"):-File("Internet Explorer.lnk","\Windows\iexplore.lnk")

; System folder contents
Directory("\Windows\Start Menu\Programs"):-Directory("System")
Directory("\Windows\Start Menu\Programs\System"):-File("icon.lnk","\Windows\5systemico.lnk")
Directory("\Windows\Start Menu\Programs\System"):-File("SIM Manager.lnk","\Windows\SIM Manager.lnk")

; Games folder contents
Directory("\Windows\Start Menu\Programs"):-Directory("Games")
Directory("\Windows\Start Menu\Programs\Games"):-File("icon.lnk","\Windows\2gamesico.lnk")
Directory("\Windows\Start Menu\Programs\Games"):-File("Solitaire.lnk","\Windows\solitare.lnk")
Directory("\Windows\Start Menu\Programs\Games"):-File("Bubble Breaker.lnk","\Windows\BubbleBreaker.lnk")

; App Button default links
Directory("\Windows\AppButtons"):-File("Calendar.lnk","\Windows\calendar.lnk")
Directory("\Windows\AppButtons"):-File("Contacts.lnk","\Windows\addrbook.lnk")
Directory("\Windows\AppButtons"):-File("Tasks.lnk","\Windows\tasks.lnk")
Directory("\Windows\AppButtons"):-File("Record.lnk","\Windows\voice.lnk")
Directory("\Windows\AppButtons"):-File("Messaging.lnk","\Windows\tmail.lnk")
Directory("\Windows\AppButtons"):-File("Internet Explorer.lnk","\Windows\iexplore.lnk")
Directory("\Windows\AppButtons"):-File("Comm Manager.lnk","\Windows\CommManager.lnk")
Directory("\Windows\AppButtons"):-File("Camera.lnk","\Windows\Camera.lnk")

; Startup Folder
Directory("\Windows\StartUp"):-File("poutlook.lnk","\Windows\poutlook.lnk")
Directory("\Windows\StartUp"):-File("Welcome.lnk","\Windows\welcome.lnk")
Directory("\Windows\StartUp"):-File("HandsFree.lnk","\Windows\HandsFree.lnk")
Directory("\Windows\StartUp"):-File("Welcome.lnk","\Windows\welcome.lnk")
Directory("\Windows\StartUp"):-File("ScreenRotate.lnk","\Windows\ScreenRotate.lnk")
Directory("\Windows\StartUp"):-File("sms_alert_fix.lnk","\Windows\sms_alert_fix.lnk")
Directory("\Windows\StartUp"):-File("CheckAutorun.lnk", "\Windows\CheckAutorun.lnk")

; Multimedia folder
Directory("Program Files"):-Directory("Windows Media Player")
Directory("\Windows\Start Menu"):-File("Windows Media.lnk","\Windows\WMPlayer.lnk")
Directory("\Program Files\Windows Media Player"):-File("Default(Portrait).skn","\Windows\wmp_WPC_portrait.lnk")
Directory("\Program Files\Windows Media Player"):-File("Default(Landscape).skn","\Windows\wmp_WPC_landscape.lnk")
Directory("\Program Files\Windows Media Player"):-File("Default(Square).skn","\Windows\wmp_WPC_square.lnk")
Directory("\Program Files\Windows Media Player"):-File("Welcome To Windows Media.wma","\Windows\wm_start.lnk")

;==========================================================================
; Camera MASD customization settings
;==========================================================================
Directory("\Windows\StartUp"):-File("Camera_Detect.lnk","\Windows\Camera_Detect.lnk")
Directory("\Windows\AppButtons"):-File("Camera.lnk","\Windows\Camera.lnk")
Directory("\Windows\Start Menu\Programs\MultiMedia"):-File("Camera.lnk","\Windows\Camera.lnk")
;==========================================================================
; End - Camera MASD customization settings
;==========================================================================

;==========================================================================
; Task Manager v3.1
;==========================================================================
Directory("\Windows\Start Menu\Programs\System"):-File("Task Manager.lnk","\Windows\TaskManager2.lnk")
Directory("\Windows\Start Menu\Programs\System"):-File("Registry Editor.lnk","\Windows\RegEdit.lnk")
;==========================================================================
; End - Task Manager v3.1
;==========================================================================

;==========================================================================
; SAP MASD customization settings
;==========================================================================
Directory("\Windows\AppButtons"):-File("Calendar.lnk","\Windows\calendar.lnk")
Directory("\Windows\AppButtons"):-File("Contacts.lnk","\Windows\addrbook.lnk")
Directory("\Windows\AppButtons"):-File("Tasks.lnk","\Windows\tasks.lnk")
Directory("\Windows\AppButtons"):-File("Record.lnk","\Windows\voice.lnk")
Directory("\Windows\AppButtons"):-File("Camera.lnk","\Windows\camera.lnk")
Directory("\Windows\AppButtons"):-File("Messaging.lnk","\Windows\tmail.lnk")
Directory("\Windows\AppButtons"):-File("Camera.lnk","\Windows\Camera.lnk")
Directory("\Windows\AppButtons"):-File("Comm Manager.lnk","\Windows\CommManager.lnk")
Directory("\Windows\StartUp"):-File("BPInsert.lnk", "\Windows\BPInsert.lnk")
Directory("\Windows\StartUp"):-File("coldinit.lnk","\Windows\coldinit.lnk")
Directory("\Windows\StartUp"):-File("bugtrap.lnk","\Windows\bugtrap.lnk");
Directory("\Windows\StartUp"):-File("poutlook.lnk","\Windows\poutlook.lnk")
Directory("\Windows\StartUp"):-File("HandsFree.lnk","\Windows\HandsFree.lnk")
Directory("\Windows\StartUp"):-File("Welcome.lnk","\Windows\welcome.lnk")
Directory("\Windows\StartUp"):-File("ScreenRotate.lnk","\Windows\ScreenRotate.lnk")
;==========================================================================
; End - SAP MASD customization settings
;==========================================================================

;==========================================================================
; SMS Alert Fix
;==========================================================================
Directory("\Windows\StartUp"):-File("SMS_Alert_Fix.lnk", "\Windows\sms_alert_fix.lnk")
;==========================================================================
; End - SMS Alert Fix
;==========================================================================

;==========================================================================
; AutoRun
;==========================================================================
Directory("\Windows\StartUp"):-File("CheckAutoRun.lnk","\Windows\CheckAutoRun.lnk")
;==========================================================================
; End - AutoRun
;==========================================================================

;==========================================================================
; psShutXP
;==========================================================================
Directory("\Windows\Start Menu\Programs"):-File("psShutXP.lnk","\Windows\psShutXP.lnk")
Directory("\Windows\StartUp"):-File("ShutXP.lnk","\Windows\ShutXP.lnk")
;==========================================================================
; End - psShutXP
;==========================================================================

;=================================================================================================
; Pocket RAR Start
;=================================================================================================
Directory("\Windows\Start Menu\Programs"):-Directory("System")
Directory("\Windows\Start Menu\Programs\System"):-File("Pocket RAR.lnk","\Windows\Pocket RAR.lnk")
;=================================================================================================
; Pocket RAR End
;=================================================================================================

;=================================================================================================
; NetCFCfg Start
;=================================================================================================
Directory("\Windows\Start Menu\Programs"):-Directory("System")
Directory("\Windows\Start Menu\Programs\System"):-File(".NetCFCfg.lnk","\Windows\.NetCFCfg.lnk")
;=================================================================================================
; NetCFCfg End
;=================================================================================================

;=================================================================================================
; Start Clean Start
;=================================================================================================
Directory("\Program Files"):-Directory("Startclean")
Directory("\Program Files\Startclean\"):-File("Startclean.exe","\Windows\Startclean.exe")
Directory("\Windows\Startup\"):-File("Start Clean.lnk","\Windows\Start Clean.lnk")
;=================================================================================================
; Start Clean End
;=================================================================================================



Następnie otwieramy *.rgu i jego zawartość kopiujemy do default.rgu bądź user.rgu.
Wpisywanie kluchy, jest zależne od jego ścieżki. Każda nowa ścieżka musi być w tej części rejestru, gdzie klucz tak samo się zaczyna.


Przykład wpis rejestru dla PocketRAR:


[HKEY_CLASSES_ROOT\.zip]
@="PocketRAR"

[HKEY_CLASSES_ROOT\.rar]
@="PocketRAR"

Wiec musimy umieścić go, tam gdzie klucze zaczynają się od:

[HKEY_CLASSES_ROOT]
Jeżeli zakończyliśmy tą operację pozytywnie, to taka aplikacja będzie działać poprawnie.Do modyfikowanie rejestru, są różne wyjścia, mój sposób nie jest ostatecznością. Takie wpisywanie kluczy, czy ich usuwanie zaoszczędza również naszą pamięć, która jest wyjątkowo mała.
Możemy również, zamienić sterowniki lub jakąś nową wersję programu np. File Explore – w takiej sytuacji trzeba podmienić adres pamięci wirtualnej i adres relokacji, bo inaczej ta aplikacja nie wystartuje. Zapisana jest jako Moduł, czym różni się od Pliku?? Zajrzyjmy nawet do naszego dump, różnicę widać na pierwszy rzut oka, jego zawartość mieści się w katalogu.
Faktem jest że przy zamianie Modułu, z nowszego ROM-u, musimy także zamienić te dwie wartości opisane powyżej. Podmieniając Plik, nie mamy obowiązku relokacji, nawet według starych adresów.
 
Zapraszam Do Części Trzeciej Tego Kursiku
Przekładanie systemu - zależność i funkcjonalność Plików i Modułów....
;)







« Ostatnia zmiana: Luty 20, 2009, 09:19:54 wysłana przez nokser »

*

nokser

Modyfikacje i Budowa Systemu na Urządzenia typu Himalay-a Cz.3
« Odpowiedź #2 dnia: Marzec 04, 2009, 00:29:11 »

Przekładnie Systemu



Cześć trzecia, dotyczy potocznie mówiąc portowania OS, czyli wersji powłoki.
 Jej wersje możemy zobaczyć w Start Menu > Settings > System > About, zapisana jest w nawiasie.

Cały opis przenoszenia systemu, dotyczy tylko do kompilacji 21109, ponieważ zależność plików i modułów wyższych wersji jest znacznie zmieniona.
Na temat tego też któregoś razu napisze.
Aby jakikolwiek przełożony system funkcjonował, jego liczba musi być mniejsza bądź równa do jądra, tak zwanej sekcji XIP.

Głównymi plikami, zależnymi od danej kompilacji, jest Control Panel, czyli pliki cplmain.cpl i ctlpnl.exe.
Wystarczy że relokujemy te dwa pliki do starej podstawy według wcześniejszego adresu relokacji i wirtualnej pamięci.




Potrzebne nam będzie M'Reloc.exe.

Kopiujemy go do katalogu głównego naszej pracy i uruchamiamy……

Wybieramy pojedynczo, każdy plik który chcemy relokować do naszego nowego OS – w tej czynności musimy pamiętać, aby wraz ze zmianą adresów w aplikacji M'Reloc.exe, zmienić również te adresy w pliku tekstowym, modyfikowanego modułu


Przykładowo:
Otwieramy M'Reloc.exe:

- wybieramy w nim jakiś moduł np. „cplmain.cpl” ze starego ROM-u


Widzimy tam adresy, które musimy wpisać w moduł, o tej samej nazwie z nowego ROM-u.
Po nadpisaniu starych adresów nowymi, zatwierdzamy operację przyciskiem „Doit!”.

Info:
Istnieją w tej chwili aplikacje relokujące cały system przy pomocy jednego kliknięcia przycisku, nawet np. G’Reloc – jest to jedno z najlepszych i najbardziej znanych. Najlepiej go używać na ROM-ie, który posiada paczki :ok:


Skoro jednak działamy na „płaskim dumpie”, to musimy chociaż podstawowo znać odpowiedzialność, poniektórych plików i ch zależność od siebie....
Podmieniając cokolwiek, upewniamy się czy nie będzie to miało negatywnych skutków.

Ze starej powłoki systemu, muszą na pewno zostać podstawowe sterowniki.

CZYLI:

a c e v i d c a p . d l l
a c e _ d d i . d l l
a h i o e m . d l l
a t a d i s k . d l l
a t c m d i n t . d l l
a u d i o g w . d l l
A v r c p _ M P p l u g i n . d l l
B a c k L i g h t . d l l
B a c k P a c k . d l l
b t a 2 d p . d l l
b t d . d l l
b t h a m b . d l l
b t h a s p l u g i n . d l l
b t h c s r . d l l
b t h h i d . d l l
b t h i d s v c . d l l
b t h s c . d l l
b t h u a r t . d l l
b t h u n i v . d l l
c a m e r a . d l l
C a m e r a D r i v e r . d l l
c o m 1 6 5 5 0 . d l l
c o n s h i d . d l l
D 3 D M X S c 5 0 P B . d l l
d d i _ d 3 d . d l l
g p s i d . d l l
h e a d s e t d r v . d l l
h i d p a r s e . d l l
H S D C a r d . d l l
H T C _ C M D . d l l
i r s i r . d l l
k b d h i d . d l l
L E D M g r . d l l
n l e d d r v r . d l l
O E M E x t D L L . d l l
r i l g s m . d l l
r n d i s f n . d l l
s b c . d l l
S D B u s D r i v e r . d l l
S D M e m o r y . d l l
s e r i a l 2 . d l l
s e r i a l 3 . d l l
s e r i a l u s b f n . d l l
s i m t k i t . d l l
s i o 9 5 0 . d l l
s m s _ p r o v i d e r s . d l l
S P I . d l l
T r u e F F S . d l l
u s b f n d r v . d l l
w a v e d e v . d l l
w c e s t r e a m b t . d l l
w e n d y s e r . d l l
A S I C 5 _ B T U R . d l l
a t i h w t b l 0 . t x t
b a t t d r v r . d l l
b a t t e r y . d l l
B P I n s e r t . e x e
B P I n s e r t . l n k
C h g D f L n k . l n k
f e _ w a . d l l
H a n d s F r e e . e x e
H a n d s F r e e . l n k
h e a d s e t . d l l
h t c o b x i n b x . d l l
k e y b d d r . d l l
M y C m d . t x t
o e m d b g u t l . d l l
o e m i n f o . x m l
P r e s e t U s b . e x e
S i m L o c k . e x e
t o u c h . d l l
X P a n e l L o g . e x e
X P a n e l L o g . l n k

Jak i odpowiadające im klucze Rejestru.

Nie które ze sterowników, można aktualizować, jednak na razie zostawmy te, które mamy.




OuTro:

Istnieją również, pliki bądź moduły, których podmiana wywoła zawieszenie systemu na splash-u lub białym ekranie po HR. Więc nasz wybór, musi być rozsądny.

Jeżeli chcemy zmienić obraz startowy, albo jakiś inny obraz w naszym OS-ie - to wstawiamy swój modyfikowany i podmieniamy mu nazwę

Modyfikacji modułów XIP, nie będę opisywał, ponieważ jest ona wyszczególniona tu:

Edycja zasobów w modułach XIP




Potraktowałem to dosyć skrótowo, jednak całe przeniesienie systemu, polega ogólnie na zamianie starszych plików na nowsze i stabilniejsze,
 co również tyczy się z funkcjonalnością, a czasem nawet nowym interfejsem

 



Proszę w tym wątku pytać o problematyczność zrozumienia....







« Ostatnia zmiana: Marzec 04, 2009, 09:07:37 wysłana przez nokser »

*

nokser

Modyfikacje i Budowa Systemu na Urządzenia typu Himalay-a Cz.4
« Odpowiedź #3 dnia: Marzec 09, 2009, 09:55:55 »
Składanie Końcowego Obrazu Systemu




Zajmiemy się teraz, złożeniem obrazy sytemu.
Jeżeli postępowaliśmy wcześniej według wcześniejszych opisów,
wszystko powinno przebiec, bez żadnych problemów........



Tworzymy katalog o nazwie default.rgu_To_default.hv

Kopiujemy do niego:

-> rgucompr.exe
-> msvcr71.dll
-> cereg400.dll

Tworzymy w tym katalogu plik *.bat za pomocą Notepad ++

Dany plik musi zawierać ścieżki:

@echo off

set path_exe=%~d0%~p0
set path_arg=%~d1%~p1
cd /D %path_arg%

if exist default.hv rename default.hv default-original.hv
if exist boot.hv goto error2
if not exist boot.rgu goto error3

set _FLATRELEASEDIR=.
"%path_arg%rgucomp.exe" -b -nologo
ren boot.hv default.hv
attrib +r +h +s default.hv


echo Success
echo DEFAULT.HV succesfully created
pause
exit

:error
echo Failure !!!
echo DEFAULT.HV already exists !
pause
exit

:error2
echo Failure !!!
echo BOOT.HV already exists !
pause
exit

:error3
echo Failure !!!
echo BOOT.RGU does not exist !
pause

Tworzymy Drugi katalog o nazwie user.rgu_To_user.hv

Kopiujemy do niego:

-> rgucompr.exe
-> msvcr71.dll
-> cereg400.dll

Tworzymy w tym katalogu plik *.bat za pomocą Notepad ++

Dany plik musi zawierać ścieżki:

@echo off

set path_exe=%~d0%~p0
set path_arg=%~d1%~p1

cd /D %path_arg%

if exist user.hv rename user.hv user-original.hv
if exist boot.hv goto error2
if not exist boot.rgu goto error3

set _FLATRELEASEDIR=.
"%path_arg%rgucomp.exe" -b -nologo
ren boot.hv user.hv
attrib +r +h +s user.hv


echo Success
echo USER.HV succesfully created
pause
exit

:error
echo Failure !!!
echo USER.HV already exists !
pause
exit

:error2
echo Failure !!!
echo BOOT.HV already exists !
pause
exit

:error3
echo Failure !!!
echo BOOT.RGU does not exist !
pause

Wracamy do katalogu głównego i kopiujemy zmodyfikowane pliki rejestru:


-> Plik default.rgu, kopiujemy do folderu "default.rgu_To_default.hv"

i odpalamy plik *.bat, wewnątrz folderu.

wynikowy default.hv, przenosimy do naszego głównego katalogu, z systemem "dump" - podmieniając przy tym stary.....

Następnie:

-> Plik user.rgu, kopiujemy do folderu "user.rgu_To_user.hv"

i odpalamy plik *.bat, wewnątrz folderu.

wynikowy user.hv, przenosimy do naszego głównego katalogu, z systemem "dump" - podmieniając przy tym stary.....


W taki sposób mamy gotowy Rejestr systemu, oczywiście, jeżeli tylko przestrzegaliśmy wszystkich ważnych kroków.



Zostało jeszcze wciśniecie ostatniego polecenia, w naszej kuchence:
-> [4] - Dump ROM To NK.NBF

I po zakończeniu działania konsoli mamy obraz systemu, gotowy do Flash-owania


Powodzenia!!!!


« Ostatnia zmiana: Marzec 09, 2009, 23:39:39 wysłana przez nokser »

*

Offline hetajr

  • 6
  • Płeć: Mężczyzna
  • Jestem biznesmenem i programistą. Z zawodu-Prezes.
Odp: Budowa i modyfikacja WM dla HTC Himalaya
« Odpowiedź #4 dnia: Marzec 15, 2011, 13:02:43 »
Witam,
bardzo dobry post. Sam posiadam Himalay'ę i od zawsze chciałem zrobić do niej ROM. Czy można prosić o link do programu, który z CAB zrobi OEM?
Dziękuję
W posiadaniu: HTC Himalaya, HTC BlueAngel, HTC Swift, HTC Charmer, HTC Magician, HTC Diamond, HTC Touch, HTC Touch Pro, HTC Desire, HTC Wildfire, HTC Droid, HTC Gatia, HTC Evo, HTC Aria, HTC Tilt, HTC Dream, HTC Pure, HTC Nexus, HTC Legend, HTC Snap

*

nokser

Odp: Budowa i modyfikacja WM dla HTC Himalaya
« Odpowiedź #5 dnia: Marzec 15, 2011, 13:55:15 »
poszukaj na forum, jest tu gdzieś ;)

*

Offline Luby

  • **
  • 155
  • Płeć: Mężczyzna
  • Vaillant/Aero Developer
  • Sprzęt: Himalaya, Alpine, Universal
Odp: Budowa i modyfikacja WM dla HTC Himalaya
« Odpowiedź #6 dnia: Marzec 15, 2011, 16:43:30 »
No, a skoro nokser niebardzo pamięta to przypomne nazwe: Ervius Package creator (polecam wersje 2.7 badz 27), uruchom jako administrator.
"Wszyscy wiedzą, że czegoś nie da się zrobić, i przychodzi taki jeden, który nie wie, że się nie da, i on to właśnie robi."
~Albert Einstein
Avatar niezgodny z Regulaminem (przekleństwo).

*

nokser

Odp: Budowa i modyfikacja WM dla HTC Himalaya
« Odpowiedź #7 dnia: Marzec 15, 2011, 17:01:48 »
No ja akurat tego nie używam....
@Luby powiedz chłopcze co cie boli, bo zanosi hamstwem...

*

Offline Virnoy

  • 11
  • Płeć: Kobieta
Odp: Budowa i modyfikacja WM dla HTC Himalaya
« Odpowiedź #8 dnia: Marzec 17, 2011, 17:01:55 »
Thanks,
pobrałem program i działa.