PDA

Ver la Versión Completa : [ TUTORIAL ] [CM9] Descargar y compilar CM9 para el HTC Wildfire S usando Ubuntu 11.10 (de XDA)


sergio961993
26/04/12, 20:52:41
Antes de nada, explicar que este post va a ser un calco del post de benjamingwynn de XDA traducido al español, mas legible que traducido directamente de Google Translate, y con soporte a la gente que no tiene ni pajolera idea del ingles...
Con el fin de ayudar a la gente, no de crear plagio de otras webs.. un saludo,.

1. Descarga una copia de Ubuntu 11.10 de 64 bits e instala la en una partición con bastante memoria (El repositorio ocupa bastante..) - Puedes usar la version 12.04, pero es muy inestable y se necesitan pasos adicionales.

2. Escriba en el terminal la siguiente linea para agregar las fuentes requeridas para descargar los paquetes:

sudo add-apt-repository ppa:ferramroberto/java; sudo apt-get update3. Escribe lo siguiente en el terminal, esto permite a Ubuntu recoger los paquetes necesarios para compilar CM9. Se le pedirá una contraseña, te preguntará si estas seguro, Tecleas Y y pulsas enter:

sudo apt-get install git-core gnupg flex bison gperf libesd0-dev libwxgtk2.6-dev squashfs-tools build-essential zip curl libncurses5-dev zlib1g-dev sun-java6-jdk pngcrush schedtool g++-multilib lib32z1-dev lib32ncurses5-dev libc6-dev ia32-libs x11proto-core-dev lib32z-dev mingw32 tofrodos python-markdown python python-lunch libxml2-utils xsltproc libx11-dev:i3864. Es necesario este git para desarrollar el CM, tenemos que escribir siguiente comando..:

mkdir ~/bin; curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo; chmod a+x ~/bin/repo5. Descargada esto: http: // dl.google.com/android/android-sdk_r18-linux.tgz (http://dl.google.com/android/android-sdk_r18-linux.tgz) y esto: http: // dl.google.com/android/ndk/and... Ux-x86.tar.bz2 (http://dl.google.com/android/ndk/android-ndk-r7c-linux-x86.tar.bz2) - Estos son el NDK Y SDK, el equipo de desarrollo natal y el equipo de desarrollo de software.

6. Abre el gestor de archivos y haga una carpeta dentro de tu carpeta Home, llámala "android".

7. Haga las carpetas "sdk" y "ndk" dentro de ella.

8. Extraiga toda los archivos de "android-ndk-r7c-linux-x86.tar.bz2" en NDK y todos los archivos de "android-sdk_r18-linux.tgz" a SDK.

10. Teclear la línea siguiente para abrir un documento de texto:

sudo gedit .bashrc11. Añadir las líneas siguientes al inferior del documento - esto cambia "el patch" entonces puedes controlar comandos como órdenes de linux normales en cualquier otra parte de tu sistema.

# Android Software
export PATH=${PATH}:~/android/sdk/tools
export PATH=${PATH}:~/android/sdk/platform-tools
export PATH=${PATH}:~/android/ndk/android-ndk-r7/toolchains/arm-eabi-4.4.0/prebuilt/linux-x86/bin
export PATH=${PATH}:~/bin13. Guarda y sal, luego escribe las líneas siguientes para hacer una carpeta y entrar en ella:

mkdir -p ~/cyanogenmod/system; cd ~/cyanogenmod/system14. Ahora teclee estas siguientes líneas para poner otro (fallback) parche y que se cree el repositorio de CM en esta carpeta:

PATH=~/bin:$PATH; repo init -u git://github.com/CyanogenMod/android.git -b ics15. Ahora teclee el siguiente comando :

gedit .repo/local_manifest.xmlpara abrirse otro documento de texto, en este documento - que estará vacío, agrega estas líneas, guardan y cierran.

<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote name="cryptomilk"
fetch="git://git.cryptomilk.org/" />

<project name="CyanogenMod/android_device_htc_common" path="device/htc/common" revision="refs/heads/gingerbread" />
<project name="projects/marvel/android_device_htc_marvel.git" path="device/htc/marvel" remote="cryptomilk" />
<project name="projects/marvel/android_vendor_htc_proprietary.git" path="vendor/htc" remote="cryptomilk" />
<project name="projects/marvel/kernel_htc_msm7227.git" path="kernel/htc/msm7277" remote="cryptomilk" />16. Si no deseas descargar archivos insustanciales para dispositivos diferentes entonces teclean:

gedit .repo/manifest.xmly eliminarais las siguientes lineas:

<project path="device/moto/common" name="CyanogenMod/android_device_moto_common" />
<project path="device/moto/stingray" name="CyanogenMod/android_device_moto_stingray" />
<project path="device/moto/wingray" name="CyanogenMod/android_device_moto_wingray" />17. ¡Ahora para formar la primera sincronizan con el CM teclean .. - Esto tardará mucho! no te preocupes si ves que tarda bastante... Si por cualquier razón necesitas parar la sincronización entonces tipea CTRL+Z.

repo sync18. Debes ahora configurar el vendor, teclea:

./vendor/cm/get-prebuilts19. Establezca el entorno escribiendo en la terminal lo siguiente para decirle a ubuntu que vas a compilar CM9:

source build/envsetup.sh; lunch cm_marvel-eng20. Escriba el siguiente para preparar la utilización del cache para compilar.

export USE_CCACHE=121. Ahora, por fin compilar CM9. Para hacer esto siempre tenemos que multiplicar el numero de cores que tiene nuestro procesador. . Por ejemplo, en un pc de 4 núcleos se pondría el numero 8,. Una vez sepa cuantos núcleos tiene y los multiplique por 2, colócalos en donde ahora se ve "xx"

