Préparation des outils et de l’environnement de compilation :

Voir l’article sur la compilation de la ROM CyanogenMod pour les différents paquets à installer.
sudo apt-get install xsltproc python-lunch
mkdir ~/bin
PATH=~/bin:$PATH
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
chmod a+x ~/bin/repo

Création du répertoire de travail :
mkdir XZ_AOSP
cd XZ_AOSP

Télécharger les binaires pour le XP à l’adresse suivante : http://developer.sonymobile.com/downloads/tool/software-binaries-for-xperia-z-and-xperia-tablet-z/
unzip SW_binaries_for_Xperia_Z_Xperia_Tablet_Z_v3.zip

Initialisation du repo local

repo init -u https://android.googlesource.com/platform/manifest
mkdir .repo/local_manifests

Créer le fichier .repo/local_manifests/c6603.xml et y coller le texte suivant :
[xml]<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote name="sony" fetch="git://github.com/sonyxperiadev/" />

<remove-project name="platform/hardware/qcom/display" />
<remove-project name="platform/hardware/qcom/keymaster" />
<remove-project name="platform/hardware/qcom/media" />
<remove-project name="platform/hardware/qcom/msm8960" />
<remove-project name="platform/hardware/qcom/power" />
<remove-project name="platform/hardware/qcom/sensors" />
<remove-project name="platform/hardware/invensense" />
<remove-project name="platform/hardware/akm" />

<project path="device/sony/lagan" name="device-sony-lagan" groups="device" remote="sony" revision="master" />
<project path="device/sony/c6603" name="device-sony-c6603" groups="device" remote="sony" revision="master" />
<project path="vendor/sony/dash" name="DASH" groups="device" revision="master" remote="sony" />
</manifest>
[/xml]

Télécharger les sources

repo sync

Configuration de la cible pour le XZ

. build/envsetup.sh
lunch full_c6603-userdebug

Compilation

make

Les fichiers img se trouveront dans le répertoire out/target/product/generic

Pour aller plus loin

Compilation avec openjdk sous ubuntu 12.04

Je n’ai pas testé l’image pour savoir si elle était conforme et que tout était compilé convenablement, ce n’est qu’à l’état de test de compilation.

Installation de tous les paquets requis :
sudo apt-get install xsltproc python-lunch git-core gnupg flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk2.6-dev squashfs-tools build-essential zip curl libncurses5-dev zlib1g-dev pngcrush schedtool g++-multilib lib32z1-dev lib32ncurses5-dev lib32readline-gplv2-dev gcc-multilib gobjc++-multilib openjdk-6-jdk libxml2-utils

Commenter les lignes de test d’openjdk du fichier build/core/main.mk

# Check for the corrent jdk
#ifneq ($(shell java -version 2>&1 | grep -i openjdk),)
#$(info ************************************************************)
#$(info You are attempting to build with an unsupported JDK.)
#$(info $(space))
#$(info You use OpenJDK but only Sun/Oracle JDK is supported.)
#$(info Please follow the machine setup instructions at)
#$(info $(space)$(space)$(space)$(space)https://source.android.com/source/download.html)
#$(info ************************************************************)
#$(error stop)
#endif

puis compiler avec make