PDA

Ver la Versión Completa : [ TUTORIAL ] Configurar Ubuntu 12.04 Precise para compilar Roms desde sources


apu314
14/03/13, 13:54:42
Bueno compañeros, hoy os traigo un tutorial que he posteado en el vlog del Proyecto Android Libre. Con esto aprenderemos a preparar nuestro Ubuntu 12.04 Precise Pangolin correctamente para así compilar roms desde las sources.
¡Empezamos!

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Í! (http://developer.android.com/sdk/index.html)
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.


-----

Bueno, eso es todo. Más adelante haré otro tutorial para aprender a compilar CM10.1 desde sources.

Un saludo y aseguir bien compañeros

chujalt
15/03/13, 00:52:07
Muy buen tuto apu
Lástima que mi pc no sea de 64 bits.... pero cuando tenga pasta :dios: y me pueda comprar uno este tuto será uno de los primeros a tener en cuenta
Gracias

promete0
20/03/13, 10:17:52
Apu, pronto me pondré en serio. Acuérdate que me puse y al primer problema lo dejé de lado...jejeje Pero bueno, si te curras esto no podemos dejarlo de lado:ok:

A todo esto, descargo ubuntu de la página oficial y me sale ubuntu 12.04 TLS 64bit. Es ese?

apu314
20/03/13, 12:21:52
Apu, pronto me pondré en serio. Acuérdate que me puse y al primer problema lo dejé de lado...jejeje Pero bueno, si te curras esto no podemos dejarlo de lado:ok:

A todo esto, descargo ubuntu de la página oficial y me sale ubuntu 12.04 TLS 64bit. Es ese?

Extracto, ese mismo es :thumbup:

promete0
21/03/13, 22:23:24
He seguido este tuto junto con el de xda y estoy atascado en el tuto de xda en el punto 4 donde pone:

-Connect Phone to computer and type:
Code:
adb root cd ~/android/system/device/samsung/galaxysmtd/ ./extract-files.sh
Pues conecto mi movil al pc, le doy a adb root y me sale esto:
No se ha encontrado la orden «adb», quizás quiso decir:
La orden «cdb» del paquete «tinycdb» (main)
La orden «gdb» del paquete «gdb» (main)
La orden «dab» del paquete «bsdgames» (universe)
La orden «zdb» del paquete «zfs-fuse» (universe)
La orden «kdb» del paquete «elektra-bin» (universe)
La orden «tdb» del paquete «tads2-dev» (multiverse)
La orden «pdb» del paquete «python» (main)
La orden «jdb» del paquete «openjdk-6-jdk» (main)
La orden «jdb» del paquete «openjdk-7-jdk» (universe)
La orden «ab» del paquete «apache2-utils» (main)
La orden «ad» del paquete «netatalk» (universe)
adb: no se encontró la orden

Estoy en promete0@android:~/android/system$

Veloz46
13/04/13, 23:12:45
CyanogenMod and AOKP:

http://www.dev-puremod.es/forumdisplay.php?fid=83

http://www.dev-puremod.es/forumdisplay.php?fid=83

AlvaroOrduna
28/04/13, 11:50:14
Bueno, he tratado de seguir la guía, pero tengo problemas en la instalación de los siguientes paquetes:
zlib1g-dev:i386
libglapi-mesa:i386
libgl1-mesa-dri:i386
libgl1-mesa-glx:i386
libgl1-mesa-devdom
Si los instalo se me desinstalan los siguientes paquetes:
bcmwl-kernel-source
build-essential
dkms
g++
g++-multilib
gcc
gcc-multilib
ghc
libghc-bzlib-dev
libgl1-mesa-dri-lts-quantal
libgl1-mesa-dri-lts-quantal:i386
libgl1-mesa-glx-lts-quantal
libgl1-mesa-glx-lts-quantal:i386
libglapi-mesa-lts-quantal
libglapi-mesa-lts-quantal:i386
libxatracker1-lts-quantal
ubuntu-desktop
x11-xserver-utils-lts-quantal
xorg
xserver-common-lts-quantal
xserver-xorg-core-lts-quantal
xserver-xorg-input-all-lts-quantal
xserver-xorg-input-evdev-lts-quantal
xserver-xorg-input-mouse-lts-quantal
xserver-xorg-input-synaptics-lts-quantal
xserver-xorg-input-vmmouse-lts-quantal
xserver-xorg-input-wacom-lts-quantal
xserver-xorg-lts-quantal
xserver-xorg-video-all-lts-quantal
xserver-xorg-video-ati-lts-quantal
xserver-xorg-video-cirrus-lts-quantal
xserver-xorg-video-fbdev-lts-quantal
xserver-xorg-video-intel-lts-quantal
xserver-xorg-video-mach64-lts-quantal
xserver-xorg-video-mga-lts-quantal
xserver-xorg-video-modesetting-lts-quantal
xserver-xorg-video-neomagic-lts-quantal
xserver-xorg-video-nouveau-lts-quantal
xserver-xorg-video-openchrome-lts-quantal
xserver-xorg-video-r128-lts-quantal
xserver-xorg-video-radeon-lts-quantal
xserver-xorg-video-s3-lts-quantal
xserver-xorg-video-savage-lts-quantal
xserver-xorg-video-siliconmotion-lts-quantal
xserver-xorg-video-sis-lts-quantal
xserver-xorg-video-sisusb-lts-quantal
xserver-xorg-video-tdfx-lts-quantal
xserver-xorg-video-trident-lts-quantal
xserver-xorg-video-vesa-lts-quantal
xserver-xorg-video-vmware-lts-quantal
Como podréis ver, si estos paquetes se desinstalan luego no hay forma de entrar en el modo gráfico, a parte de que se desintalan paquetes que han sido instalados anteriormente, necesarios para la compilación, como por ejemplo:
build-essential
g++-multilib
¿Qué puedo hacer para instalarlos sin que se me desinstalen los otros paquetes.

PD: trabajo con un portátil HP 64 bits con Ubuntu 12.04 y Windows 8 (200 GB para Ubuntu y 50 GB para Windows).

Veloz46
18/05/13, 05:59:16
Mirate oficial de la pagina de AOSP, e instala los que hay te dicen, si no, en el mensaje anterior tienes los universales. (Validos para todas las compilaciones. CM AOSP AOKP Slim...)

Black_Coder
18/05/13, 11:44:46
Mirate oficial de la pagina de AOSP, e instala los que hay te dicen, si no, en el mensaje anterior tienes los universales. (Validos para todas las compilaciones. CM AOSP AOKP Slim...)

Oye Veloz, ¿te unirías al proyecto? Le he hechado un vistazo a tus tutoriales y son geniales los de tu Foro, además, nunca sobran cocineros. Pásate por el Post principal y ahí verás los que hay ya apuntados. Gracias tío, ¡un saludo!

Veloz46
18/05/13, 17:42:48
Oye Veloz, ¿te unirías al proyecto? Le he hechado un vistazo a tus tutoriales y son geniales los de tu Foro, además, nunca sobran cocineros. Pásate por el Post principal y ahí verás los que hay ya apuntados. Gracias tío, ¡un saludo!

Bueno, primero debería saber en que consiste pertenecer a Androide Libre, que es lo que se hace, se debe o debería hacer... ya que si hay que dedicar mas tiempo del que puedo, prefiero no meterme en otros proyectos.

Saludos. :ok:

Black_Coder
18/05/13, 18:20:25
Bueno, primero debería saber en que consiste pertenecer a Androide Libre, que es lo que se hace, se debe o debería hacer... ya que si hay que dedicar mas tiempo del que puedo, prefiero no meterme en otros proyectos.

Saludos. :ok:

Veloz, con aportar tus tutoriales al Proyecto Android Libre y con que estuvieras activo 5 min al día sería suficiente. Gracias por tu interés :ok:

Veloz46
20/05/13, 14:41:06
Si solo es eso no le veo inconveniente, donde hay que portarlos?

Black_Coder
20/05/13, 18:14:20
Si solo es eso no le veo inconveniente, donde hay que portarlos?

Puedes ponerlos en este Foro, el de tutoriales y luego crearemos en el post principal su enlace. ¡Un saludo!

pirri_mori
04/06/13, 23:17:37
Hola compas,he seguido el tuto y los de veloz para intentar compilar cyanmobile para el galaxy s i9000 (galaxysmtd) pero despues de sync repo me pierdo y no se q hacer.
Podeis echarme un cable? En el paso de los prebuilts con el emulador ya no se q hacer.
Saludos y gracias por todo lo q he aprendido leyendo vuestros tutos.
Ed: prdon,no iba aqui :D

Mr Denver
02/11/13, 16:47:17
Hola, Ante todo muchas gracias por el tuto.

Me estoy encontrando con problemas al instalar los paquetes necesarios. Uso Ubuntu 13.04

Al instalar los paquetes para la compilación me sale este aviso:
Nota, seleccionando «lib32z1-dev» en lugar de «lib32z-dev»
El paquete ia32-libs no está disponible, pero algún otro paquete hace referencia
a él. Esto puede significar que el paquete falta, está obsoleto o sólo se
encuentra disponible desde alguna otra fuente
Sin embargo, los siguientes paquetes lo reemplazan:
lib32z1 lib32ncurses5 lib32bz2-1.0

E: El paquete «ia32-libs» no tiene un candidato para la instalación
Y ahí me pierdo...

lukenvidal
06/12/13, 12:50:52
Buen tutorial :D :ok: