Skip to content

Compilare i sorgenti di ICS

Compilare i sorgenti di ICS per samsung I9000.

Link documentazione

### Preparazione sistema ###

  • Installo Virtualbox
  • Installo Ubuntu 11.10 x64
  • Installo driver virtualbox

### Installo dipendenze ###

  • $ sudo apt-get update
  • $ sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs$ sudo apt-get install x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils

### Installo la vecchia versione del compilatore GCC ###

  • $ sudo apt-get install gcc-4.4 g++-4.4 g++-4.4-multilib gcc-4.4-multilib

### Piccola patch per libX11 ###

  • $ sudo ln -s /usr/lib/i386-linux-gnu/libX11.so.6 /usr/lib/i386-linux-gnu/libX11.so

### Download Sun Java 6 JDK ###

  • $ sudo add-apt-repository ppa:ferramroberto/java
  • $ sudo apt-get install sun-java6-jdk

### Configuro la porta usb ###

  • $ sudo gedit /etc/udev/rules.d/51-android.rules
  • inserisco il seguente testo
  • #Acer
  • SUBSYSTEM==usb, SYSFS{idVendor}==0502, MODE=0666
  • #ASUS
  • SUBSYSTEM==usb, SYSFS{idVendor}==0b05, MODE=0666
  • #Dell
  • SUBSYSTEM==usb, SYSFS{idVendor}==413c, MODE=0666
  • #Foxconn
  • SUBSYSTEM==usb, SYSFS{idVendor}==0489, MODE=0666
  • #Garmin-Asus
  • SUBSYSTEM==usb, SYSFS{idVendor}==091E, MODE=0666
  • #Google
  • SUBSYSTEM==usb, SYSFS{idVendor}==18d1, MODE=0666
  • #HTC
  • SUBSYSTEM==”usb”, SYSFS{idVendor}==”0bb4″, MODE=0666
  • #Huawei
  • SUBSYSTEM==usb, SYSFS{idVendor}==12d1, MODE=0666
  • #K-Touch
  • SUBSYSTEM==usb, SYSFS{idVendor}==24e3, MODE=0666
  • #KT Tech
  • SUBSYSTEM==usb, SYSFS{idVendor}==2116, MODE=0666
  • #Kyocera
  • SUBSYSTEM==usb, SYSFS{idVendor}==0482, MODE=0666
  • #Lenevo
  • SUBSYSTEM==usb, SYSFS{idVendor}==17EF, MODE=0666
  • #LG
  • SUBSYSTEM==usb, SYSFS{idVendor}==1004, MODE=0666
  • #Motorola
  • SUBSYSTEM==usb, SYSFS{idVendor}==22b8, MODE=0666
  • #NEC
  • SUBSYSTEM==usb, SYSFS{idVendor}==0409, MODE=0666
  • #Nook
  • SUBSYSTEM==usb, SYSFS{idVendor}==2080, MODE=0666
  • #Nvidia
  • SUBSYSTEM==usb, SYSFS{idVendor}==0955, MODE=0666
  • #OTGV
  • SUBSYSTEM==usb, SYSFS{idVendor}==2257, MODE=0666
  • #Pantech
  • SUBSYSTEM==usb, SYSFS{idVendor}==10A9, MODE=0666
  • #Philips
  • SUBSYSTEM==usb, SYSFS{idVendor}==0471, MODE=0666
  • #PMC-Sierra
  • SUBSYSTEM==usb, SYSFS{idVendor}==04da, MODE=0666
  • #Qualcomm
  • SUBSYSTEM==usb, SYSFS{idVendor}==05c6, MODE=0666
  • #SK Telesys
  • SUBSYSTEM==usb, SYSFS{idVendor}==1f53, MODE=0666
  • #Samsung
  • SUBSYSTEM==usb, SYSFS{idVendor}==04e8, MODE=0666
  • #Sharp
  • SUBSYSTEM==usb, SYSFS{idVendor}==04dd, MODE=0666
  • #Sony Ericsson
  • SUBSYSTEM==usb, SYSFS{idVendor}==0fce, MODE=0666
  • #Toshiba
  • SUBSYSTEM==usb, SYSFS{idVendor}==0930, MODE=0666
  • #ZTE
  • SUBSYSTEM==usb, SYSFS{idVendor}==19D2, MODE=0666
  • Salvo il file ed esco.
  • $ sudo chmod a+r /etc/udev/rules.d/51-android.rules

### Download sorgenti Android ###

  • Creo cartella bin
  1. $ mkdir ~/bin
  2. $ PATH=~/bin:$PATH
  • Scarico il comendo repo per gestire il repository
  1. $ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
  2. $ chmod a+x ~/bin/repo
  • Scarico il repository
  1. $ mkdir ics
  2. $ cd ics
  3. $ repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.3_r1
  4. $ repo sync
  5. Se si blocca durante lo scaricamento eseguire:
  6. $ sudo sysctl -w net.ipv4.tcp_window_scaling=0
  7. $ repo sync -j1
  • Verifica git
  1. $ gpg –import
  2. quando è in attesa incollare “PGP PUBLIC KEY” che si trova nel sito di android
  3. premere CTRL+D ed invio
  • Verificare con
  1. $ git tag -v TAG_NAME
### Aggiungo il mio device all’elenco ###
  • $ cd ics/device/samsung
  • $ mkdir galaxys
  • $ git clone git://github.com/coolya/android_device_samsung_galaxys galaxys
  • $ cd galaxys
  • $ chmod 775 *.sh
  • dopo aver collegato il telefono col cavo usb
  • $ ./extract-files.sh

### Compilazione android ###
  • $ cd ics
  • $ source build/envsetup.sh
  • $ lunch
  • scelgo la configurazione di compilazione “Galaxy nexus -> Maguro” oppure “Nexus S -> crespo”
  • $ make -j4
  • in caso di problemi provare con:
  • $ make CC=gcc-4.4 CXX=g++-4.4 -j4
  • L’opzione otapackage dovrebbe far generare un file update.zip da caricare in recovery

### Eseguire con l’emulatore ###

  • $ emulator -system system.img -data userdata.img -ramdisk ramdisk.img
  • c’è qualche problema con il FW, rimane in loop infinito con la scritta ANDROID.

### Cosa faccio con il files ottenuti? ###

  • ramdisk.img, userdata.img e system.img ed altre cartelle
Annunci
Lascia un commento

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger hanno fatto clic su Mi Piace per questo: