piątek, 14 grudnia 2012

AOKP 4.(1/2) dla Sony Ericsson Xperia Neo V (MT11i/a)


Jak wiadomo wokół produktów Sony Ericsson (obecnie już Sony) powstała dość duża scena developerów próbująca ugotować mniej lub bardziej ciekawe ROMy.

Jednym z lepszych, choć nie pozbawionym wad jest kompilacja AOKP. Android Open Kang Projekt bo tak rozwija się ten skrót jest połączeniem AOSP oraz parudziesięciu udoskonaleń które naprawdę się sprawdzają i HGW nie ma ich w AOSP.

Budową AOKP-a na urządzenia z rodziny SE/Sony zajmuję się grupa KXP jednak ostatnimi czasy chłopaki (a może i dziewczyny) nie za często wydają nowe buildy, prawdopodobnie merguja do 4.2.
I o tym jak zrobić sobie builda będzie traktował ten tekst.


Wymagania techniczne:
- komputer klasy PC :)
- system operacyjny GNU/Linux (dystrybucja mało ważna ja buduje na Fedorze 17 i niej będzie tyczył się opis)
- internet :)
- trochę chęci i logicznego myślenia
- i dużo czasu na zajęcia inne niż siedzenie przed komputerem


1. Przygotowanie środowiska
Potrzebne nam będą odpowiednie pakiety:

yum install glibc.i686 glibc-devel.i686 libstdc++.i686 zlib-devel.i686 ncurses-devel.i686 \
libX11-devel.i686 libXrender.i686 libXrandr.i686 gcc gcc-c++ gperf flex bison curl wget\
glibc-devel.x86_64 zlib-devel.{x86_64,i686} libsx-devel readline-devel.i386 optipng.x86_64\
git


2. Przygotowanie kuchni

Ściągamy aplikacje stworzoną przez google do prostszego zarządzania repozytoriami git
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repoch

Nadajemy mu prawa uruchamiania dla wszystkich.
chmod a+x ~/bin/repo

Tworzymy katalog gdzie będzie znajdowała się kuchnia naszego romu.
mkdir -p ~/Android/aokp-semc

wchodzimy do kuchni
cd ~/Android/aokp-semc

Inicjujemy repozytorium KXP
repo init -u https://github.com/KangXperiaProject/platform_manifest.git -b jb

i wreszcie wykonujemy synchronizacje repo z nasza kuchnią. czas trwania synchronizacji zależny jest od prędkości posiadanego łącza internetowego. Obecnie całe repo zajmuję dokładnie (stan na 12.12.12)
[vir@ogden aokp-semc]$ du -sh .17G .

repo sync -j10  
(*10 to liczba liczba połączeń jakie zostaną wykonane w jednym czasie)

Proponuje iść na imprezę/spać obejrzeć całą trylogie Władcy Pierścieni bo ten proces nie należy do szybkich. W razie problemów typu error, czekamy aż sync się wysypie i wykonujemy komendę ponownie. Komunikat który informuje nas w 100% że mamy już całe aktualne repo wygląda mniej więcej tak:

[vir@ogden aokp-semc]$ repo sync -j10
Fetching projects: 100% (338/338), done.
Syncing work tree: 100% (338/338), done.


3. Mejkowanie
Gdy już będziemy mieli pełnego synca, wchodzimy do naszej kuchni
cd ~/Android/aokp-semc

Przygotowujemy zmienne środowiskowe.

. build/envsetup.sh

(* po . jest spacja)

wykonujemy
lunch

wybieramy platformę na jaką będziemy budować rom (w naszym przypadku to haida)

You're building on Linux

Lunch menu... pick a combo:
     1. mini_armv7a_neon-userdebug
     2. mini_armv7a-userdebug
     3. cm_anzu-eng
     4. cm_coconut-eng
     5. cm_haida-eng
     6. cm_hallon-eng
     7. cm_iyokan-eng
     8. cm_mango-eng
     9. cm_satsuma-eng
     10. cm_smultron-eng
     11. cm_urushi-eng
     12. cm_zeusc-eng
     13. cm_zeus-eng
     14. cm_aoba-eng
     15. cm_hayabusa-eng
     16. cm_hikari-eng
     17. cm_mint-eng
     18. cm_nozomi-eng
     19. full_panda-userdebug
     20. aokp_mint-userdebug
     21. aokp_hayabusa-userdebug
     22. aokp_tsubasa-userdebug
     23. aokp_aoba-userdebug
     24. aokp_nozomi-userdebug
     25. aokp_hikari-userdebug
     26. aokp_anzu-userdebug
     27. aokp_haida-userdebug
     28. aokp_hallon-userdebug
     29. aokp_urushi-userdebug
     30. aokp_iyokan-userdebug
     31. aokp_zeus-userdebug
     32. aokp_zeusc-userdebug
     33. aokp_satsuma-userdebug
     34. aokp_smultron-userdebug
     35. aokp_coconut-userdebug
     36. aokp_mango-userdebug
     37. aokp_shakira-userdebug
     38. aokp_robyn-userdebug
     39. aokp_mimmi-userdebug

Which would you like? [full-eng]
27

Właściwe make. Po tej komendzie ruszy machina budowy romu. W 99% powinna przebiec ona bezstresowo ale jeżeli pojawi się jakiś error proponuje (jeżeli nie masz wiedzy programistycznej) poszukać na google, ktoś pewnie miał już taki błąd.

make otapackage


Parę godzin później otrzymujemy paczkę zip (szukajcie jej w out/target/product/haida/) która możemy wrzucić poprzez CWM.


Podziękowania dla FXP, KXP, AOKP, mikegapingki

Brak komentarzy:

Prześlij komentarz