Google+ Room Technology: febrero 2013

miércoles, 27 de febrero de 2013

ANDROID 2.1 en el Mini2440


En un post anterior les mostré los pasos para instalar Android 1.5 Cupcake en el Mini2440 y ademas los pasos para modificar el kernel para adaptar los controladores para una pantalla  tipo W35. Ahora teniendo estos conocimientos previos     el presente post lo hago con el fin de de mostrarles como como seria la instalación y correspondiente modificación del kernel  para una versión superior de Android: Eclair. Ademas de como poder mejorar la velocidad de la interactividad con el sistema operativo ya que Cupcake era para ser sincero y en mi opinión personal menos atractivo, muy limitado en cuanto a sus prestaciones y el desarrollo de aplicaciones estaría muy limitada.

¿Que necesitaremos?
  • Una PC con el SO Ubuntu, si es otra distribución Linux  les recomiendo adaptar los comandos para su SO. Si disponen de Windows les recomiendo usen una maquina virtual. 
  • Descargar Putty que esta disponible tanto para Linux como para Windows. Este software nos permitirá iniciar una sesión para acceder remotamente al dispositivo después de la instalación.
  • Y por supuesto descargar los archivos correspondientes que están disponibles en estos links: Link1 y Link2.
  • Para poder continuar sin contratiempos les recomiendo para los que todavía no lo han hecho revisar este post. De aquí en adelante asumiré que ya revisaron el post. 
  • Tener instalado el IDE Geany.
  • Disponer del API Ncurses.
  • Configurar el compilador cruzado del ARM.
  • Disponer del sistema YAFFS
¿Cual es el primer paso?
  • Creamos una carpeta donde descomprimiremos el Kernel_Android_2_1 y accedemos a esta carpeta descomprimida.
  • En el terminal (como root y al haber accedido a la carpeta correspondiente) escribimos esto:
$geany arch/arm/mach-s3c2440/mach-smdk2440.c 

  • Nos trasladamos a la linea 156-167 y modificamos el archivo de esta manera:

Antes


Después
  • Todavía queda modificar otro archivo para ello en el terminal ingresamos esto:  $geany drivers/input/touchscreen/s3c2410_ts.c  y de la misma manera también modificamos el archivo en las lineas 99-100 .


Antes


Después
  • Ahora solo ingresamos los siguientes comandos:
                  $cp config_mini2440 .config
                  $make menuconfig
  • Salimos de la interfaz que se nos presenta eligiendo 'EXIT'.
  • Después escribimos: $make zImage
  • La construcción de la imagen tardara de 10 a 15 minutos.
  • Una vez compilado, el núcleo kernel estará en /arch/arm/boot/ con el nombre zImage.
¿Cual es el segundo paso?
  • Creamos una carpeta donde descomprimiremos el otro archivo descargado: Fs_Android_2_1.tgz
  • En esta carpeta esta un archivo llamado 'default.prop', el cual lo abriremos y haremos los siguientes cambios.

Antes


Después
  • Por ultimo creamos la imagen con la herramienta YAFFS2 para ello descomprimimos el archivo  descargado anteriormente y elijemos el correspondiente a nuestro Mini2440 (en mi caso de 128Mb). El archivo final estará en la carpeta misma. 
  • $./mkyaffs2image-128M fs/ mini2440W35_android.img

  • Una vez hecho esto solo instalamos el SO en el ARM y nos disponemos a configurar el sistema para hacerlo un poco mas rápido. Cabe mencionar que cuando iniciamos por primera vez el SO tardara un tiempo considerable. 
  • Para acceder al dispositivo necesitaremos hacerlo por medio de comunicación serial entra la PC y el Mini2440 a una velocidad de 115200bps tal como lo muestra la siguiente imagen atravez de Putty. 

Una vez hecho esto ingresamos los comandos como si estuviéramos trabajando en Linux.


                  $cd /system/app

Luego borramos todos las aplicaciones presentes aqui, pero solo dejamos las siguientes:

-LatinIME.apk
-Launcher.apk
-PackageInstaller.apk
-Settings.apk
-SettingsProvider.apk
-UserDictionaryProvider.apk

De esta manera borramos los archivos:
                   $rm -rf nombreaplicacion.apk 

Nuestro SO esta listo, ahora solo lo reiniciamos y tendremos nuestra Android 2.1 mas funcional.