Aller au contenu

conseils compilation


Recommended Posts

Bla bla

Voilà, je voudrais de me lancer dans la compilation de rom. J'ai regardé pas mal de tuto sur cela, je n'ai pas tout compris, mais Benetnath m'a pas mal aiguillé la dessus et ma appris pas mal de chose. Néanmoins j'ai encore beaucoup de lacune sur le sujet. C'est pour cela que j'ai ouvert ce topic, pour avoir une trace de se que je fais, et surtout pour avoir votre aide (s'il y a des personnes ont déjà pratiqué).

Les tutos

http://forum.xda-dev...d.php?t=1762641

et celui là vient de google (open source)

http://source.androi...itializing.html

Sur les conseils de Benetnath, le mieux est de partir sur quelque chose qui existe, je vais donc essayer de compiler la rom CyanogenMod10. Après suivant si j'y arrive (ça c'est pas sur lol) et suivant la difficulté, pourquoi ne pas s'attaquer au AOSP et AOKP. Donc vous l'avez bien compris, ce n'est pas vraiment un tuto car je ne maîtrise pas beaucoup le sujet, c'est simplement une aide à celui qui voudrait faire comme moi se lancer la dedans, et s'échanger les conseils et problèmes rencontrés.

Il faut être sous un environnement linux pour pouvoir compiler.

Etant sur mon pc principal avec windows 7 64bits, j'ai installé virtualbox (machine virtuelle) qui va me permettre d'installer ubuntu pour faire la compilation. J'ai choisi la version ubuntu 11.10 64bits (je ne sais pas si c'est la meilleur version pour compiler)

Si je raconte des conneries, s'il y a des choses manquantes ou fausses, merci de me le signaler, le topic sert à ça !!

Création de l'environnement de travail

Installation de Jdk, Python, Git et Sdk

$ sudo apt-get install openjdk-6-jdk
$ sudo apt-get install python
$ sudo apt-get install git-core

INSTALLATION D'ANDROID SDK (facultatif suivant la rom à creer)

Installation d’Android SDK:

Télécharger SDK ici http://developer.and.../sdk/index.html

Extraire le SDK dans votre repertoire Home, et le renommer en android-sdk

Dans le repertoire home, press Ctrl+H pour montrer les fichiers cachés

Ouvrir le fichier .bashrc file.

Ajouter ces lignes à la fin de votre fichier :

# Android tools

export PATH=${PATH}:~/android-sdk/tools

export PATH=${PATH}:~/android-sdk/platform-tools

export PATH=${PATH}:~/bin

Même chose pour le fichier .profile, ajouter ces lignes à la fin

PATH="$HOME/android-sdk/tools:$HOME/android-sdk/platform-tools:$PATH"

Retour au terminal

$ android

Package nécessaire

$ sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline-GPLV2-dev libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils[/font][/size]

$ sudo apt-get install libx11-dev:i386

Initialisation de repo

$ mkdir ~/bin
$ PATH=~/bin:$PATH
$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
$ chmod a+x ~/bin/repo

Récupération des sources et compilation

Téléchargement des sources

- Pour cyanogenmod10

$ mkdir /cm10
$ cd /cm10
$ repo init -u git://github.com/CyanogenMod/android.git -b jellybean
$ repo sync

Récupération des fichiers propriétaires et device tree

$ cd device
$ mkdir alcatel
$ cd alcatel
$ git clone https://github.com/BENETNATH/android_device_alcatel_cocktail cocktail

Préparation et lancement de la compilation

Revenir sur le repertoire cm10

$ ./vendor/cm/get-prebuilts
$ .build/envsetup.sh
$ brunch cocktail[/font]

Accéder à l'usb

$ gksudo gedit /etc/udev/rules.d/99-android.rules

Et copier coller ceci dans le fichier en question, enregistrer et fermer.


#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

Retour au terminal, puis


$ sudo chmod a+r /etc/udev/rules.d/99-android.rules

Modifié par yohannyo
Lien vers le commentaire
Partager sur d’autres sites

  • Réponses 79
  • Créé
  • Dernière réponse

Top forumeurs sur ce sujet

Bon et bien après 3 heures de téléchargement des sources CM, ce que je craignais est arrivé, le téléchargement est fini, pas un fichier dans le repertoire CM. Et si je veux fermer le terminal, il me dit qu'il y a encore quelque qui tourne !!!

121208075311194385.png

Quelqu'un a une idée ?

Lien vers le commentaire
Partager sur d’autres sites

Tiens tu peux toujours lire ça si ça t'interesses, et oui en français, c'est rare !!!!

http://www.epingle.info/?p=1840

Pour résumer, si j'ai bien compris, il faut une base de travail (compilation) sous linux (ubuntu ou autre) avec quelques packages à installés sous ubuntu. Ensuite récupérer les sources soit :

- de google (pour AOSP)

- de Cyanogenmod

- AOKP.

Ensuite il faut récupérer les sources propres au téléphone et contructeurs (Le device tree et fichiers propriétaires). (Benetnath à creer un ensemble de ces fichiers).

Puis vient la compilation de l'ensemble (chose que je n'ai jamais vu !!!)

Voilà à première vu rien de compliqué si toutes les sources sont disponible (bien sur il y aura ceertainement des bidouilles a faire dans quelques fichiers, sinon on aurait déjà CM ou PA fonctionnel à 100%)

