Aller au contenu

[TUTO] Compiler soi même une ROM Nexus 4


Okaryn

Recommended Posts

C'est ce que j'allais demander, est-ce qu'il compare le contenu des fichiers ou se base simplement sur la date de modif ? Si c'est le cas 1, alors oui, c'est plus rapide de remodifier que de retélécharger les fichiers ...

Lien vers le commentaire
Partager sur d’autres sites

J'ai modifié tous mes batch dans ce sens, je pense que c'est le contenu qui est vérifié, on verra bien lors des prochaines sync :D

Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

Je pense que la dernière ligne est inutile, tu le fais déjà en début de batch, donc pourquoi le refaire à la fin ?

Lien vers le commentaire
Partager sur d’autres sites

Salut

 

Oui la dernière ligne sert à rien , puisque tu le fais déjà au début , comme le dit Minux

Voici une fonction pour compiler que j'ai pris dans la CM et que j'ai modifié

 

function mka()
{
        schedtool -B -n0 -e ionice -c2 -n0 make -j$(cat /proc/cpuinfo | grep "^processor" | wc -l) "$@"
}

 

ça permet d'éviter de se poser la question pour la valeur de -j

et ça optimise le scheduling des cores ainsi que les i/o

 

du coup cette ligne : make bacon -j4

devient : mka bacon

  • Like 1
Lien vers le commentaire
Partager sur d’autres sites

C'est mon principe de précaution, vieilles habitudes de développeur et professionnelles ;) Si par exemple on souhaite refaire une synchro manuellement afin de modifier quelque chose ou faire des tests on n'a pas à se poser la question. Et le mettre en plus au début ça permet d'être certain à 100% si jamais le batch se plante ou qu'on l'a modifié à la main. Ca ne prend pas de temps et peut éviter de se poser des questions.

 

Sympa cette fonction El Liberator, c'est testé et ajouté :)

 

Merci à vous deux pour tous ces conseils !

Lien vers le commentaire
Partager sur d’autres sites

Hello, 

 

Je viens du Nexus 4 et je débute en compilation.

J'en suis à cette étape :

Voilà, nous venons de récupérer les sources génériques de la SlimBean, maintenant il faut lui indiquer que l'on souhaite travailler sur la version Nexus 4 afin qu'il récupère la partie spécifique à notre téléphone :

. build/envsetup.sh
lunch slim_mako
-userdebug

 

Je cherche maintenant à savoir comment adapter PSX (du N4) sur un LG G2.

Quelqu'un peut m'orienter ?

Merci !

Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

Si tu veux compiler PSX pour le LG G2, commence d'abord par compiler une rom pour laquelle le LG G2 est dispo, comme cm10.2 (le LG G2 correspond au modèle d802 il me semble)

 

Si tu y parviens, dans ce cas récupère les sources de PSX, et ensuite adapte-les en y incluant tout le nécessaire pour le LG G2 (généralement il faut deux dépots spécifiques pour chaque appareil, un pour le device, un pour le kernel) que tu trouveras dans les sources de cm10.2.

 

Bon courage !

  • Like 1
Lien vers le commentaire
Partager sur d’autres sites

Non, car dans ces branches, il n'y a généralement que les drivers et autres fichiers spécifiques au modèle ... Sinon trouve une rom AOSP compilable sur le G2 pour être sur ;)

Lien vers le commentaire
Partager sur d’autres sites

  • 2 weeks later...

bonsoir

 

j'ai essayé de compiler la rom rastakat en  4.4. les sources ont bien été téléchargées 22 go.avec un amd e450,il a fallu du temps.j'ai eu pas mal d'erreurs lors de l'étape 4/ en faisant un "make  otapackage -j4" comme le précise le poste de rascarlo. je n'ai pas pu récupérer le .zip final. il me manque également le boot.img et system.img. je pense relancer la compil. Mes connaissances de linux sont malheureusement assez faibles.

Super tuto en tout cas et merci.c'est un excellent exercice !

Lien vers le commentaire
Partager sur d’autres sites

Bonjour

 

Merci el Liberator

Cela a marché enfin avec l'essai fait sur l'Omnirom en 4.4 avec ubuntu 10.2 . flashé ce jour, tout est OK excepté le Wifi qui ne fonctionne pas mais je crois savoir que le fix est en passe d'être corrigé.

 

