piątek, 11 października 2013

[Tutorial] Jak stworzyć ROM

Cześć wszystkim 
Jako, że dostałem wiele próśb związanych z publikacją tego poradnika, postanowiłem podzielić się z Wami wiedzą, jaką zdobyłem podczas swojej zabawy z budowaniem ROMów. Na wstępie chciałem powiedzieć, że jestem początkującym developerem i nie znam się na wszystkim 

Co otrzymamy?:

CyanogenMod w wersji 2.3.7 dla X8 (shakira). Wymagany jest kernel FXP i odblokowany bootloader.

UWAGA! Można zamienić telefon w plastikową cegłę, o ile nie będzie się myślało!

Czego potrzebujemy?

0. Mózgu i chęci nauczenia się czegoś nowego.
1. Procesora dwurdzeniowego (im szybszy, tym lepszy) i minimum 1,5 GB RAMU. Obsługa 64-Bitów (Intel EM64T / AMD64) i Parawirtualizacji (Intel VT-x / AMD-V) jest wymagana, gdy chcesz użyć 64-bitowego systemu (zalecane).
2. System operacyjny oparty na systemie Linux - Ubuntu i Mint są najfajniejsze moim zdaniem. Mój poradnik powinien być użyteczny dla każdej dystrybucji, jednak trzeba pamiętać o dostosowaniu komend. Jeżeli korzystacie z Windowsa polecam użycie wirtualnych maszyn - VirtualBox, VMWare itp.
3. Szybkie łącze internetowe, żeby ściągnąć ponad 10 GB danych.
4. Około 50 GB wolnego miejsca na dysku.
5. Dostęp do Internetu na wirtualnej maszynie, ponieważ jeśli coś ma pójść źle, to pójdzie źle ;P Google i XDA są najlepszymi przyjaciółmi.
6. Znajomość podstaw angielskiego 

Zatańczymy? 

1. Ściągnij i zainstaluj Linuxa. Linux jest darmowym, opensourceowym produktem; więzienie Ci nie grozi . Preferuję Minta w wersji 10 lub 12. Sam używam 12.
2. Aplikacja "Terminal" - nowy najlepszy przyjaciel. Stwórz skrót na pulpicie.

Jak wygląda Linux?


Tak jak Windows, tylko lepiej 

Wklejcie to do terminala:
Kod:
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 openjdk-6-jdk pngcrush schedtool g++-multilib lib32z1-dev lib32ncurses5-dev lib32readline5-dev gcc-4.3-multilib g++-4.3-multilib
Do kompilacji w systemach opartych na wersji 11.04+ nie są wymagane niektóre biblioteki
lib32readline5-dev zastąpiono lib32readline-gplv2-dev w 11.10 
I "gcc-4.3-multilib g++-4.3-multilib" nie jest wymagane w wersji powyżej 11.04


Ta komenda zainstaluje wymagane biblioteki. Jeśli wyskoczą błędy postaraj się wykasować część kodu.

Po tym stwórz folder dla repozytorium CyanogenModa.
Wpisz:
Kod:
mkdir -p ~/bin 
mkdir -p ~/android/system
PATH=~/bin:$PATH
Możesz nazwać drugi folder jak chcesz.

Następny krok: inicjacja repozytorium

Kod:
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo 
chmod a+x ~/bin/repo
chmod to bardzo ważna komenda, pozwala na ustalenie uprawnień plikom/folderom.

Następny krok: Ściągnij bestyję 

Pamiętaj by wpisać poprawną nazwę folderu!

Kod:
cd ~/android/system/ 
repo init -u git://github.com/CyanogenMod/android.git -b gingerbread 
repo sync -j10
Atrybut -j jest odpowiedzialny za liczbę procesów podejmowanych przy jednej akcji. Jeśli masz potężny procesor możesz użyć -j16 a nawet -j32

Pobierz ROM Managera

Kod:
~/android/system/vendor/cyanogen/get-rommanager
Następny krok: Download Android-SDK by uruchomić ADB
Wypakuj do home, a potem
Kod:
cd ~/android-sdk-linux/tools
 ./android
Zrób to, co jest pokazane w filmikach:




I druga część tu: Setting Up the Android SDK in Ubuntu or Debian Linux (Part 2) - YouTube

Ściągnij wszystkie pliki i przygotuj się.

Następny krok (nie wymagany): Skopiuj pliki własności? Proprietary brzmi lepiej  (telefon musi być w trybie debugowania)

Wpisz w terminalu:
Kod:
cd ~/android/system/device/semc/shakira/ 
./extract-files.sh
Jeśli masz problem edytuj skrypt i użyj:

./adb pull zamiast of adb pull 


Po instalacji wpisz w terminalu:

Kod:
export PATH=${PATH}:~/android-sdk-linux/tools
export PATH=${PATH}:~/android-sdk-linux/platform-tools
Wpisz poprawną ści.

Type
Kod:
./adb devices
i jeśli otrzymasz następujący log
Kod:
"List of devices attached
 ???????????? no permissions"
zrób następującą rzecz.

Kod:
sudo touch /etc/udev/rules.d/51-android.rules && sudo sh -c "echo 'SUBSYSTEM=="usb", ATTRS{idVendor}=="0fce", SYSFS{idProduct}=="612e", MODE="0666"' >> /etc/udev/rules.d/51-android.rules" && sudo chmod 644 /etc/udev/rules.d/51-android.rules
Jeśli coś jest nie tak wpisz
Kod:
lsusb
by zobaczyć jakie urządzenia są podpięte i zmień kod

Następnie 

Kod:
sudo restart udev
sudo ./adb kill-server
sudo ./adb start-server
I jest gotowe do działania.

Następny krok: Ustalenie środowiska buildu

Wpisz w terminalu:
Kod:
cd ~/android/system/
. build/envsetup.sh && lunch
Zobaczysz listę urządzeń
Shakira ma numer 136 (ciągle się zmienia, teraz to chyba 143)



Następny krok - Tworzenie ROMu!

Pozostała magiczna komenda "make"
Dodaj -j4 by budować szybciej. Zasada jest taka, że mnożymy liczbę rdzeni przez 1,5.
Sam używam -j6 na Intel i5.

By uzyskać update.zip wpisz:
Kod:
make -j4 otapackage


Pozostaje czekać i eliminować błędy 

Jeśli komuś pomogłem zbudować pierwszy ROM, postaw mi piwo 
Jeśli popełniłem błędy, poprawcie mnie.

Podziękowania dla B.Jay'a i doixanha.

Uff. Trochę mi zajęło, by to wszystko przetłumaczyć.
Oryginalny temat znajdziecie TUTAJ.

Brak komentarzy:

Prześlij komentarz

Blogger Gadgets