make -jxx baconPor ejemplo, en el caso anterior estariamos tecleando lo siguiente:

make -j8 bacon22. Si la compilación es satisfactoria, tendrás que ver algo como esto:

Package complete: /home/benjamin/cyanogenmod/system/out/target/product/marvel/update-cm-9.0.0-RC0-marvel-UNOFFICIAL-signed.zipIr a esa carpeta y copie y pegue el archivo en el telefono teléfono, instalarlo en el recovery.


Mini Tutorial: (Solo si se ha sincronizado una primera vez, para aplicar los posibles cambios en el repo y recompilar)

Sólo hay dos pasos necesarios para la compilación CM9 después de reiniciar o alejarse del PC:

cd ~/cyanogenmod/system; repo sync; source build/envsetup.sh; lunch cm_marvel-eng; export USE_CCACHE=1Esto va a hacer todos los pasos necesarios para compilar pero sólo funcionará si has completado el tutorial de arriba se ha generado bien la compilación. Repo sync no tardara mucho tiempo, porque todos los archivos ya están en su PC, y solo coge los archivos modificados,.

Teclea make -jxx bacon lo mismo que en el tutorial para construir CM9.

Si quieres conocer los cambios echos en el repositorio antes de recompilar, puedes verlos en este link : http://git.cryptomilk.org/projects/marvel/android_device_htc_marvel.git/log/?h=ics


Todos los creditos para benjamingwynn de XDA, por su fantástico trabajo, y ayuda a los que no tenemos ni pijolera idea de estas cosas.

Si alguien tiene alguna duda, o necesita cualquier aclaración, puede postear directamente aqui o en el foro de nuestro terminal en XDA.

Un saludo :)

sergio961993
26/04/12, 20:55:21
FAQ

P. Podrías ayudarme, por favor, me dice esto cuando ejecuto "repo sync"...

Fetching projects: 100% (249/249), done.
Syncing work tree: 95% (237/249) fatal: cannot create directory at 'eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/descriptors': No space left on device
Traceback (most recent call last):
File "/home/benjamin/cyanogenmod/system/.repo/repo/main.py", line 385, in _Main(sys.argv[1:])
File "/home/benjamin/cyanogenmod/system/.repo/repo/main.py", line 365, in _Main result = repo._Run(argv) or 0
File "/home/benjamin/cyanogenmod/system/.repo/repo/main.py", line 137, in _Run result = cmd.Execute(copts, cargs)
File "/home/benjamin/cyanogenmod/system/.repo/repo/subcmds/sync.py", line 467, in Execute project.Sync_LocalHalf(syncbuf)
File "/home/benjamin/cyanogenmod/system/.repo/repo/project.py", line 1027, in Sync_LocalHalf self._InitWorkTree()
File "/home/benjamin/cyanogenmod/system/.repo/repo/project.py", line 1814, in _InitWorkTree
raise GitError("cannot initialize work tree")
error.GitError: cannot initialize work tree
R. Tu disco duro está lleno. Libere algunas cosas y vuelva a intentarlo.

P. ¿Podría ayudar, por favor ..

============================================
Checking build tools versions...
************************************************** **********
You are attempting to build with an unsupported version
of java.

Your version is: java version "1.6.0_24".
The correct version is: Java SE 1.6.

Please follow the machine setup instructions at
http://source.android.com/source/download.html
************************************************** **********
grep: build/target/board/generic/recovery.fstab: No such file or directory
build/core/java.mk:20: *** dalvik/dexgen: Invalid LOCAL_SDK_VERSION '4' Choices are: current . Stop.R. Tiene una versión diferente de Java, por alguna razón, intente lo siguiente ...

sudo -i
[[introduce contraseña]]
apt-get remove openjdk-6-jdk
apt-get remove sun-java6-jdk
add-apt-repository "deb http://archive.canonical.com/ lucid partner"
apt-get update apt-get upgrade
sudo apt-get install sun-java6-jdk
sudo update-alternatives --config java
[[selecciona el numero 1]]P. He descargado Ubuntu 12.04 , no está funcionando! ¿Hay alguna solución rapida y temporal?
R. En primer escriba esto:

sudo apt-get install git-core gnupg flex bison gperf build-essential \
zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \
libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-dev:i386 \
g++-multilib mingw32 openjdk-6-jdk tofrodos python-markdown \
libxml2-utils xsltproc zlib1g-dev:i386
para conseguir los paquetes..

chucky6600
26/04/12, 21:57:32
gracias amigo...servirá para futuras pruebas...aunque la cm9 estará compilada y no oficial la semana que viene....aquí tienes todos los datos....

http://www.htcmania.com/showthread.php?t=360827

sergio961993
27/04/12, 00:10:28
gracias amigo...servirá para futuras pruebas...aunque la cm9 estará compilada y no oficial la semana que viene....aquí tienes todos los datos....

http://www.htcmania.com/showthread.php?t=360827

Si, he leido el post.. Será oficial de modpunk, pero no oficial de CM9...

Un saludo.

nano_9219
27/04/12, 00:45:17
Si alguien va a hacerlo recomiendo encarecidamente hacerlo con una maquina virtual.

Aconsejo VMWare o VirtualBox

sergio961993
27/04/12, 16:13:35
Si alguien va a hacerlo recomiendo encarecidamente hacerlo con una maquina virtual.

Aconsejo VMWare o VirtualBox

No olvides que los archivos necesarios de la repo ocupan bastante.. y que para compilar te hace falta un buen procesador, sino, te demoraras mucho compilandolo... Yo personalmente creo que es mejor particionar el disco duro, y utilizar la partición de Windows para meter el core... Yo lo tengo así montado, y sinceramente, me funciona bastante bien con un Intel T4200 a 2Ghz