Premessa:
-servono una 50ina di Gb liberi e parecchio tempo
Io ho il tutto in macchina virtuale (pc con winxp) vmware player 5 + ubuntu 11.10 64bit
si possono compilare (provato funzionante) le rom TeamEOS / CodeNameAndroid / CyanogenMod / AOSP (da google/motorola)
Cyanogenmod & AOSP non hanno ancora pubblicato per il mz601, quindi le build "in casa" sono per wingray ... a meno di modifiche artigianali
Iniziamo :
partiamo pure dalla creazione di un ambiente virtuale, io l ho fatto con vmplayer 5 sotto winxp (ma su win7 è uguale) :
codice:
http://www.filehippo.com/download_vmware_player/
(attenzione che installa alcuni suoi device/driver per la gestione usb) reboot del pc per far finire l installazione
In questi programma si crea una nuova macchina virtuale, come disco dvd scegliere l iso che scaricate qui :
- (ubuntu 11.10 64 bit versione desktop)
codice:
http://releases.ubuntu.com/11.10/
- ubuntu 64bit come sistema operativo,
- disco minimo di 70Gb, io ho scelto di splittarli in file piu piccoli da 1gb, le prestazioni non cambiano molto, ma posso copiare tutto in hd esterno fat32 ;-)
Avviato/installato ubuntu e configurato il nome utente (che sotto chiamerò nomedeltuoutente) in ubuntu, abilitiamo l utente root da terminale (altro che fastboot adb recovery flash .. :-) )
e sceglietevi la password che volete
il comando "sudo" vi chiederà questa password di root.
togliamo un java che potrebbe esser installato (o forse no, non ricordo) che non ci serve, sempre da terminale:
codice:
sudo apt-get remove openjdk*
ora cè da installare javaSE 1.6 JDK ... perchè i sorgenti android si compilano con quello dal sito :
codice:
http://www.oracle.com/technetwork/java/javase/downloads/index.html
cliccate su download sotto "JDK" alla voce "Java SE 6 Update XX" (al momento 35) accettate la licenza e scaricate "Linux x64" in formato .bin
dovrebbe esser "jdk-6u35-linux-x64.bin" , se l aggiornano aggiustate tutti i file/comandi a seguire ...
sempre da terminale, dovreste trovarvi il file scaricato in /home/nomedeltuoutente/Downloads quindi lo installiamo
codice:
sudo mkdir -p /opt/java/64/
sudo cp /home/nomedeltuoutente/Downloads/jdk-6u35-linux-x64.bin /opt/java/64
sudo su -
cd /opt/java/64
chmod +x jdk-6u35-linux-x64.bin
./jdk-6u35-linux-x64.bin
chiudi e riapri il terminale ed editiamo il file .bashrc del proprio utente
a me piace il comando "nano" quindi :
codice:
cd /home
cd nomedeltuoutente
nano .bashrc
e gli incollate all inzio queste righe
codice:
export JAVA_HOME=/opt/java/64/jdk1.6.0_35
export PATH=$PATH:$JAVA_HOME/bin
export PATH=$PATH:~/bin
installiamo un po di librerie/programmi che altre guide mettono come neccessari, ormai lo sapete... sempre da terminale :
codice:
sudo apt-get install git-core gnupg flex bison python rar original-awk gawk p7zip-full gperf libsdl1.2-dev libesd0-dev libwxgtk2.6-dev squashfs-tools build-essential zip curl libncurses5-dev zlib1g-dev pngcrush schedtool xsltproc
codice:
sudo apt-get install g++-multilib lib32z1-dev ia32-libs lib32ncurses5-dev lib32readline-gplv2-dev gcc-multilib g++-multilib
codice:
sudo apt-get install libc6-dev x11proto-core-dev libx11-dev libgl1-mesa-dev mingw32 tofrodos python-markdown libxml2-utils
e anche questo comando:
codice:
sudo ln -s /usr/lib/i386-linux-gnu/libX11.so.6 /usr/lib/i386-linux-gnu/libX11.so
oltra al java "vecchio" serve anche un compilatore un po datato, questo:
codice:
sudo apt-get install gcc-4.4 g++-4.4 g++-4.4-multilib gcc-4.4-multilib
bene siamo ad un buon punto, ancora agli inizi ... :-D
ora chiudete e riaprite il terminale , creiamo la directory di lavoro e il collegamento ai source android
codice:
mkdir -p ~/bin
mkdir -p ~/android/system
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
chmod a+x ~/bin/repo
fino a qua è comune a tutte le distribuzioni.
manca installare l sdk di android per far veder lo xoom a ubuntu lo mettiamo nella prossima puntata , si può saltare per ora
LA parte lunga e grossa, e intendo parecchie ore e tanti Gb... potete scegliere UNA di queste tre :
-----------------------------------------------------------------------------------------------------------------------------------------
Specificatamente per compilare CyanogenMod
codice:
cd ~/android/system
repo init -u git://github.com/CyanogenMod/android.git -b jellybean
repo sync -j4
-----------------------------------------------------------------------------------------------------------------------------------------
Specificatamente per compilare CNA :
codice:
cd ~/android/system
repo init -u https://github.com/CNA/android_manifest.git -b jellybean
repo sync -j4
-----------------------------------------------------------------------------------------------------------------------------------------
Specificatamente per compilare TeamEOS :
codice:
cd ~/android/system
repo init -u https://android.googlesource.com/platform/manifest -b android-4.1.1_r1
repo sync -j4
repo init -u git://git.teameos.org/eos/platform/manifest.git -b jellybean
repo sync -j4
-----------------------------------------------------------------------------------------------------------------------------------------
aggiunta :
il github di Cyanogen (e credo pure gli altri due) NON comprende i file proprietari motorola, quindi li aggiungiamo con un bel :
codice:
gedit ~/android/system/.repo/local_manifest.xml
e copia incolliamo questo, dovrebbe esser vuoto, se ci son già delle righe presenti, aggiungete le mancanti :-)
codice:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="TheMuppets/proprietary_vendor_broadcom" path="vendor/broadcom" remote="github" revision="jellybean"/>
<project name="TheMuppets/proprietary_vendor_imgtec" path="vendor/imgtec" remote="github" revision="jellybean"/>
<project name="TheMuppets/proprietary_vendor_invensense" path="vendor/invensense" remote="github" revision="jellybean"/>
<project name="TheMuppets/proprietary_vendor_motorola" path="vendor/motorola" remote="github" revision="jellybean"/>
<project name="TheMuppets/proprietary_vendor_nvidia" path="vendor/nvidia" remote="github" revision="jellybean"/>
<project name="TheMuppets/proprietary_vendor_widevine" path="vendor/widevine" remote="github" revision="jellybean"/>
</manifest>
ora ai prossimi repo sync aggiungerà i file proprietari neccessari ad una build funzionante.
se siete arrivati fino a qui, dovrebbe esser passato qualche giorno :-D