Alors faut il avoir un pc dédié à linux pour faire l'opération, je n'en sais rien. J'ai essayé pas mal de version d'ubuntu avec virtualbox, mais rien n'a fonctionné. Ce qui est dommage c'est le manque d'info en français sur ce sujet

Modifié par yohannyo
Lien vers le commentaire
Partager sur d’autres sites

Je viens de me rendre compte d'une chose, lorsqu'il est dit copier le SDK dans votre repertoire HOME.

Moi je l'ai copié dans HOME/yohann/

Je n'arrive pas à le copier directement dans HOME, est ce normal ?

Cela eviterai peut l'erreur que j'ai eu lors de l'installation de sdk platform tools

Lien vers le commentaire
Partager sur d’autres sites

Je suis entrain de refaire la manipulation, j'ai trouvé un autre package avec ubuntu 11.10, donc pas d'erreur sur celle ci.

La commande curl qui n'était pas disponible l'autre fois, là pas de problème.

Je n'ai pas installé le SDK, est ce necessaire ?

Je suis entrain de télécharger les sources CM, mais j'ai toujours ces 2 lignes qui me gene : est ce normal ?

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

ERREUR ou PAS

Après avoir lancé la commande repo sync : j'ai a chaque téléchargement de paquets, les premières me disent :

curl: (22) The requested URL returned error: 404

Server does not provide clone.bundle; ignoring

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Lien vers le commentaire
Partager sur d’autres sites

J'ai réussi à récuperer les sources de l'aokp (peut etre un bug chez CM).

Par contre il m'a tout copié dans mon dossier personnel, au lieu du repertoire aokp que j'avais créé, j'ai tenter une compilation, mais j'ai des problèmes sur la version de java, et je ne suis pas sur d'avoir pris les bonnes sources constructeurs pour l'aokp

J'ai repris celle de Benetnath:

git clone https://github.com/BENETNATH/android_device_alcatel_cocktail cocktail

Lien vers le commentaire
Partager sur d’autres sites

désolé, trop de trucs en ce moment, les enfants sont malades et plein de taf..

mon device tree compile sous AOKP sauf qu'il faut supprimer le package torch et que tu dois remplacer le repertoire goldfish dans le device tree par celui de CM10. celui de AOKP plante chez moi..

et pou info, je suis pas benet ; je suis ben & nath (ben en l'occurence) :)

Lien vers le commentaire
Partager sur d’autres sites

Ok, merci, ça ne m'aide pas vraiment car les sources je sais ou les trouver, mais c'est pas grave, ça peut servir.

J'ai réussi à compiler cm10 avec l'aide de Ben bien sur, mais j'avais un bootloop sur le logo cyanogenmod, dommage.

Certainement à cause des device tree de Ben (et PA). Il faudrait les device tree de ius (que j'ai) + fichiers propriétaires + kernel ? et le tout dans un fichier, comme celui de Ben. Le problème, c'est que je ne sais pas comment les récupérer proprement (avec quelle commande).

Et Ben n'a pas trop le temps en ce moment, le plus dur a été d'avoir un bon environnement de travail pour compiler.

Voilà les fichiers de ius (pour CM10) : device tree + kernel

https://github.com/ius/android_device_alcatel_cocktail.git

https://github.com/ius/alcatel_cocktail_kernel.git

Lien vers le commentaire
Partager sur d’autres sites

Comment te dire, c'est long surtout, et aucun tuto clair n'existe, et surtout rien en français.

Si tu enlèves les tutos qu'il y a ici et là pour flasher une rom ou zip, et bien tout le monde et toi même diraient que c'est compliqué (d'ailleurs moi même je ne comprenais rien avec tous ces thermes android), pourtant une fois que tu l'as fait 2-3 fois après tu trouves ça très simple et tu ne comprends même pas comment les gens ne savent pas le faire.

Tout ça pour dire, que s'il y avait des tutos un peu plus explicitent, il y aurait certainement plus de rom disponible pour chaque téléphone.

La partie la plus "difficile" à mes yeux et là ou il ne faut pas essayer de comprendre, c'est la création de l'environnement de travail pour pouvoir compiler.

Lien vers le commentaire
Partager sur d’autres sites

pour info, je viens de compiler CM10 avec mon device tree et tout fonctionne..

j'ai mis à jour pour etre sur

essaie de supprimer ton repertoire yohannyo et refais un git clone en spéficiant bien la branche jellybean

git clone https://github.com/BENETNATH/android_device_alcatel_cocktail cocktail -b jellybean

ça doit faire l'affaire

Lien vers le commentaire
Partager sur d’autres sites

J'ai du tout supprimer, car je n'avais plus assez de place sur mon DD c:/

J'ai installé virtualbox sur mon d:/ là ou j'ai le plus d'espace disponible.

ça fait 2 fois que je réassaye de récupérer les sources CM, mais toujours des erreurs. Soit l'environnement n'est pas bon, ou c'est le pc qui rame.

Je refais un test avec l'ajout ce la ligne suivante.

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

Et si ça passe je ferais ce que tu dis, merci.

Modifié par yohannyo
Lien vers le commentaire
Partager sur d’autres sites

Rejoignez la conversation

Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.

Invité
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.




×
×
  • Créer...