ClockWorkMod recovery ModPack utility (CWMMP)
Autor lemar123, mail: lemar123 at tlen.pl, gg 9115238
SPIS TREŚCIPost #1 - Instrukcja, konfiguracja, uruchamianie
Post #2 - wersje do pobrania, modpacki, changelog.
Post #3 - Well Known Problems, FAQ, Tips & Tricks
Post #4 - Galeria MODPACKów (under construction)
Aktywność2011-12-03 Wystawienie v0.6.0
Stan narzędziaPo mniej więcej 2 tygodniach dorywczej pracy przy tym narzędziu wystawiam wersję beta.
Narzędzie było do tej pory uruchamiane na HD2. Po potwierdzeniu, że dla innych urządzeń działa poprawnie wątek zostanie przeniesione do innego, bardziej ogólnego działu Androida na forum (dogadane z modami).
Pierwsza wystawiana publicznie wersja to 0.6.0.
Skrypt przetwarza poprawnie paczki CWM na HD2 z Androidem MIUI 1.12.2 (na wcześniejszych wersjach też działał poprawnie).
Ponieważ do swojego działania wymaga standardowych poleceń znajdujących się w BusyBox powinien działać bez większych problemów wszędzie tam, gdzie będzie BusyBox.
Testy wersji BETAMogą pojawić się nieprawidłowości wynikające z odmiennej konfiguracji systemów na różnych romach. Udostępniam na tym etapie aby móc zapewnić poprawne działanie na różncy romach. Wskazane aby w testach wzięły udział osoby ze znajomością podstaw linux'a.
W przypadku błędu proszę o przesłanie mi na adres podany na górze postu loga za pomocą opcji "Share log" Script Managera (można to zrobić w 15s bez PC) lub zamieszcić log tu w wątku. Beta testerzy będą mieć wpływ na funkcjonalność narzedzia.
W miarę dostępnego czasu będę eliminował nieprawdłowości i rozwijał narzędzie.
Sporadycznie można mnie złapać na gg - namiary powyżej.
I. CZYM JEST CWMMP ?
Każdy z nas ma swój ulubiony zestaw: dzwonek, dźwięk notyfikacji, sms, tapety oraz praktycznie zawsze instalowane w Androidzie aplikacje. Dzięki CWMMP można zintegrować swoje własne pliki w paczkę CWM jeszcze przed zainstalowaniem jej na telefonie oraz usunąć pliki. Zwykle pozwala to oszczędzić to kilkanaście MB miejsca w pamięci NAND do ponownego wykorzystania.
Jeśli mamy telefon z odpowiednią ilością pamięci NAND – oszczędzimy czas.
Jeśli pamięci NAND jest za mało (a dla kogo jest jej za dużo ?)zyskamy kilkanaście MB wolnego miejsca, które można poświecić na aplikacje.
Przykładowo – z paczki ROMu MIUI 1.11.25 usunąłem ponad 10 MB dzięki czemu kilkanaście moich aplikacji zmieściło się w partycji systemowej, a nie w userdata. Nie lubie być zmuszony do używania partycji EXT na karcie, a po instalacji kilkudziesięciu aplikacji nadal mam 80 MB wolnego miejsca.
ClockWorkMod recovery ModPack utility (CWMMP)- służy do dostosowania paczki instalacyjnej z ROMem przed jego instalacją,
- nie jest ograniczony do żadnego konkretnego ROMu - można za jego pomocą zmodyfikować dowolny ROM,
- może być uruchamiany bezpośrednio na telefonie (nie wymaga PC do działania),
- komunikaty ekranowe są dostosowane do ekranu z 40 kolumnami,
- pozwala zmniejszyć wymagany rozmiar partycji systemowej, co przekłąda się na powiększenie partycji userdata,
- optymalizuje wykorzystanie przestrzeni na partycji systemowej usuwając zbędne aplikacje systemowych,
- oszczędza nasz czas podczas konfiguracji telefonu - wybrane ustawienia będą następować automatycznie,
- dostosowuje konfigurację androida (dogrywa pliki startowe, plike .rc shella),
- chroni newralgiczne pliki systemowe oraz zawartość karty,
- automatycznie doinstalowuje wymagane do swojego działania narzędzi do systemu,
- ułatwia bezpieczny dostęp do ustawień / plików systemowych początkującym użytkownikom,
- ma jawne źródła - to skrypt bash i każdy linuxowiec z łatwością może go przeanalizować lub zmienić.
- jest sposobem na wymianę i zestawów ustawień pomiędzy użytkownikami.
W KOLEJNYCH WERSJACH- tryb ONLINE do modyfikacji partycji systemowej (bez restartu i CWM),
- tryb CREATE do generowania samodzielnej paczki CWM,
- wyeliminowane zostanie obejście wymagające instalacji SSHDroid z Marketu (w BusyBox 1.19 unzip nie działa prawidłowo),
- w miarę możliwości wyeliminowane zostanie uruchamianie cwmmp jako root (o ile się uda),
- dodana obsługa limitu wolnego miejsca (aplikacje będą dodawane do ROMu tylko gdy wolne miejsce > np. 5 MB),
- dostosowanie pliku build.prop – zmiana rozdzielczości, prekonfigurowane ustawienia (dźwięki dzwonka, sms, ...),
- kolorowe komunikaty - na czerwono błędy, na zielono OK, na zółto ostrzeżenia itd.,
WYMAGANIA DLA UŻYTKOWNIKA I TELEFONU- użytkownik instalował już romy przez ClockWorkMod Recovery,
- użytkownik wie, które pliki systemowe/konfiguracyjne chce usunąć, dodać lub zmienić,
- posiada zrootowany telefon z poprawnie działającym ClockworkMod Recovery (rekomendowana przeze mnie wersja to 3.2.0.0),
- Android w telefonie ma zainstalowany shell bash i busybox (1.19+) - większość gotowanych ROMów je ma,
- zainstalowane zostało narzędzie do uruchamiania skryptów shellowych (rekomendowany darmowy Script Manager) oraz
menedżer plików do zmian plików / folderów (rekomendoweany darmowy Total Commander rc2),
- na karcie jest nie mniej niż 200-250 MB wolnego miejsca (dla przetworzenia jednego romu).
OBOWIĄZKOWE OSTRZEŻENIAZrobiłem co mogłem, aby narzędzie działało poprawnie i było bezpieczne, ale każdy popełnia błędy, zatem
- zanim zaczniesz majstrować przy plikach systemowych wykonaj backup (najlepiej używając ClockWorkMod Recovery),
- używasz tego narzędzia na własne ryzyko - nie jestem odpowiedzialny za jakiekolwiek szkody, jakie z tego wynikną,
- nie zapominaj o archiwizacji danych: strzeżonego ...
- nie masz pewności jak użyć CWMMP - zapytaj na forum.
PODZIĘKOWANIA DLA- autorów ClockworkMod Recovery, dzięki którym możemy żąglować romami i wyciskać z naszych urządzeń maksimum możliwości,
- kucharzy androidowych dostarczających nam gotowane ROMy na praktycznie każde urządzenie z systemem Android,
- deweloperów dostosowujących i przygotowujących komponenty dla kucharzy,
- Google za system operacyjny i jego cały ekosystem,
- społeczności zgromadzonej wokół Androida.
II. JAK DZIAŁA CWMMP
1. CWMMP jest zestawem skryptów i narzędzi przetwarzających piki i katalogiElementy CWMMP
- cwmmp znajduje się w /system/bin (pierwsza instalacja wymaga ręcznego skopiowania) i wywołuje cwmmp_main z karty pamięci,
- cwmmp_main jest właściwym skryptem CWMMP, który wykonuje całą robotę,
- narzędzie zip (Zip For Androida) umieszczone w /system/bin odpowiada za pakowanie paczek dla CWM,
- paczka modpack określa, które elementy mają zostać zmienione.
Zawartość pliku modpack (archiwum .zip)
a) plik modpack.delete
- każda linia jest maską REGEX dla plików do usunięcia z oryginalnej paczki CWM,
- wskazane jest aby używać ^ i $ aby precyzyjnie wskazać ścieżkę do usuwanych plików.
b) plik modpack.info
- 5-cio liniowy, krótki opis modpacka
- zawartość wyświetlana podczas działania skryptu
c) plik modpack.txt
- krótki opis modpacka wyświetlany w trakci przetwarzania modpacka
b) folder root i jego podfoldery
- wszystkie pliki z tego folderu zostaną umieszczone w przepakowanej paczce CWM,
- pliki nadpisują ewentualne istniejące już pliki w systemie (o tych samych nazwach),
- CWMMP nie ustawia i nie zmienia uprawnień ww. plików - musi o to zadbać oryginalna paczka CWM i CWM Recovery.
2. Tryby pracy CWMMPCWMMP przetwarzać będzie dane w kilku trybach, z których na dziś dostępny jest tryb REPACK.
W tym trybie na podstawie oryginalnego ROMUu przygotowywany jest nowy, dostosowany w oparciu o modpack ROM, którego używamy nastepnie do instalacji Androida w telefonie.
W kolejnych wersjach planowane jest wprowadzenie trybów
- ONLINE - do modyfikacji partycji systemowej na podstawie modpacka (bez restartu i CWM),
- CREATE - do generowania paczki CWM, za pomocą której następnie wprowadzone będą zmiany w systemie.
3. Tryb REPACK dla jednej pary ROM oraz MODPACKPo uruchomieniu CWMMP w trybie REPACK wykonywane są następujące kroki:
- skrypt cwmmp aktualizuje wewnętrzne narzędzia CWMMP w systemie,
- rozpakowuje rom CWM i modpack do katalogu tymczasowego (clockworkmod/modpack/tmp/),
- usuwa pliki pasujące do masek REGEX zawartych w pliku modpack.delete (o ile nie są chronione przez modpack/modpack.protected),
- dodaje (nadpisując starą zawartość) pliki z podkatalogu "root" z MODPACKa,
- kompresuje folder tymczasowy do nowej paczki CWM i umieszcza plik zip w folderze docelowym.
Uwagi
- domyślną nazwą modpacka dla CWMPP jest default.zip, można wskazać inną (lub wiele) za pomocą opcji -m MASKA.
- w trybie REPACK powyższe kroki są powtarzane dla każdego romu oraz modpacka (iloczyn kartezjański),
- można wskazać inne niż domyślne nazwy modpacków poprzez opcje CWMMP,
- ani system, ani oryginalny ROM (w pliku CWM), ani inne pliki na karcie poza katalogiem domowy CWMMP nie są usuwane ani zmieniane,
4. Struktura katalogów (na kacie sd)Wszystkie pliki tymczasowe i pośrednie są tworzone wewnątrz domowego katalogu CWMMP - clockworkmod/modpack/.
Poniżej zestawienie podkatalogów i ich zawartości:
- /sdcard/clockworkmod/modpack/ - katalog domowy CWMMP
- /sdcard/clockworkmod/modpack/bin/ - skrypty i (opcjonalnie) narzędzia używane przez CWMMP
- /sdcard/clockworkmod/modpack/bin/root/ - folder, któtrego zawartość jest kopiowana do filesystemu androida (upgrade)
- /sdcard/clockworkmod/modpack/in - folder na oryginalne pakiety CWM (ROMy dostarczane przez kucharza)
- /sdcard/clockworkmod/modpack/mod - katalog na paczki modpack (.zip)
- /sdcard/clockworkmod/modpack/out - folder na tworzone paczki CWM (dostosowane przez CWMMP)
- /sdcard/clockworkmod/modpack/tmp - folder na pliki tymczasowe
III. PLIKI DO POBRANIA, INSTALACJA I KONFIGURACJA
1. Pierwsza instalacja- plik cwmmp_vX.Y.Z.zip należy umieścić w głównym katalogu karty SD i rozpakować np. Total Commanderem,
- skopiować plik clockworkmod/modpack/bin/root/system/bin/cwmmp do /system/bin i zmienić jego uprawnienia na 777 (patrz opis niżej),
Na przykładzie Total Commandera
- wejdź do /system/bin w prawym panelu,
- w lewym panelu przejdź do clockworkmod/modpack/bin/root/system/bin/ i zaznacz plik cwmmp,
- tapnij ikonę kopiowania na pasku narzędzi i wciśnij przycisk "Copy",
- w prawym panelu naciśnij i przytrzymaj plik cwmmp i z menu kontekstowego wybierz polecenie Properties,
- wciśnij pierwszy od góry przycisk ">>" i zaznacz checkboxa dla każdego R i X,
- wybierz "Apply" aby zamknąć okno dialogowe.
2. Instalacja nowej wersji (aktualizacja)- plik cwmmp_vX.Y.Z.zip umieść w głownym katalogu karty SD i rozpakować.
Jeśli zostanie zaktualizowane jakieś narzędzie będące cześcią CWMMP zostanie ono zainstalowane w systemie automatycznie.
3. Instalacja i konfiguracja Script Managera- pobierz i zainstaluj Script Managera z Android Marketu,
- naciśnij przycisk menu, wybierz opcję -> Więcej -> Opcje zaawansowane -> Config,
- włącz "Default view favorites", "Single run on list",
- wyłącz "Enable extra gestures",
- naciśnij przycisk "Back" i "Home" na urządzeniu.
4. Dodać wywołanie CWMMP do ulubionych w Scrip Managerze- uruchom Script Managera, przejdź do /system/bin i wybierz plik cwmmp,
- w oknie dialogowym zaznacz opcję Favorite (ikona gwiazdki), "Run as root" (czaszka), "Is executable" , wpisz w Alias: "CWM ModPack", w Argments: "-RVf" i naciśnij przycisk "Save" (znaczenie ikonek po przyciskiem "Help"),
- wejdź do edycji dodanej przed chwilą pozycji (przytrzymując ją przez 1-2s) i wciśnij "New alias" (zdefiniowana przed chwilą pozycja zostanie skopiowana, wystarczy ją teraz tylko poprawić),
- w Alias wpisz: "CWM ModPack Help", a w Argments: "-h",
- ponownie wciśnij "Save" i wyjdź z Script Managera.
Uruchom Script Managera ponownie.
Powinny zostać wyświetlone dwie pozycje menu:
- "CWM ModPack" <- do uruchomiania skryptu
- "CWM ModPack Help" <- do wywoływania ekranu pomocy
Po wybraniu opcji "CWM ModPack Help" powinna zostać wyświetlona pomoc:
11:09:58 WARNING unzip -> BusyBox v1.18.5
================================================
[ ClockWorkMod recovery ModPack v0.7.0 ]
[ CWM Package customizer by lemar123@tlen.pl ]
================================================
cwmmp -options
mode selection
-R repack CWM package using modpack
configuration switches
-f "Use the Force, Luke !" (forced)
-i DIR CWM packages source folder (roms)
-m NAME name / mask for modpack (globbing)
default NAME 'default' (without .zip)
-o DIR output folder for repacked rom
-r MASK name / mask for source rom package
default NAME name is "*" (globbing)
debug and development (manual clean required)
-h this help screen
-t do NOT clean temp folders (for debug)
-u do NOT unzip rom / modpack (use temp)
-{v|V} verbose output (V is extra verbose)
-z do NOT zip created CWM folder
5. Jako obejście problemu z unzip należy zainstalować SSHDroid.- przed uruchomieniem CWMMP co najmniej raz uruchomić SSHDroid.
IV. URUCHOMIENIE
Najwygodniej poprzez widget ze Script Managera, ale możliwe z dowolnego narzędzia, który potrafi wywołać polecenia systemowe jako root.
Pobierz ROM w formacie CWM dla swojego urządzenia[/b]
- umieść plik z ROMem w katalogu clockworkmod/modpack/in
- upewnij sie, że masz 3-4 krotnie więcej miejsca niż spakowany rom
Aby uruchomić CWMMP (wg opisanej wyżej konfiguracji)
- przygotuj paczkę modpack i umieść ww. plik w clockworkmod/modpack/mod,
- umieść rom w katalogu clockworkmod/modpack/in,
- wybierz opcję "CWM ModPack" w Script Managerze i czekaj, aż powstanie Twoja paczka,
- jeśli coś pójdzie nie tak jak powinno, pojawi się stosowny komunikat (jeśli go nie rozumiesz - wrzuć go na forum)
Przykładowe uruchomienie:
~ $ cwmmp -Rvf
13:20:19 WARNING unzip -> BusyBox v1.18.5
================================================
[ ClockWorkMod recovery ModPack v0.6.0 ]
[ CWM Package customizer by lemar123@tlen.pl ]
=========================<< CWM ROM REPACKING >>
13:20:19 Found 1 rom(s) and 1 modpack(s) To GO !
===================================< ROM 1/1 >==
13:20:20 Repacking! miuiandroid_HD2-1.12.2.zip
13:23:27 rom extracted
13:23:27 modpack 1/1 - default.zip
13:23:31 modpack extracted
13:23:32 72 file(s) removed, 570 remains
13:23:33 7 custom file(s) added
13:24:53 rom created (164s)
13:24:53 rom processed (164s)
13:24:53 1 processing(s) ok (180s)
==================================<< I'M DONE >>
13:24:53 OK (180s)
Uwagi- w przypadku problemów w pierwszej kolejności należy rzucić okiem na post nr 3 lub na wątek, czy nie zostało już podane rozwiązanie,
- nazwa modpacka jest dowolna, ale domyślnie jest to default.zip, użyj -m NAZWA aby wskazać inne,
- domyślnie przetwarzane są wszystkie romy w clockworkmod/modpack/in ale możliwe jest ograniczenie listy poprzez maskę,
- domyślnie dla każdego romu powstanie tyle zmodyfikowanych paczek CWM ile jest modpacków,
- nazwa wynikowa dla zmodyfikowanego romu składa się z nazwy ROMu, myślnika i nazwy modpacka,
- pliki tymczasowe są usuwane po każdym przebiegu (po zmianie ROMu) – można wymusić ich pozostawanie dzięki opcji –t,
- katalogi tymczasowe mogą uniemożliwić kolejne uruchomienie, o ile nie użyje się opcji –f (force),
- najwygodniej przygotować modpack uzywając PuTTY i WinSCP (patrz niżej)