PDA

Ver la Versión Completa : [ TUTORIAL ] Crea tus propias compilaciones CyanogenMod 10.1.


Veloz46
21/03/13, 01:44:56
http://www.foro-nexus.com/images/Cabezal-Web-Android.png

ES NECESARIO:

-Sistema operativo Linux 64bits (debería funcionar con cualquier distro)

-Probado en Ubuntu 12.04 y 12.10 (64 bits)

-Hardware decente(minimo un doble núcleo con 4GB de RAM)

-Espacio en disco de unos 150GB (mejor que sea superior)

-ADB y Fastboot (Instalación en el segundo post)

Paquetes requeridos:
(Son universales, valen para casi cualquier tutorial de compilado)

-Simplemente copia y pega esto en una ventana de terminal y le das al enter. (instala los siguientes paquetes, uno detrás de otro):

sudo apt-get install git-core gnupg flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk2.8-dev squashfs-tools build-essential zip curl libncurses5-dev zlib1g-dev openjdk-6-jre openjdk-6-jdk pngcrush schedtool libxml2 libxml2-utils xsltproc libc6-dev x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 libgl1-mesa-dev mingw32 tofrodos python-markdown

sudo apt-get install g++-multilib lib32z1-dev lib32ncurses5-dev lib32readline-gplv2-dev gcc-4.7-multilib g++-4.5-multilib

sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so

Problemas con el java?
(solo si lo anterior te tira error con el java)

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java6-installer
sudo update-java-alternatives -s java-6-oracle
sudo apt-get install oracle-java6-set-default

Obtención del código Fuente

Copy/paste:

Crear directorio para el repositorio binario:

mkdir ~/bin

PATH=~/bin:$PATH

Añadir el repositorio binario:

curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo

Dar permisos al repositorio binario:

chmod a+x ~/bin/repo

Crear el directorio para el código CM:

mkdir ~/source-cm-10.1

Entrar en el directorio del código:

cd ~/source-cm-10.1

Inicializar el repositorio de CM y descargar el manifiest:

repo init -u git://github.com/CyanogenMod/android.git -b cm-10.1

Para que nos compile y arranque bien la compilación, es necesario realizar la extracción de los archivos propietarios, ya que si no, no arrancará.
Para saltarte el paso de extraer los archivos propietarios, puedes realizar los pasos que verás dentro del spoiler numero 1, si quieres hacerlo de forma "oficial" realiza el spoiler numero 2:

Para saltarse el paso de extraer los archivos propietarios:

Ahora tenemos que ir a la la carpeta que se a creado en nuestra carpeta personal, llamada "source-cm-10.1".
En la barra superior vamos a "ver" y le damos a "Mostrar los archivos ocultos" ahora vamos a la carpeta ".repo" y creamos una que se llame "local_manifests"
Ahora entramos dentro de la carpeta nueva y creamos un documento vacío, "botón derecho/crear documento/documento vacío"
Le damos de nombre "local_manifest.xml" y lo abrimos.
Ahora copiamos dentro del archivo el siguiente código:

<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote fetch="http://github.com/" name="gh" revision="master" />
<remote fetch="https://github.com/TheMuppets/" name="TheMuppets" revision="cm-10.1" />
<project name="TheMuppets/proprietary_vendor_samsung" path="vendor/samsung" remote="gh" revision="cm-10.1" />
<project name="TheMuppets/proprietary_vendor_imgtec" path="vendor/imgtec" remote="gh" revision="cm-10.1" />
<project name="TheMuppets/proprietary_vendor_broadcom" path="vendor/broadcom" remote="gh" revision="cm-10.1" />
<project name="TheMuppets/proprietary_vendor_invensense" path="vendor/invensense" remote="gh" revision="cm-10.1" />
<project name="CyanogenMod/android_device_samsung_maguro" path="device/samsung/maguro" remote="github" />
<project name="CyanogenMod/android_kernel_samsung_tuna" path="kernel/samsung/tuna" remote="github" />
<project name="CyanogenMod/android_device_samsung_tuna" path="device/samsung/tuna" remote="github" />
</manifest>

Para realizar el paso de extraer los archivos propietarios:
(official)

Ahora tenemos que ir a la la carpeta que se a creado en nuestra carpeta personal, llamada "source-cm-10.1".
En la barra superior vamos a "ver" y le damos a "Mostrar los archivos ocultos" ahora vamos a la carpeta ".repo" y creamos una que se llame "local_manifests"
Ahora entramos dentro de la carpeta nueva y creamos un documento vacío, "botón derecho/crear documento/documento vacío"
Le damos de nombre "local_manifest.xml" y lo abrimos.
Ahora copiamos dentro del archivo el siguiente código:

<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="CyanogenMod/android_device_samsung_maguro" path="device/samsung/maguro" remote="github" />
<project name="CyanogenMod/android_kernel_samsung_tuna" path="kernel/samsung/tuna" remote="github" />
<project name="CyanogenMod/android_device_samsung_tuna" path="device/samsung/tuna" remote="github" />
</manifest>


Sync el código fuente de CM:

cd ~/source-cm-10.1

repo sync

Este paso va a tardar horas, por lo que tranquilo, en caso de que de algún error, vuelve al poner el último comando.*

Vamos a añadir los prebuilds como el terminal emulator:

cd ~/source-cm-10.1/vendor/cm

./get-prebuilts

Extraer archivos propietarios:

En caso de querer hacerlo de forma "oficial" conecta el móvil al usb encendido con la depuración activada.
(Este paso lo he probado con la rom oficial con root, asegúrate que si te pide aceptar la huella digital que lleva 4.2.2 lo aceptes, ya que si no, dará error.)

Ahora mete en el terminal lo siguiente:

cd ~/source-cm-10.1/device/samsung/maguro

Ahora ejecutas:

./extract-files.sh

Mira que no tire errores, si los tira, habrá que ver el por que.

Iniciar la construcción:

cd ~/source-cm-10.1

. build/envsetup.sh && brunch maguro

Cuando acabe la rom la encontrarás en:

Carpeta Personal/source-cm-10.1/out/target/product/maguro/

Para la recopilación es tan fácil como:

cd ~/source-cm-10.1

make clobber

repo sync

. build/envsetup.sh && brunch maguro

Este paso es totalmente necesario para poder descargar los cambios desde la última sincronización, y poder compilar de nuevo con los cambios nuevos.

http://www.foro-nexus.com/showthread.php?tid=278&pid=2522#pid2522

http://www.foro-nexus.com/showthread.php?tid=278&pid=2522#pid2522

josemariajsm
21/03/13, 09:30:49
Jolin Veloz, tu no paras, escribo poco pero leo bastante y casi siempre estas detrás de los nuevos aportes.