prochaine étape: comment ajouter des cherrypicks que l' on le souhaite et les tenir à jour. si vous avez de l'info ,je suis preneur.

 

merci encore pour cet excellent tuto.

Lien vers le commentaire
Partager sur d’autres sites

Ravi de voir que tu as réussi à t'en sortir.

 

Pour les Cherry Picks, il y a 2 méthodes selon l'endroit où les récupérer. Il y a 2 super sujets sur XDA, en anglais mais simple à comprendre et avec même des copies écran.

 

Depuis Gerrit : http://forum.xda-developers.com/showpost.php?p=37053013&postcount=7

 

Depuis Github : http://forum.xda-developers.com/showpost.php?p=42486858&postcount=449

Lien vers le commentaire
Partager sur d’autres sites

Ca corrsponds a quoi des chery pick ?

je vois aussi beaucoup plus de chose dans les prérequis, par rapport au wiki CM, surtout lié au 32bit apparemment

fly@fly-MS-7529:~$ sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev zlib1g-dev:i386 libc6-dev lib32ncurses5-dev x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 lib32z-dev libgl1-mesa-glx:i386 libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc readline-common libreadline6-dev libreadline6 lib32readline-gplv2-dev libncurses5-dev lib32readline5 lib32readline6 libreadline-dev libreadline6-dev:i386 libreadline6:i386 bzip2 libbz2-dev libbz2-1.0 libghc-bzlib-dev lib32bz2-dev libsdl1.2-dev libesd0-dev squashfs-tools pngcrush schedtool libwxgtk2.8-dev python lzop ccache
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Note, selecting 'lib32z1-dev' instead of 'lib32z-dev'
bison is already the newest version.
build-essential is already the newest version.
bzip2 is already the newest version.
curl is already the newest version.
flex is already the newest version.
git-core is already the newest version.
gnupg is already the newest version.
gperf is already the newest version.
libbz2-1.0 is already the newest version.
libc6-dev is already the newest version.
libesd0-dev is already the newest version.
libgl1-mesa-dev is already the newest version.
libgl1-mesa-dev set to manually installed.
libncurses5-dev is already the newest version.
libreadline6 is already the newest version.
libsdl1.2-dev is already the newest version.
libxml2-utils is already the newest version.
python is already the newest version.
readline-common is already the newest version.
squashfs-tools is already the newest version.
x11proto-core-dev is already the newest version.
x11proto-core-dev set to manually installed.
xsltproc is already the newest version.
zip is already the newest version.
zlib1g-dev is already the newest version.
lzop is already the newest version.
pngcrush is already the newest version.
schedtool is already the newest version.
libwxgtk2.8-dev is already the newest version.
The following packages were automatically installed and are no longer required:
  fonts-dejavu-extra libappindicator1 libasan0:i386 libatomic1:i386
  libcloog-isl4:i386 libcrypto++9 libgcc-4.8-dev:i386 libgif4 libgmp10:i386
  libgomp1:i386 libice-dev libindicator7 libisl10:i386 libitm1:i386
  libmpc3:i386 libmpfr4:i386 libpanel-applet-4-0 libquadmath0:i386
  libsensors-applet-plugin0 libsm-dev libxt-dev ttf-dejavu-extra tzdata-java
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
  g++-4.8-multilib gcc-4.8-base:i386 gcc-4.8-multilib gcc-multilib ghc
  lib32asan0 lib32atomic1 lib32bz2-1.0 lib32gcc-4.8-dev lib32gcc1 lib32gomp1
  lib32itm1 lib32ncurses5 lib32quadmath0 lib32stdc++-4.8-dev lib32stdc++6
  lib32tinfo-dev lib32tinfo5 lib32z1 libbsd-dev libc6:i386 libc6-dev:i386
  libc6-dev-i386 libc6-dev-x32 libc6-i386 libc6-x32 libdrm-intel1:i386
  libdrm-nouveau2:i386 libdrm-radeon1:i386 libdrm2:i386 libelf1:i386
  libexpat1:i386 libffi-dev libffi6:i386 libgcc1:i386 libgl1-mesa-dri:i386
  libglapi-mesa:i386 libgmp-dev libgmpxx4ldbl libllvm3.3:i386
  libpciaccess0:i386 libpthread-stubs0:i386 libpthread-stubs0-dev:i386
  libstdc++6:i386 libtinfo-dev:i386 libtinfo5:i386 libtxc-dxtn-s2tc0:i386
  libx11-6:i386 libx11-xcb1:i386 libx32asan0 libx32atomic1 libx32gcc-4.8-dev
  libx32gcc1 libx32gomp1 libx32itm1 libx32quadmath0 libx32stdc++-4.8-dev
  libx32stdc++6 libxau-dev:i386 libxau6:i386 libxcb-dri2-0:i386
  libxcb-glx0:i386 libxcb1:i386 libxcb1-dev:i386 libxdamage1:i386
  libxdmcp-dev:i386 libxdmcp6:i386 libxext6:i386 libxfixes3:i386
  libxxf86vm1:i386 linux-libc-dev:i386 mingw32-binutils mingw32-runtime
  python-pygments zlib1g:i386
