Do rozpoczęcia potrzebny nam będzie jakiś system Linux/Unix. Polecam od siebie Kubuntu, wygodne środowisko, w miarę sprawnie działa, preinstalowane aplikacje, nie trzeba szukać wszystkiego po kolei, mamy to już pod ręką.
Po zainstalowaniu Linuxa (nie napisałem instrukcji, bo to nie cel poradnika), konfigurujemy połączenie z siecią i otwieramy terminal (zazwyczaj jest to skrót Ctrl+T) i w nim wpisujemy komendę:
- sudo apt-get install git-core gnupg flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk2.6-dev squashfs-tools build-essential zip curl libncurses5-dev zlib1g-dev sun-java6-jdk pngcrush schedtool
W Kubuntu domyślnie zainstalowane jest już OpenJDK, jeśli u Ciebie go nie ma, musisz zainstalować OpenJDK na własną rękę:
- sudo add-apt-repository „deb http://archive.canonical.com/ maverick partner”
- sudo apt-get update
- sudo apt-get install sun-java6-jdk
Po doinstalowaniu pakietów, pobieramy skrypt repo, aby pobrać nim później źródła CM7:
- mkdir -p ~/bin
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
chmod a+x ~/bin/repo
PATH=~/bin:$PATH
Dodatkowo trzeba będzie pobrać android sdk:
http://developer.android.com/sdk/index.html + uruchomić z katalogu Tools plik Android, pobrać nim Platform Tools i Tools.
i ustawić reguły udev w linuxie dla naszego urządzenia:
- sudo kate /etc/udev/rules.d/51-android.rules
wypełniając wyżej wymieniony plik następującą zawartością:
SUBSYSTEM==”usb”, ATTR{idVendor}==”1004″, MODE=”0666″, GROUP=”plugdev”
nadając mu uprawnienia:
- sudo chmod 777 /etc/udev/rules.d/51-android.rules
- sudo chown nazwaużytkownika /etc/udev/rules.d/51-android.rules
na zakończenie, pozostało tylko zrestartowanie daemona udev komendą:
lub
- /etc/init.d/udev restart (dla starszych wersji)
aby uniknąć problemów później, dodajemy plik adb, z katalogu platform-tools sdk do katalogu /bin
- sudo cp /ŚĆIEŻKADOSDK/platform-tools/adb /bin/adb
Teraz czas na pobranie repo CM7 (UWAGA: Rozmiar repo to około 6,5GB, więc pobiera się długo)
repo sync można przerwać i ponowić w każdej chwili. parametr -j odpowiada ilości plików pobieranych jednocześnie, w tym wypadki 16. Dla internetu 2MBit/s zalecane są cyfry ok -j6.
Kolejnym krokiem będzie pobranie drzewka device dla naszego Swifta:
https://github.com/xmesaj2/android_device_lge_swift/downloads - po wejściu w ten link, klikamy format, który nam odpowiada.
Po pobraniu, rozpakowujemy i kopiujemy tak, żeby ścieżka wyglądała mniej-więcej:
~/android/system/device/lge/swift/ – tu mają znaleźć się pliki i podfoldery.
Podłączamy telefon, musi być włączone debugowanie USB. Odpalamy skrypt extract-files.sh :
- cd ~/android/system/device/lge/swift/
- ./extract-files.sh
Jeśli wszystko poszło zgodnie z planem, pobieramy ostatnie 3 pliki, które trzeba podmienić/dodać do naszego repo.
http://review.cyanogenmod.com/#patch,sidebyside,10336,1,products/cyanogen_swift.mk (pobierz NEW VERSION i wstaw do ~/android/system/vendor/cyanogen/products/)
http://review.cyanogenmod.com/#patch,sidebyside,10336,1,vendorsetup.sh (pobierz NEW VERSION i wstaw do ~/android/system/vendor/cyanogen/)
http://review.cyanogenmod.com/#patch,sidebyside,10336,1,products/AndroidProducts.mk (pobierz NEW VERSION i wstaw do ~/android/system/vendor/cyanogen/products/)
Po tym wszystkim nareszcie można kompilować CyanogenModa. Komendy:
- cd ~/android/system/
- . build/envsetup.sh
- choosecombo 1 1 cyanogen_swift 2
- make -j2
(parametr -j odpowiada ilości wątków * ilości rdzeni twojego procesora, np. dwurdzeniowy procek, obsługujący po 2 wątki na rdzeń dla nalepszej wydajności ustawiony będzie miał -j4)