![]() |
|
ROMs y desarrollo BQ Maxwell ROMs y desarrollo BQ Maxwell |
«
Tema Anterior
|
Siguiente tema
»
|
Herramientas |
#1
|
||||
|
||||
Compila tu propio KERNEL RK
PREPARANDO EL ENTORNO DE TRABAJO en ubuntu 13
Este entorno que vamos a crear deja tu PC listo para compilar kernels de rockchip debes estar conectado a internet GPL JB MaxwellPlus: https://s3.amazonaws.com/tabletfirmw..._JB_GPL.tar.gz abre el terminal: sudo apt-get install root-system-bin sudo passwd (cambia tu pass) sudo apt-get install openjdk-6-jre-headless sudo apt-get install openjdk-7-jre-headless java -version (ver version instalada) sudo apt-get update 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-glx:i386 libgl1-mesa-dev g++-multilib mingw32 openjdk-6-jdk openjdk-7-jdk tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386 git sudo apt-get install libc6:i386 libgcc1:i386 gcc-4.4-base:i386 gcc-4.6-base:i386 libstdc++5:i386 libstdc++6:i386 sudo apt-get install git-core gnupg flex bison gperf libsdl-dev libesd0-dev build-essential zip curl libncurses5-dev zlib1g-dev gcc-multilib g++-multilib sharutils lzop sudo apt-get install git-core gnupg flex bison gperf libsdl1.2-dev libesd0-dev squashfs-tools build-essential zip curl libncurses5-dev zlib1g-dev pngcrush schedtool sudo apt-get install libgmp-dev libmpfr-dev libmpc-dev libc6-dev sudo apt-get install sharutils sudo apt-get update reinicia PC descargar toolschains y herramientas: abre otro terminal: git clone https://android.googlesource.com/platform/prebuilt sudo apt-get install libusb-1.0-0-dev gcc-o rkflashtool rkflashtool.c-lusb-1.0-O2-W-Wall-s para usar las toolschains: export PATH=~/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin:$PATH ver toolschains usadas: which arm-eabi-gcc EMPEZAMOS A COMPILAR primero extrae el zip del GPL en la carpeta personal o donde te venga bien abre terminal: 1º entrar en la raiz del GPL: cd ~/(raiz kernel) 2ºusar la toolschains: export PATH=~/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin:$PATH 3ºcargar configuracion: make bq_MaxwellPlus_defconfig 4ºentrar en la configuracion grafica del gpl: make menuconfig 5ºmake -j2 kernel.img (2 porque tengo un doble nucleo) 6ºse creara un kernel.img en la raiz del gpl listo para flashear 7ºusa el boot.img que esta dentro de la carpeta MaxwellPlus en la raiz del gpl 8ºya puedes flashear juntos el boot.img y el kernel.img si kieres compilar un kernel para mi rom Cyanogenmod hay k usar el GPL de la Maxwell2lite y cambiar configuraciones en el paso del menuconfig. Última edición por pirinvk Día 01/01/14 a las 18:39:38 |
|
#2
|
Ole! Muy bien explicado pirinvk, a lo mejor podrias hacer un script para preparar el entorno más rapidamente, pero asi ya le sirve a cualquiera.
Muchas gracias por la info!! |
#3
|
||||
|
||||
Preparado para ubuntu 13? Pero funcionará en cualquier linux no?
|
#4
|
||||
|
||||
supogo k si..pero lo mismo hacen falta mas librerias...yo uso ubuntu con el entorno xfce k tu me enseñaste!!
|
#5
|
||||
|
||||
Yo tengo debian con XFCE, que supongo que todos los paquetes de ubuntu estarán en debian, el problema es si alguna versión de un paquete en debian podria hacer que esto no funcione bien, habrá que probar
|
#6
|
||||
|
||||
Mil gracias por la información, pirinvk
He seguido los pasos y consigo compilar el kernel (en mi caso el de la BQ Maxwell 2 Plus que me proporcionó jsevi83: https://github.com/fefifofum/android...maxwell2_stock) Ahora estaba intentando integrar unos drivers para ver si consigo que funcione una antena WIFI externa, en concreto una TP-Link TL-WN722N. Compilo los drivers (http://drvbp1.linux-foundation.org/~...tml/backports) y los instalo en el kernel, pero no sé cómo generar la imagen una vez he instalado los drivers. Si vuelvo a ejecutar make -j2 kernel.img creo que se olvida de los drivers recién instalados y vuelve a generar la imagen original. ¿Alguna ayuda? |
#7
|
||||
|
||||
ufff..pues no se...yo solo trabajo desde los drivers del gpl...nunca he añadido drivers externos....
pero supongo que tendras que añadir algun modulo .ko a la rom para que funcione...pero no me hagas caso ya k no lo he hecho nunca... |
#8
|
||||
|
||||
El módulo .ko ya lo tengo generado, pero cuando intento insertarlo en el kernel (insmod modulo.ko), me da el siguiente error:
Código:
cfg80211: exports duplicate symbol __ieee80211_get_channel (owned by kernel) |
#9
|
||||
|
||||
emm....y si ese modulo lo metes en la rom lo actiivas desde el init.rc o en el build.prop....
ya te digo k no lo he hecho antes....y me vendra bien aprenderlo para intentar usar una realteck o ranink que tengo... estare atento..e intentare ayudar en medida de mis posibilidades..... |
#10
|
||||
|
||||
El problema parece ser que los drivers que estoy intentando usar (COMPAT-WIRELESS) necesitan que el kernel haya sido compilado con CONFIG_CFG80211=m, mientras que el kernel que uso yo tiene esta opción a "y" (lo que implica que se integre en el kernel, cuando debiera ser un módulo).
Estoy intentando modificar este valor mediante menuconfig y el archivo Maxwell2_Plus_defconfig pero no hay manera ... de aquí al manicomio ![]() Por cierto, no sé si estoy liando el hilo que iniciaste. Si te parece abro uno nuevo para no mezclar temas. |
#11
|
||||
|
||||
no hace falta que abras hilo.....
pero para ponerlo en M solo tienes k cambiar la y por la M en el apartado adecuado del menuconfig o directamente en el _defconfig...xq dices que no hay manera? con la M deberia ser compilado como modulo.. |
#12
|
||||
|
||||
Parece que no admite ese valor. Debe tener dependencias con otros valores y no consigo habilitarlo como módulo.
Estoy trasteando a través de menuconfig a ver si consigo algo... |
#13
|
||||
|
||||
damn no tengo linux instalado
vale con una maquina virtual con algun linux en virtual box (oracle) sobre un pc win 7 64 ultimate? lo intentare |
#14
|
||||
|
||||
Sí. Así lo tengo yo.
Virtual Box con Ubuntu 13 instalado. Si sigues los pasos descritos en este hilo no debería darte problemas. |
Gracias de parte de: | ||
#15
|
Muy buena iniciativa pirinvk, yo sigo peleandome con la cocina, cuando tengo un ratito, pero vamos, que avanzo más bien poco.
|
#16
|
||||
|
||||
gracias mil
|
#17
|
||||
|
||||
Bueno, voy un paso adelante y dos para atrás:
- Ya he conseguido compilar el kernel con CONFIG_CFG80211=m. Este valor tiene dependencia de otro (CONFIG_RK_CFG80211). Basta con desmarcar esta última opción y ya deja instalar como módulos los que no me dejaba. - Obtengo el kernel.img ... pero, ¿y ahora? He probado a poner este fichero junto con el boot.img y flashearlos juntos pero no parece que haga nada. La tablet sigue teniendo WIFI (que creo que no debería, porque ahora el soporte WIFI es un módulo que tengo que instalar aparte) y si intento instalar los drivers de la antena USB sigue dando el mismo error. Supongo que alguno de los pasos no lo estoy haciendo bien. ¿Alguna ayuda? Mil gracias a todos! |
#18
|
||||
|
||||
#19
|
||||
|
||||
Lo logré!!!
![]() El problema que tenía era que no encontraba el método para generar el fichero boot.img partiendo del kernel recién compilado. Pero como siempre, si buscas lo suficiente, seguro que hay alguien que habrá hecho algo similar. Os adjunto un enlace a una aplicación que sirve para, entre otras cosas, generar el fichero boot.img https://www.dropbox.com/s/km0af5xg3o..._4.0.33.00.rar Os explico cómo lo he hecho yo por si a alguien le puede venir bien. 1. Descomprimid el fichero donde queráis (cuidado con que en la ruta no haya espacios en blanco). 2. Ejecutar la aplicación "START.exe" 3. Pulsar "Single tools" 4. Dentro de "Boot tools" pulsar "Select file" y seleccionar el fichero boot.img de la rom que estéis modificando. 5. Pulsar "Extract". La aplicación genera el árbol de directorios correspondiente a la información contenida en el boot.img. 6. Acceder al directorio <path donde se ha instalado la aplicación>\temp\boot\boot.img.dump 7. Sustituir el fichero "kernel" que hay en el directorio anterior por el zImage generado por nosotros al compilar el kernel (renombrarlo como "kernel", claro está). 8. De nuevo en la aplicación, pulsar sobre el botón "Build". Se generará un fichero new_boot.img en el directorio raíz de la aplicación. 9. Ahora ya sí se puede utilizar este fichero para flashearlo en la tablet. |
Gracias de parte de: | ||
|
#20
|
||||
|
||||
yo no he podido hacerlo, como me temia
soy un poco melon jeje ![]() por lo que veo gracias de todas maneras pirinvk |
Respuesta |
![]() |
||||||
|
«
Tema Anterior
|
Siguiente tema
»
Herramientas | |
|
|
Hora actual: 20:02:12 (GMT +2)
HTCMania: líderes desde el 2007