Social Icons

¡PARTICIPA! - ¿Dudas, Preguntas...? - ¿Quieres ser redactor?
Entra al chat de aceicm ¡¡AQUI!!

martes, 12 de marzo de 2013

[TUTORIAL] Configurar Ubuntu 12.04 Precise para compilar Roms desde sources

Configurar Ubuntu 12.04 para compilar Roms desde sources
y aprender a compilar CM-10.1 para un terminal soportado


#¿Qué necesitamos?
  • Ubuntu 12.04 de 64 bits (tu procesador debe aceptar SO de 64 bits)

#¡Vamos a ello!

  1.Debemos tener instalada la versión corecta de JDK para poder compilar android. Para ello primero desisntalaremos las versiones de java que no necesitemos ejecutando el siguiente comando en el terminal de Ubuntu:

sudo apt-get purge openjdk-\* icedtea-\* icedtea6-\*

  2.Instalamos la versión de java JDK que necesitamos, para ello primero instalamos el repositorio

sudo add-apt-repository ppa:webupd8team/java

y luego instalamos el JDK escribiendo lo siguiente, de nuevo, en el terminal de ubuntu:

sudo apt-get update && sudo apt-get install oracle-java6-installer

  3.Chequeamos que la versión que hemos instalado es la correcta con el siguiente comando:

java -version

Nos debe salir algo así:

java version "1.6.0_43"
Java(TM) SE Runtime Environment (build 1.6.0_43-b01)
Java HotSpot(TM) 64-Bit Server VM (build 20.14-b01, mixed mode)

  4.Instalmos los paquetes necesarios para compilar:

sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev zlib1g-dev:i386 libc6-dev lib32ncurses5-dev ia32-libs 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

  5.Instalar el Android SDK

Antes que nada debemos crear la carpeta donde se instalará el Android SDK. Para ello tecleamos lo siguiente:

cd ~
mkdir android
cd android
mkdir sdk

Tememos que descargar el Android SDK de ¡AQUÍ!
Luego, lo extraemos en ~/android/sdk
Añadimos el SDK al PATH con el siguiente comando:

sudo gedit ~/.bashrc

Se nos abre una ventana del editor de textos y, abajo del todo, escribimos lo siguiente:

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


Ahora editaremos el Path para el USB:

sudo gedit /etc/udev/rules.d/51-android.rules

Se nos abrirá una ventana del editor de textos y dentro pegaremos las siguientes líneas:

# adb protocol on passion (Nexus One) 
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e12", MODE="0600", OWNER="<username>
# fastboot protocol on passion (Nexus One) 
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0fff", MODE="0600", OWNER="<username>
# adb protocol on crespo/crespo4g (Nexus S) 
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e22", MODE="0600", OWNER="<username>
# fastboot protocol on crespo/crespo4g (Nexus S) 
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e20", MODE="0600", OWNER="<username>
# adb protocol on stingray/wingray (Xoom) 
SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", ATTR{idProduct}=="70a9", MODE="0600", OWNER="<username>
# fastboot protocol on stingray/wingray (Xoom) 
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="708c", MODE="0600", OWNER="<username>
# adb protocol on maguro/toro (Galaxy Nexus) 
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="6860", MODE="0600", OWNER="<username>
# fastboot protocol on maguro/toro (Galaxy Nexus) 
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e30", MODE="0600", OWNER="<username>
# adb protocol on panda (PandaBoard) 
SUBSYSTEM=="usb", ATTR{idVendor}=="0451", ATTR{idProduct}=="d101", MODE="0600", OWNER="<username>
# fastboot protocol on panda (PandaBoard) 
SUBSYSTEM=="usb", ATTR{idVendor}=="0451", ATTR{idProduct}=="d022", MODE="0600", OWNER="<username>
# usbboot protocol on panda (PandaBoard) 
SUBSYSTEM=="usb", ATTR{idVendor}=="0451", ATTR{idProduct}=="d00f", MODE="0600", OWNER="<username>
# usbboot protocol on panda (PandaBoard ES) 
SUBSYSTEM=="usb", ATTR{idVendor}=="0451", ATTR{idProduct}=="d010", MODE="0600", OWNER="<username>
# adb protocol on grouper/tilapia (Nexus 7) 
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e42", MODE="0600", OWNER="<username>
# fastboot protocol on grouper/tilapia (Nexus 7) 
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e40", MODE="0600", OWNER="<username>
# adb protocol on manta (Nexus 10) 
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee2", MODE="0600", OWNER="<username>" 
# fastboot protocol on manta (Nexus 10) 
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee0", MODE="0600", OWNER="<username>"

Cambiar donde pone <username> por tu usuario de Ubuntu

Damos permisos de ejecución al archivo que acabamos de crear:

sudo chmod +x /etc/udev/rules.d/99-android.rules

Cerramos la terminal, abrimos una nueva y escribimos lo siguiente y pulsamos enter:

android

Instalamos SDK platform tools

  6.Instalamos la repo

mkdir -p ~/bin
mkdir -p ~/android/system
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
chmod a+x ~/bin/repo

Lo añadimos al Path:

sudo gedit ~/.bashrc

Y escribimos lo siguiente:

export PATH=$PATH:~/bin

Guardamos, cerramos y, listo, pueden salir del terminal.

---
Espero que hayan aprendido algo nuevo y que les haya servido de ayuda.
Hasta el próximo tutorial!
By: apu314

5 comentarios :

  1. si quieres comenzar a desarrollar roms para tu terminal, da igual cual sea, y lo que quieres es compilarlas desde el codigo fuente, o también se le puede decir sources (en inglés), tienes que empezar por configurar un entorno de trabajo para compilar. Esto se hace desde linux. Yo recomiendo Ubuntu 12.04, que es el que yo uso. Actualmente yo me encuentro desarrollando roms para el teléfono Samsung galaxy S I9000... pero aún así de vez en cuando os traigo alguna noticia sobre el s5830i.
    Si por ejemplo tienes un s5830i y quieres compilar cm7 o cm9, que son las dos unicas que se pueden de momento aun así con varios bugs importantes, primero tienes que configurar el ubuntu de la manera que te explico en el tutorial.
    Más adelante haré otro sobre cómo compilar las roms desde sources habiendo antes seguido este tutorial.

    Saludos! :D

    ResponderEliminar
  2. y todo esto se hace desde nuestro android ? o desde el ordenador ?

    ResponderEliminar
    Respuestas
    1. No no, claramente se hace desde el ordenador. Y, además es recomendable tener un pc con al menos un procesador doble núcleo tipo dual core o superior, una buena ram 3gb o superior, etc

      Eliminar
  3. Hola,
    Llevo unos días curioseando en estos temas. Ayer me decidí a instalar Ubuntu y dar los primeros pasos. Puede que hiciera más de una cosa mal pero lo principal, lo que me detuvo, fue a la hora de sincronizar las fuentes de Vanilla Rootbox; después de hora y pico, se detuvo con un error de falta de espacio para almacenamiento (y que por ese motivo no podía seguir construyendo el árbol de...)
    La instalación de Ubuntu la había hecho en una partición de 150 Gb en un disco externo, y en el cuadro de diálogo de la instalación había asignado 30Gb (el máximo que me permitía dicho cuadro) a la "instalación de archivos" (creo que era el nombre del desplegable).
    Ya sé que he soltado mucho rollo y por eso pido disculpas, pero soy bastante novato y no sé si me explico bien. Cualquier ayuda será más que bienvenida. Gracias!

    ResponderEliminar