Suggested packages:
  distcc lib32stdc++6-4.8-dbg libx32stdc++6-4.8-dbg lib32mudflap0
  libx32mudflap0 ghc-prof ghc-doc haskell-doc llvm ncurses-doc glibc-doc:i386
  locales:i386 manpages-dev:i386 libghc-bzlib-doc libghc-bzlib-prof
  libglide3:i386 libgmp10-doc libmpfr-dev libxcb-doc:i386 gcc-doc cpp-doc
  python-utidylib python-markdown-doc ttf-bitstream-vera
Recommended packages:
  gcc:i386 c-compiler:i386
The following NEW packages will be installed:
  ccache g++-4.8-multilib g++-multilib gcc-4.8-base:i386 gcc-4.8-multilib
  gcc-multilib ghc lib32asan0 lib32atomic1 lib32bz2-1.0 lib32bz2-dev
  lib32gcc-4.8-dev lib32gcc1 lib32gomp1 lib32itm1 lib32ncurses5
  lib32ncurses5-dev lib32quadmath0 lib32readline-gplv2-dev lib32readline5
  lib32readline6 lib32stdc++-4.8-dev lib32stdc++6 lib32tinfo-dev lib32tinfo5
  lib32z1 lib32z1-dev libbsd-dev libbz2-dev libc6:i386 libc6-dev:i386
  libc6-dev-i386 libc6-dev-x32 libc6-i386 libc6-x32 libdrm-intel1:i386
  libdrm-nouveau2:i386 libdrm-radeon1:i386 libdrm2:i386 libelf1:i386
  libexpat1:i386 libffi-dev libffi6:i386 libgcc1:i386 libghc-bzlib-dev
  libgl1-mesa-dri:i386 libgl1-mesa-glx:i386 libglapi-mesa:i386 libgmp-dev
  libgmpxx4ldbl libllvm3.3:i386 libpciaccess0:i386 libpthread-stubs0:i386
  libpthread-stubs0-dev:i386 libreadline-dev libreadline6:i386
  libreadline6-dev libreadline6-dev:i386 libstdc++6:i386 libtinfo-dev:i386
  libtinfo5:i386 libtxc-dxtn-s2tc0:i386 libx11-6:i386 libx11-dev:i386
  libx11-xcb1:i386 libx32asan0 libx32atomic1 libx32gcc-4.8-dev libx32gcc1
  libx32gomp1 libx32itm1 libx32quadmath0 libx32stdc++-4.8-dev libx32stdc++6
  libxau-dev:i386 libxau6:i386 libxcb-dri2-0:i386 libxcb-glx0:i386
  libxcb1:i386 libxcb1-dev:i386 libxdamage1:i386 libxdmcp-dev:i386
  libxdmcp6:i386 libxext6:i386 libxfixes3:i386 libxxf86vm1:i386
  linux-libc-dev:i386 mingw32 mingw32-binutils mingw32-runtime python-markdown
  python-pygments tofrodos zlib1g:i386 zlib1g-dev:i386
0 upgraded, 95 newly installed, 0 to remove and 5 not upgraded.
Need to get 135 MB of archives.
After this operation, 653 MB of additional disk space will be used.
Do you want to continue [Y/n]? n

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

Les cherry-picks sont des ajout dans ton code sources piqué dans le code source d'autres roms, ou dans les sources de ta roms qui sont pas encore comité ...

 

Pour le reste je comprend pas ta question ...

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...