RaYmunDooo
06/02/14, 23:13:56
Autor: @maresaron
*******HERRAMIENTAS PARA COMPILAR*******
Antes que nada quiero agradecer a una persona mejor dicho un gran amigo que sin duda alguna me ayudo a testear y a organizar el tuto ya que sin la ayuda del esto no sería posible
gracias hermano: @RaYmunDooo
Bueno empezamos quiero hacer este tuto lo más sencillo posible para que se entienda y se analice claro está que cuando lo dominen ya no utilizarán muchas carpetas como en el tuto solo bastará con utilizar una que es donde vamos a depositar la sources
Para este tu yo utilice "UBUNTU 12.0.4" de 32 bits ustedes pueden utilizar Linux mint 16 petra mate de 32bit o también xubuntu
http://www.ubuntu.com/
http://www.linuxmint.com/edition.php?id=145
http://xubuntu.org/
Yo utilizo máquina virtual ya sea virtualbox o VMware-workstation-full-10.0.1 yo utilizo este último como mi virtual, ustedes pueden utilizar virtual box es criterio de cada quien
https://mega.co.nz/#!w84gwASb!1S0Njkqg3q1VXcJ2-08pVtd8DYbI9ocG8iLHhVpMuh0
Seriales de mvware workstation para su activación
https://mega.co.nz/#!AtZEhDZI!fGlcGEwV0TMpgzvCjUS8fUxawbtZE6mQpUeN4Uz tZ6Y
Porque Ubuntu ,linuxmint y xubuntu por lo sencillo y práctico que es, claro está que también he compilado con fedora y recomiendo linuxmint para las personas que comienzan por lo sencillo y practico
(Cuando digamos carpeta física lo haremos manual carpeta por carpeta sin usar terminal y cuando usemos terminal tenemos que tener cuidado de respetar los espacios y los tamaños de letra no es lo mismo en comando terminal usar sudo que Sudo respetemos los nombres ya después les enseñaré hacer todo desde terminal)
Ejemplo de Instalación de vmware y linuxmint es lo mismo para ubuntu y xubuntu
http://www.youtube.com/watch?v=zuuYjNHMYm8
Obtén e instala las herramientas que se requieren para compilar tu propio kernel ejecutando este comando en el terminal
-Comando:
cd ( Damos Enter )
-Primero metemos estos
-Comando :
sudo apt-get update && sudo apt-get upgrade
-Luego Mete estos
-Comando :
sudo apt-get instaló git-core gnupg flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk2.8-dev squashfs-tools build-essential zip curl 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 mingw32 tofrodos python-markdown lzma autoconf schedtool optipng g++-multilib gcc gcc-multilib diffstat texi2html gawk chrpath subversion git autoconf automake make cvs flex gettext git-core gzip help2man ncurses-dev libtool pkg-config zlib1g-dev kernel-package bzip2 make numlockx aptitude gdebi p7zip-full p7zip-rar rar unrar zlib1g-dev unzip libsdl-dev gedit libncurses5-dev
(En caso de Linux 64bit instala también estos
sudo apt-get install lib32z1-dev lib32ncurses5-dev lib32readline-gplv2-dev )
-Luego estos
-Comando :
sudo apt-get instaló libc6-armel-cross libc6-dev-armel-cross binutils-arm-linux-gnueabi
Estos:
-Comando :
sudo aptitude install gcc-arm-linux-gnueabi
****COMPILAR EL KERNEL*****
#Paso 1 TOOLCHAINS , NDK
Para la compilación cruzada del kernel necesitamos una cadena de herramientas conocidas como toolchain o prebuilt estas se pueden bajar desde el código fuente de google , o con una NDK o desde el git de algún devolper solo escojan uno
Para este tuto yo voy a utilizar "NDK"
Descarga:
http://dl.google.com/android/ndk/android-ndk-r8e-linux-x86.tar.bz2
Peguen las NDK en carpeta física personal ( ejemplo home/maresaron / aquí pega tus NDK
RECUERDA REMPLASAR maresaron POR TU NOMBRE DE USUARIO
Si ustedes desean instalar toolchains desde el código google utilizando el comando git clone ponemos esto desde terminal
-Comando :
git clone https://android.googlesource.com/platform/prebuilt.git (damos enter)
Se recomiendan toolchain 4.4.3 o NDK r5c o r8e ya que estas contiene toolchain 4.4.3 que son la que vamos a usar cualquiera que ustedes elijan está bien pero solo elijan una ya sea "NDK" o "CÓDIGO DE GOOGLE"
Si tu opción fue con la NDK como en mi caso solo basta con descomprimirla para eso ejecutamos esto en la misma terminal
-Comando :
cd ( Damos Enter )
Luego descomprimimos el archivo
-Ejemplo:
tar xvf (nombre del archivo NDK)
-Comando:
tar xvf android-ndk-r8e-linux-x86.tar.bz2 ( Damos Enter )
Espera a que termine de descomprimir
#Paso 2 SOURCES
Bajamos las últimas sources de nuestro dispositivo
http://opensource.samsung.com/
Y las pegamos en carpeta física personal (ejemplo home/maresaron/ aquí pego mis sources)
RECUERDA CAMBIAR EL maresaron POR TU NOMBRE DE USUARIO
#####((((((OPCION DE KERNEL SOURCES))))))))))#####
-Comandos :
$ git clone https://android.googlesource.com/kernel/common.git
$ git clone https://android.googlesource.com/kernel/exynos.git
$ git clone https://android.googlesource.com/kernel/goldfish.git
$ git clone https://android.googlesource.com/kernel/msm.git
$ git clone https://android.googlesource.com/kernel/omap.git
$ git clone https://android.googlesource.com/kernel/samsung.git
$ git clone https://android.googlesource.com/kernel/tegra.git
El "goldfish" proyecto contiene las fuentes del kernel para las plataformas emulados.
El "msm" proyecto cuenta con las fuentes de ADP1, ADP2, Nexus One, Nexus 4, y se puede utilizar como punto de partida para el trabajo en los chipsets Qualcomm MSM.
El "omap" proyecto se utiliza para PandaBoard y el Galaxy Nexus, y se puede utilizar como punto de partida para el trabajo en los chipsets TI OMAP.
El "samsung" proyecto se utiliza para Nexus S, y se puede utilizar como punto de partida para el trabajo en los chipsets Samsung Hummingbird.
El "Tegra" proyecto es para Xoom y Nexus 7, y se puede utilizar como punto de partida para el trabajo en los chipsets NVIDIA Tegra.
El "exynos" proyecto tiene los fuentes del kernel de Nexus 10, y se puede utilizar como punto de partida para el trabajo sobre Samsung Exynos chipsets.
################################################## ########################
#Paso 3 CARPETAS DE TRBAJO
Antes que nada debemos crear unas carpetas para trabajar, para ello haremos lo siguiente:
-En la misma terminal ponemos:
cd (Damos Enter)
Luego ponemos
Comando:
mkdir android (Damos Enter)
-Se creó una carpeta llamada android
-Entramos en ella
-Comando:
cd android (Damos Enter)
-Dentro de esta vamos a crear una carpeta llamada kernel
Comando:
mkdir kernel (Damos Enter)
-Se creó una carpeta llamada kernel
-Entramos en ella
-Comando:
cd kernel (Damos Enter)
#Paso 4 DESCOMPRIMIR LAS SOURCES
Vamos a descomprimir el paquete para eso en la misma terminal ponemos
-Comando :
cd ( Damos Enter )
-Ejemplo :
unzip "nombre archivo.zip"
-Comando :
unzip GT-I9300_JB_Opensource_Update13.zip ( Damos Enter )
cuando lo descomprimas te creará dos archivos plataforma y el otro kernel vamos a mover el paquete "kernel.tar.gz" a la ruta de carpetas (android/kernel/) para esto en la misma terminal
Ponemos
-Comando :
cd ( Damos Enter )
Luego vamos a mover el paquete a la carpeta kernel
-Comando :
mv kernel.tar.gz android/kernel/ ( Damos Enter )
vamos a descomprimir únicamente el archivo kernel.tar.gz desde terminal.
En la misma terminal ponemos
-Comando:
cd (Damos Enter)
Luego ponemos
-Comando:
cd android/kernel/ (Damos Enter)
Luego ejecutamos
-Comando:
tar xvf Kernel.tar.gz
sino descomprime con el anterior prueba este
-Comando:
tar xvzf Kernel.tar.gz
deja que descomprima
cerramos terminal
#Paso 5 MODIFICAR MAKEFILE Y BASHRC
Antes que nada tenemos que modificar dos archivos uno llamado "MAKEFILE" y otro llamado "BASHRC".
Vamos a modificar primero el " MAKEFILE " que se encuentra ubicado en la raíz de las sources en la ruta "ANDROID/KERNEL" para esto abrimos el archivo con un editor de textos.
En la misma terminal ponemos
-Comando:
cd ( Damos Enter )
Luego vamos a ruta de sources
-Comando:
cd android/kernel/ ( Damos Enter )
Luego ponemos
-Comando:
sudo gedit Makefile ( Damos Enter )
Enseguida se nos abre una nueva ventana y modificamos la línea 196 del "CROSS_COMPILE"
( AQUI SE TIENE QUE EDITAR LA RUTA DE CARPETAS DE NUESTRA TOLCHAINS O NDK SEGUN SEA EL CASO ESTO CON LA FINALIDAD DE QUE AL COMPILAR NO MARQUE ERROR )
Para esto editamos la ruta de carpetas en las que tenemos nuestras "TOOLCHAINS" o "NDK" respetando los tamaños de letra y espacios de estas.
EJEMPLO DE COMO EDITARLO
CROSS_COMPILE = /
Después del ( / ) tenemos que poner esto:
home/"Tu nombre de usuario"/android-ndk-r8e/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-
Quedando de esta forma en mi caso:
CROSS_COMPILE = /home/maresaron/android-ndk-r8e/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-
( Respetar el ( - ) al final ya que es muy necesario y recuerda cambiar el "maresaron" por "TU NOMBRE DE USUARIO" )
Ahora vamos a modificar el archivo "BASHRC" para abrirlo lo hacemos con este comando
En la misma terminal ponemos
-Comando :
cd ( Damos Enter )
Luego ponemos
-Comando :
sudo gedit ~/.bashrc ( Damos Enter )
( RECUERDA RESPETAR LOS ESPACIOS )
Este comando nos abre el editor de texto y al final de todo ponemos estas líneas cuidando la ruta de tus "TOOLCHAIN" o "NDK"
Ejemplo:
export ARCH=arm
export SUBARCH=arm
export CROSS_COMPILE=arm-linux-androideabi-
export PATH=$PATH:/home/maresaron/android-ndk-r8e/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin
export PATH=$HOME/maresaron/android-ndk-r8e/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin:$PATH
RECUERDA CAMBIAR EL "maresaron" POR TU NOMBRE DE USUARIO
SALIMOS DEL EDITOR Y DAMOS GUARDAR....
#Paso 6
-En la misma terminal ponemos:
cd (damos Enter)
-Nos vamos a ruta:
cd android/ (damos Enter)
ponemos comando:
ln -s kernel linux (Damos Enter)
Ponemos comando:
cd linux (Damos Enter)
Luego ponemos
-Comando :
make clean && make mrproper ( Damos Enter )
Esto con la finalidad de limpiar toda la basura de nuestras sources
#Paso 7 CONFIGURACION
Vamos a ejecutar un comando para decirle que configuración debemos usar, para ello hacemos lo siguiente
(make "tu_config_nombre _defconfig vamos s usar el defconfig de las sources del kernel que encontramos en la ruta física arch/arm/configs/ "m0_00_defconfig")
-En el terminal que tenemos abierta del "paso 7" ejecutamos el defconfig para el i9300 (que lo sacamos de los sources)
-Comando :
make m0_00_defconfig ( Damos Enter )
Este paso solo se hace la primera vez que compilamos en futuras compilaciones ya no es necesario al menos que edites tus modificaciones del defconfig
#Paso 8 CONFIGURACION DEL KERNEL.
(Este paso es para usuarios más avanzados, después de hacer el "paso 11" make "tu_config_nombre"_defconfig") aplicamos el comando "make menuconfig". Este comando te abre una ventana para agregar modificar o quitar configuraciones en nuestro kernel, también podemos modificar el archivo defconfig con un editor de texto y ampliar las opciones
-Comando :
make menuconfig ( Damos Enter )
#Paso 9 COMPILACION DEL KERNEL
Únicamente utilizamos el comando "make" o si deseamos más rapidez utilizamos esto ( -j* ) después de make esto con la finalidad de usar los núcleos de nuestra CPU para compilar más rápido
-Ejemplo :
make -j(*)
Substituimos el (*) por el número de núcleos de nuestra CPU+1 pero se recomienda la igualdad de CPU
ejemplo:
Yo compilo con un CPU de 16 núcleos y ejecuto
-Ejemplo comando:
make -j4
Respetando el espacio y el signo después de make
Una vez hecho el "paso 9", solo deberemos esperar a que termine el proceso y obtendremos nuestro zImage que se encuentra ubicado en las sources del kernel en la carpeta arch/arm/boot/ la compilación puede tardar de 30 minutos a 1 hora dependiendo el pc yo actualmente cuento con una PC con un procesadores AMD Opteron Serie 6300 con un DISCO DURO de 5TB , una tarjeta de video AMD radeon hd 9700 y 32 GB de ram y tardo en copilar de 2 a 4 minutos claro usando máquina virtual
Para volver a compilar solo tienes que ejecutar:
"make clean".Este paso os limpiara las sources de datos de otra compilación y repites desde el principio del "paso 6 "
Pero sin este paso "ln -s kernel linux"
Porque ya está creado
******************************************
Ejemplo del Final del Tutorial
En la primera captura al final vemos la ruta y creación del zImage
http://img.tapatalk.com/d/14/02/08/thumbnail/y5a7ave5.jpg
Aquí observamos resultado final.-
http://www.htcmania.com/attachment.php?attachmentid=465647&stc=1&d=1391858998
PD: Esto es el inicio nos quedan muchas cosas una vez lleguemos a este punto, por ejemplo empaquetar, bueno seguimos con la construcción poco a poco
*******HERRAMIENTAS PARA COMPILAR*******
Antes que nada quiero agradecer a una persona mejor dicho un gran amigo que sin duda alguna me ayudo a testear y a organizar el tuto ya que sin la ayuda del esto no sería posible
gracias hermano: @RaYmunDooo
Bueno empezamos quiero hacer este tuto lo más sencillo posible para que se entienda y se analice claro está que cuando lo dominen ya no utilizarán muchas carpetas como en el tuto solo bastará con utilizar una que es donde vamos a depositar la sources
Para este tu yo utilice "UBUNTU 12.0.4" de 32 bits ustedes pueden utilizar Linux mint 16 petra mate de 32bit o también xubuntu
http://www.ubuntu.com/
http://www.linuxmint.com/edition.php?id=145
http://xubuntu.org/
Yo utilizo máquina virtual ya sea virtualbox o VMware-workstation-full-10.0.1 yo utilizo este último como mi virtual, ustedes pueden utilizar virtual box es criterio de cada quien
https://mega.co.nz/#!w84gwASb!1S0Njkqg3q1VXcJ2-08pVtd8DYbI9ocG8iLHhVpMuh0
Seriales de mvware workstation para su activación
https://mega.co.nz/#!AtZEhDZI!fGlcGEwV0TMpgzvCjUS8fUxawbtZE6mQpUeN4Uz tZ6Y
Porque Ubuntu ,linuxmint y xubuntu por lo sencillo y práctico que es, claro está que también he compilado con fedora y recomiendo linuxmint para las personas que comienzan por lo sencillo y practico
(Cuando digamos carpeta física lo haremos manual carpeta por carpeta sin usar terminal y cuando usemos terminal tenemos que tener cuidado de respetar los espacios y los tamaños de letra no es lo mismo en comando terminal usar sudo que Sudo respetemos los nombres ya después les enseñaré hacer todo desde terminal)
Ejemplo de Instalación de vmware y linuxmint es lo mismo para ubuntu y xubuntu
http://www.youtube.com/watch?v=zuuYjNHMYm8
Obtén e instala las herramientas que se requieren para compilar tu propio kernel ejecutando este comando en el terminal
-Comando:
cd ( Damos Enter )
-Primero metemos estos
-Comando :
sudo apt-get update && sudo apt-get upgrade
-Luego Mete estos
-Comando :
sudo apt-get instaló git-core gnupg flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk2.8-dev squashfs-tools build-essential zip curl 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 mingw32 tofrodos python-markdown lzma autoconf schedtool optipng g++-multilib gcc gcc-multilib diffstat texi2html gawk chrpath subversion git autoconf automake make cvs flex gettext git-core gzip help2man ncurses-dev libtool pkg-config zlib1g-dev kernel-package bzip2 make numlockx aptitude gdebi p7zip-full p7zip-rar rar unrar zlib1g-dev unzip libsdl-dev gedit libncurses5-dev
(En caso de Linux 64bit instala también estos
sudo apt-get install lib32z1-dev lib32ncurses5-dev lib32readline-gplv2-dev )
-Luego estos
-Comando :
sudo apt-get instaló libc6-armel-cross libc6-dev-armel-cross binutils-arm-linux-gnueabi
Estos:
-Comando :
sudo aptitude install gcc-arm-linux-gnueabi
****COMPILAR EL KERNEL*****
#Paso 1 TOOLCHAINS , NDK
Para la compilación cruzada del kernel necesitamos una cadena de herramientas conocidas como toolchain o prebuilt estas se pueden bajar desde el código fuente de google , o con una NDK o desde el git de algún devolper solo escojan uno
Para este tuto yo voy a utilizar "NDK"
Descarga:
http://dl.google.com/android/ndk/android-ndk-r8e-linux-x86.tar.bz2
Peguen las NDK en carpeta física personal ( ejemplo home/maresaron / aquí pega tus NDK
RECUERDA REMPLASAR maresaron POR TU NOMBRE DE USUARIO
Si ustedes desean instalar toolchains desde el código google utilizando el comando git clone ponemos esto desde terminal
-Comando :
git clone https://android.googlesource.com/platform/prebuilt.git (damos enter)
Se recomiendan toolchain 4.4.3 o NDK r5c o r8e ya que estas contiene toolchain 4.4.3 que son la que vamos a usar cualquiera que ustedes elijan está bien pero solo elijan una ya sea "NDK" o "CÓDIGO DE GOOGLE"
Si tu opción fue con la NDK como en mi caso solo basta con descomprimirla para eso ejecutamos esto en la misma terminal
-Comando :
cd ( Damos Enter )
Luego descomprimimos el archivo
-Ejemplo:
tar xvf (nombre del archivo NDK)
-Comando:
tar xvf android-ndk-r8e-linux-x86.tar.bz2 ( Damos Enter )
Espera a que termine de descomprimir
#Paso 2 SOURCES
Bajamos las últimas sources de nuestro dispositivo
http://opensource.samsung.com/
Y las pegamos en carpeta física personal (ejemplo home/maresaron/ aquí pego mis sources)
RECUERDA CAMBIAR EL maresaron POR TU NOMBRE DE USUARIO
#####((((((OPCION DE KERNEL SOURCES))))))))))#####
-Comandos :
$ git clone https://android.googlesource.com/kernel/common.git
$ git clone https://android.googlesource.com/kernel/exynos.git
$ git clone https://android.googlesource.com/kernel/goldfish.git
$ git clone https://android.googlesource.com/kernel/msm.git
$ git clone https://android.googlesource.com/kernel/omap.git
$ git clone https://android.googlesource.com/kernel/samsung.git
$ git clone https://android.googlesource.com/kernel/tegra.git
El "goldfish" proyecto contiene las fuentes del kernel para las plataformas emulados.
El "msm" proyecto cuenta con las fuentes de ADP1, ADP2, Nexus One, Nexus 4, y se puede utilizar como punto de partida para el trabajo en los chipsets Qualcomm MSM.
El "omap" proyecto se utiliza para PandaBoard y el Galaxy Nexus, y se puede utilizar como punto de partida para el trabajo en los chipsets TI OMAP.
El "samsung" proyecto se utiliza para Nexus S, y se puede utilizar como punto de partida para el trabajo en los chipsets Samsung Hummingbird.
El "Tegra" proyecto es para Xoom y Nexus 7, y se puede utilizar como punto de partida para el trabajo en los chipsets NVIDIA Tegra.
El "exynos" proyecto tiene los fuentes del kernel de Nexus 10, y se puede utilizar como punto de partida para el trabajo sobre Samsung Exynos chipsets.
################################################## ########################
#Paso 3 CARPETAS DE TRBAJO
Antes que nada debemos crear unas carpetas para trabajar, para ello haremos lo siguiente:
-En la misma terminal ponemos:
cd (Damos Enter)
Luego ponemos
Comando:
mkdir android (Damos Enter)
-Se creó una carpeta llamada android
-Entramos en ella
-Comando:
cd android (Damos Enter)
-Dentro de esta vamos a crear una carpeta llamada kernel
Comando:
mkdir kernel (Damos Enter)
-Se creó una carpeta llamada kernel
-Entramos en ella
-Comando:
cd kernel (Damos Enter)
#Paso 4 DESCOMPRIMIR LAS SOURCES
Vamos a descomprimir el paquete para eso en la misma terminal ponemos
-Comando :
cd ( Damos Enter )
-Ejemplo :
unzip "nombre archivo.zip"
-Comando :
unzip GT-I9300_JB_Opensource_Update13.zip ( Damos Enter )
cuando lo descomprimas te creará dos archivos plataforma y el otro kernel vamos a mover el paquete "kernel.tar.gz" a la ruta de carpetas (android/kernel/) para esto en la misma terminal
Ponemos
-Comando :
cd ( Damos Enter )
Luego vamos a mover el paquete a la carpeta kernel
-Comando :
mv kernel.tar.gz android/kernel/ ( Damos Enter )
vamos a descomprimir únicamente el archivo kernel.tar.gz desde terminal.
En la misma terminal ponemos
-Comando:
cd (Damos Enter)
Luego ponemos
-Comando:
cd android/kernel/ (Damos Enter)
Luego ejecutamos
-Comando:
tar xvf Kernel.tar.gz
sino descomprime con el anterior prueba este
-Comando:
tar xvzf Kernel.tar.gz
deja que descomprima
cerramos terminal
#Paso 5 MODIFICAR MAKEFILE Y BASHRC
Antes que nada tenemos que modificar dos archivos uno llamado "MAKEFILE" y otro llamado "BASHRC".
Vamos a modificar primero el " MAKEFILE " que se encuentra ubicado en la raíz de las sources en la ruta "ANDROID/KERNEL" para esto abrimos el archivo con un editor de textos.
En la misma terminal ponemos
-Comando:
cd ( Damos Enter )
Luego vamos a ruta de sources
-Comando:
cd android/kernel/ ( Damos Enter )
Luego ponemos
-Comando:
sudo gedit Makefile ( Damos Enter )
Enseguida se nos abre una nueva ventana y modificamos la línea 196 del "CROSS_COMPILE"
( AQUI SE TIENE QUE EDITAR LA RUTA DE CARPETAS DE NUESTRA TOLCHAINS O NDK SEGUN SEA EL CASO ESTO CON LA FINALIDAD DE QUE AL COMPILAR NO MARQUE ERROR )
Para esto editamos la ruta de carpetas en las que tenemos nuestras "TOOLCHAINS" o "NDK" respetando los tamaños de letra y espacios de estas.
EJEMPLO DE COMO EDITARLO
CROSS_COMPILE = /
Después del ( / ) tenemos que poner esto:
home/"Tu nombre de usuario"/android-ndk-r8e/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-
Quedando de esta forma en mi caso:
CROSS_COMPILE = /home/maresaron/android-ndk-r8e/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-
( Respetar el ( - ) al final ya que es muy necesario y recuerda cambiar el "maresaron" por "TU NOMBRE DE USUARIO" )
Ahora vamos a modificar el archivo "BASHRC" para abrirlo lo hacemos con este comando
En la misma terminal ponemos
-Comando :
cd ( Damos Enter )
Luego ponemos
-Comando :
sudo gedit ~/.bashrc ( Damos Enter )
( RECUERDA RESPETAR LOS ESPACIOS )
Este comando nos abre el editor de texto y al final de todo ponemos estas líneas cuidando la ruta de tus "TOOLCHAIN" o "NDK"
Ejemplo:
export ARCH=arm
export SUBARCH=arm
export CROSS_COMPILE=arm-linux-androideabi-
export PATH=$PATH:/home/maresaron/android-ndk-r8e/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin
export PATH=$HOME/maresaron/android-ndk-r8e/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin:$PATH
RECUERDA CAMBIAR EL "maresaron" POR TU NOMBRE DE USUARIO
SALIMOS DEL EDITOR Y DAMOS GUARDAR....
#Paso 6
-En la misma terminal ponemos:
cd (damos Enter)
-Nos vamos a ruta:
cd android/ (damos Enter)
ponemos comando:
ln -s kernel linux (Damos Enter)
Ponemos comando:
cd linux (Damos Enter)
Luego ponemos
-Comando :
make clean && make mrproper ( Damos Enter )
Esto con la finalidad de limpiar toda la basura de nuestras sources
#Paso 7 CONFIGURACION
Vamos a ejecutar un comando para decirle que configuración debemos usar, para ello hacemos lo siguiente
(make "tu_config_nombre _defconfig vamos s usar el defconfig de las sources del kernel que encontramos en la ruta física arch/arm/configs/ "m0_00_defconfig")
-En el terminal que tenemos abierta del "paso 7" ejecutamos el defconfig para el i9300 (que lo sacamos de los sources)
-Comando :
make m0_00_defconfig ( Damos Enter )
Este paso solo se hace la primera vez que compilamos en futuras compilaciones ya no es necesario al menos que edites tus modificaciones del defconfig
#Paso 8 CONFIGURACION DEL KERNEL.
(Este paso es para usuarios más avanzados, después de hacer el "paso 11" make "tu_config_nombre"_defconfig") aplicamos el comando "make menuconfig". Este comando te abre una ventana para agregar modificar o quitar configuraciones en nuestro kernel, también podemos modificar el archivo defconfig con un editor de texto y ampliar las opciones
-Comando :
make menuconfig ( Damos Enter )
#Paso 9 COMPILACION DEL KERNEL
Únicamente utilizamos el comando "make" o si deseamos más rapidez utilizamos esto ( -j* ) después de make esto con la finalidad de usar los núcleos de nuestra CPU para compilar más rápido
-Ejemplo :
make -j(*)
Substituimos el (*) por el número de núcleos de nuestra CPU+1 pero se recomienda la igualdad de CPU
ejemplo:
Yo compilo con un CPU de 16 núcleos y ejecuto
-Ejemplo comando:
make -j4
Respetando el espacio y el signo después de make
Una vez hecho el "paso 9", solo deberemos esperar a que termine el proceso y obtendremos nuestro zImage que se encuentra ubicado en las sources del kernel en la carpeta arch/arm/boot/ la compilación puede tardar de 30 minutos a 1 hora dependiendo el pc yo actualmente cuento con una PC con un procesadores AMD Opteron Serie 6300 con un DISCO DURO de 5TB , una tarjeta de video AMD radeon hd 9700 y 32 GB de ram y tardo en copilar de 2 a 4 minutos claro usando máquina virtual
Para volver a compilar solo tienes que ejecutar:
"make clean".Este paso os limpiara las sources de datos de otra compilación y repites desde el principio del "paso 6 "
Pero sin este paso "ln -s kernel linux"
Porque ya está creado
******************************************
Ejemplo del Final del Tutorial
En la primera captura al final vemos la ruta y creación del zImage
http://img.tapatalk.com/d/14/02/08/thumbnail/y5a7ave5.jpg
Aquí observamos resultado final.-
http://www.htcmania.com/attachment.php?attachmentid=465647&stc=1&d=1391858998
PD: Esto es el inicio nos quedan muchas cosas una vez lleguemos a este punto, por ejemplo empaquetar, bueno seguimos con la construcción poco a poco