Archive for the ‘Android’ Category

Galaxy Tab GT-P1000 y Android 4.2.1 con CyanogenMod 10.1 (Guía definitiva)

Tuesday, April 23rd, 2013

En un artículo anterior publiqué un procedimiento para actualizar la Galaxy Tab (GT-P1000) y éste generó muchísimos comentarios.

En este entrega tenemos un procedimiento mucho mas detallado y además una versión mas reciente del sistema operativo, estaremos instalando CyanogenMod 10.1 basado en Android 4.2.1 (Jelly Bean).

El procedimiento a grandes rasgos es el siguiente:

  1. Rootear la tablet
  2. Entrar como root y respaldar partición EFS
  3. Instalar Kernel nuevo
  4. Instalar la ROM de CyanogenMod
  5. Instalar las aplicaciones de Google para Android
  6. Restaurar respaldo de partición EFS (para conservar el IMEI del equipo)

Se asume que la computadora no tiene ningún controlador de Samsung instalado, y que está limpia. Si la máquina ya tiene drivers, es posible que algunos pasos puedan ser omitidos.

El procedimiento se probó en Windows 8 Pro de 64-bits pero debe funcionar en versiones de 32-bits tanto de Windows 7 como de Windows 8.

Requerimientos

  • Identificar el modelo de tu tablet (P1000, P1000N ó P1000L) ya que los kernels no son intercambiables entre ellos.
  • Respaldar tu información ya que la tablet será formateada (la tarjeta externa no se verá afectada)
  • Estar corriendo Android Gingerbread (2.3.3 – 2.3.6)

Descargas requeridas

Descargar ODIN (http://forum.xda-developers.com/showthread.php?t=1738841)
Descargar kernel cm-10.1-20121226-P1N-kernel.zip ( http://d-h.st/users/humberos/?fld_id=8870)
Descargar ROM cm-10.1-20121228-HumberOS-p1.zip ( http://www.humberos.com.br/2012/12/sgt-cm-101-20121228.html)
Descargar paquete de Google Apps para Android (http://wiki.cyanogenmod.org/w/Gapps)
Descargar DooMLoRD rooting toolkit (http://forum.xda-developers.com/attachment.php?attachmentid=841876&d=1325678726)

_

Rooteo de la Tablet

Antes de iniciar, es necesario habilitar la función de USB Debugging mediante estos pasos:

  • En la tablet, ir Settings > Applications > Development
  • Habilitar USB debugging

Iniciamos el proceso:

  1. Conectar Galaxy Tab a la computadora
  2. Descomprimir el archivo DooMLoRD_v4_ROOT-zergRush-busybox-su.zip
  3. Ejecutar el archivo runme.bat ubicado dentro de la carpeta de DooMLoRD y dar ENTER para continuar
  4. El proceso tarda unos 5 minutos, al finalizar aparece “ALL DONE!!!” y la tablet se reinicia.

_

Respaldar partición EFS (información IMEI)

Este paso es sumamente importante porque la instalación de CyanogenMod borra la partición EFS de la memoria flash que contiene el IMEI inhabilitando la capacidad de la tableta para conectarse a la red celular.

  1. Abrir el Símbolo de Sistema (Command Prompt) y navegar a <carpeta de DoomLord>/files
  2. Teclear adb shell [ENTER]
  3. Aparece el símbolo $, teclear su [ENTER]
  4. Teclear tar -cvf /sdcard/external_sd/efs.tar /efs
  5. Esto genera un respaldo del IMEI en el SD card
  6. Apagar tablet y extraer tarjeta SD

Ejemplo:

C:\Users\username>cd Downloads\DooMLoRD_v4_ROOT-zergRush-busybox-su\files
C:\Users\username\Downloads\DooMLoRD_v4_ROOT-zergRush-busybox-su\files>adb shell
$ su
# tar -cvf /sdcard/external_sd/efs.tar /efs

_

Preparación del Kernel para ODIN

  1. Abrir el archivo del Kernel cm-10.1-20121226-P1N-kernel.zip y extraer el archivo boot.img
  2. Renombrar boot.img a zImage
  3. Desde 7-Zip seleccionar zImage con el botón derecho y seleccionar 7-zip/Add to archive…
  4. En archive format selccionar tar y darle OK
  5. Esto genera el archivo zimage.tar

_

Instalación del Kernel

  1. Apagar la tablet y ponerla en modo Download (presioanr la tecla Power y VolDn simultánemente)
  2. Ejecutar ODIN
  3. Clic en el botón PDA y seleccionar el archivo zImage.tar creado anteriormente
  4. Clic en el botón Start
  5. Cuando la Tablet se reinicie, INMEDIATAMENTE se debe presionar y mantener el botón VolUp hasta que aparezca la leyenda SGT7 HumberOS Project (indicando que inició en modo Recovery)
  6. Si la tablet comienza un ciclo de reinicios continuos, mantener presionado el boton de Encendido hasta que este se apage y volverla a iniciar en modo recovery de la siguiente forma:
    1. Presionar Power y Volume Up hasta que encienda
    2. Cuando aparezca el logo de Samsung, soltar power y mantener la tecla de Volume Up.

_

Instalar controladores para Modo Recovery

Una vez en modo Recovery se requieren drivers adicionales al conectar la tablet a la computadora

  1. En Windows abrir el Administrador de Dispositivos y seleccionar Galaxy Tab
  2. Clic derecho y clic en Actualizar software del controlador
  3. Clic en Buscar software del controlador en el equipo
  4. Clic en Elegir en una lista de controladores de dispositivos
  5. Doble clic en ADB Interface
  6. Doble clic en SAMSUNG Android ADB Interface Versión 2.9.319.511
  7. Aparece una Advertencia de actualización de controladores. Clic en .
  8. Clic en Cerrar.

_

Instalación de la ROM de CyanogenMod

En la tablet, las teclas de volumen mueven la barra de selcción y el botón de encendido hace la selección

    1. En la tablet, seleccionar mounts and storage
    2. mount /sdcard
    3. +++++Go Back+++++
    4. En la computadora, abrir el Símbolo de Sistema (Command Prompt) y navegar a <carpeta de DoomLord>/files
    5. Teclear adb push <ruta>/cm-10.1-20121228-HumberOS-p1.zip /sdcard para transferir la ROM
    6. Teclear adb push <ruta>/gapps-jb-20121212-signed.zip /sdcard para transferir las aplicaciones de Google
    7. En la tablet, seleccionar install zip from sdcard
    8. choose zip from sdcard
    9. cm-10.1-20121228-HumberOS-p1.zip
    10. Yes – Install cm-10.1-20121228-HumberOS-p1.zip
    11. Aparece:
Installing update...
(tarda unos 3 o 4 minutos)
Install from sdcard complete.
    1. choose zip from sdcard
    2. gapps-jb-20121212-signed.zip
    3. Yes – Install gapps-jb-20121212-signed.zip
    4. Aparece:
************************
Google Apps for Android 4.2.1
************************
Mounting system
Copying files
Fixing permissions...
Unmounting filesystem...
Installation complete!
  1. +++++Go Back+++++
  2. wipe data/factory reset
  3. Yes — delete all user data
  4. Desconectar la tablet de la PC
  5. En la tablet, seleccionar reboot system now
  6. La tablet arranca con CyanogenMod. Como es el primer arranque puede tardar hasta 5 minutos.
  7. Los mensajes de inicio se pueden monitorear conectando la tablet a la computadora y ejecutando adb logcat.
  8. Aparece el mensaje “Warning! A problem was detected with your device. Your device IMEI number is invalid” . Es normal, ahora hay que recuperar el respaldo.

Restaurar respaldo de IMEI

    1. Insertar la tarjeta SD
    2. Ahora se debe volver a habilitar el USB debugging
    3. Ir a Settings > About tablet
    4. Tocar en Build number 7 veces.
    5. Regresar al menu anterior
    6. Tocar en Developer options > Android Debugging > Allow USB debuggin? OK
    7. Root access > Apps and ADB
    8. Abrir el Simbolo de Sistema (Command Prompt) y navegar a <carpeta de DoomLord>/files
    9. Teclear:
adb shell
su
tar -xvf /storage/sdcard1/efs.tar
reboot
  1. La tablet se reinicia
  2. Ya no aparece la advertencia del IMEI y la tablet puede realizar llamadas normalmente.

Galaxy Tab 7 corriendo Android 4.2

Actualización de la Galaxy Tab GT-P1000 a Android 4.1.2 con CyanogenMod 10

Saturday, December 15th, 2012
Galaxy Tab corriendo Android Gingerbread

Galaxy Tab corriendo Android Gingerbread

[Nueva versión disponible: Hay un nuevo artículo para instalar la versión 4.2 de Android con pasos mas detallados:
Galaxy Tab GT-P1000 a Android 4.2.1 con CyanogenMod 10.1 (Guía definitiva) ]

La última versión de Android (soportada oficialmente) para la tablet Samgung Galaxy Tab original de 7″ es la 2.3.3 (Gingerbread), sin embargo esta máquina es perfectamente capaz de ejecutar Jelly Bean sin problemas.

Al ser OpenSource, Android tiene la gran ventaja de que grupos de Hackers puedan modificarlo y hacer sus propias versiones mejoradas.

Una de estas versiones es CyanogenMod, un reemplazo de firmware OpenSource para teléfonos y tablets. Este firmware tiene muchas ventajas sobre los firmwares originales, entre ellas, no trae aplicaciones de los operadores, incluye características adicionales y hay quien dice que tiene mejor desempeño que el firmware original.

Desafortunadamente, la Galaxy Tab no está entre los dispositivos soportados oficialmente por este grupo de desarrolladores.

Nuevamente, al ser Open Source, permite que otras personas lo modifiquen para sus necesidades, y así es que Humberto Borba ha modificado a CyanogenMod para ejecutarse en las Galaxy Tab y Galaxy Nexus, bautizándola como HumberOS.

Al actualizar la Galaxy Tab al Android Jelly Bean, realmente le estamos dando una nueva vida al equipo, tiene mejor desempeño que de nuevo y una apariencia muy moderna, como la encontrada en el Galaxy Nexus o el Galaxy SII.

IMPORTANTE: Si tienes el adaptador HDMI para esta tablet, posiblemente no te convenga realizar este procedimiento, ya que CyanogenMod no soporta la decodificación por hardware, utilizada por aplicacioens como YouTube en la salida de video HDMI.

A continuación los requerimientos y pasos para instalar CyanogenMode 10 en la tablet. En esta guía estaré dando los links a las páginas de los autores originales, y no directamente a las páginas de descargas.

Requerimientos

  • Identificar el modelo de tu tablet (P1000, P1000N ó P1000L) ya que los kernels no son intercambiables entre ellos.
  • Respaldar tu información ya que la tablet será formateada (la tarjeta externa no se verá afectada)
  • Estar corriendo Android 2.3.3 Gingerbread con ROM versión BJP7 ó FJP6.
  • No tener miedo a usar la línea de comandos

Descargas necesarias
– Kernel CyanogenMod 9 para GT-P1000 de HumberOS
Archivo: CM9-Kernel-P1000N-20120428.tar.gz
Fuente: http://www.humberos.com.br/p/android-ics.html sección “Kernel Files”
– Ambiente CyanogenMod 10 para GT-P1000
Archivo: sgt7-cm10-20121118-HumberOS-p1n.zip
Fuente: http://www.humberos.com.br/2012/11/sgt7-cm10-20121118.html
– Ultima versión de Google Apps para Android
Archivo: gapps-jb-20121011-signed.zip
Fuente: http://wiki.cyanogenmod.org/wiki/Latest_Version/Google_Apps
– Herramienta ODIN para instalar el Android 2.3.3 (sólo si estas en una versión anterior)
– Herramienta Heindmall para actualizar el kernel (http://www.glassechidna.com.au/products/heimdall/)
– GNU tar o equivalente para leer archivos en formato tar.

Procedimiento
A grandes rasgos el procedimiento consiste en:
– Instalación del kernel de CyanogenMod 9
– Iniciar en modo recovery de ClockWorkMod para convertir los sistemas de archivos a formato ext4
– Copiar CyanogenMod 10 y Google Apps a la tarjeta SD
– Desde el ambiernte de recovery Instalar CyanogenMod 10 y Google Apps

A continuación el proceso detallado:

    1. Extraer el archivo boot.img del archivo CM9-Kernel-P1000N-20120428.tar.
tar -xvf CM9-Kernel-P1000N-20120428.tar boot.img
    1. Poner la tablet en modo download:
      • Apagar la tablet
      • Extraer la tarjeta externa SD (esto es muy importante)
      • Presionar el botón “Volume Down” y “Power” simultáneamente (tip: presiona primero el del volumen y mantenlo mientras presionas el de encendido). Debe aparecer un triángulo amarillo y la leyenda Downloading…

       

       

       

       

      Galaxy Tab in Download mode

      Galaxy Tab in Download mode

       

    2. Grabar el archivo boot.img tecleando lo siguiente en la linea de comandos:
heimdall flash --no-reboot --kernel boot.img
    1. Apagar la tablet y volverla a encender en modo recovery. (Estando apagada, presionar simultáneamente las teclas “Volume Up” y “Power” hasta que incie)
    2. Debe aparecer la leyenda HumberOS Recovery Project.
      2012-12-10 07.08.31
    3. Para navegar en la opciones, utiliza las teclas de volumen, para seleccionar utiliza la tecla de encendido
    4. Seleccionar la opción wipe data/factory reset. Esto es muy importante porque se queremos formatear la partición /data en formato ext4.
    5. Copiar los archivos del ambiente CyanogenMod y Google Apps a la tarjeta interna, tecleando lo siguiente desde la línea de comandos:
adb push sgt7-cm10-20121118-HumberOS-p1n.zip /sdcard
adb push gapps-jb-20121011-signed.zip
    1. En la tablet, seleccionar:
install menu
sgt7-cm10-20121118-HumberOS-p1n.zip
choose zip from internal sdcard
Yes
    1. Aparece una advertencia. Ingorarla y volver a instalar.
      2012-12-10 07.11.10
    2. La tablet se reinicia y comienza un proceso (está convirtiendo las particiones de formato RFS a ext4)
    3. La tablet vuelve a iniciar, ahora en modo CwM (ClockworkMod)
      2012-12-10 07.51.36 b
    4. Volver a instalar el mismo zip:
install zip from sdcard
choose zip from sdcard
sgt-cm10-20121118-HumberOS-p1n.zip
Yes
    1. Aparece la leyenda Installing updates… y tarda varios minutos así.
    2. Al finalizar, aparece Install from sdcard complete.
    3. Seleccionar:
++++ Go Back ++++
install zip from sdcard
choose zip from external sdcard
gapps-jb-20121011-signed.zip
Yes
++++ Go Back ++++
reboot system now
  1. CyanogenMod inicia el proceso de arranque. Esto tomará unos 5 minutos ya que está generando el cache nuevamente.

    2012-12-10 08.02.05

    Galaxy Tab corriendo CyanogenMod 10

Notas sobre el almacenamiento en la Samsung Galaxy Tab 7 (GT-P1000)

Friday, December 14th, 2012

La Galaxy Tab 7 (GT-P1000) tiene 3 sistemas de almacenamiento:

  • Memoria flash interna
  • Tarjeta SD interna
  • Tarjeta SD externa (extraíble)

Desde el punto de vista del sistema operativo, estos dispositivos son visibles con los siguientes nombres respectivamente:

/dev/block/bml0
/dev/block/mmcblk0
/dev/block/mmcblk1

La memoria flash está dividida en áreas llamadas particiones. Algunas de ellas tienen sistemas de archivos y otras son para uso crudo. Las harramientas como ODIN o Heimdall, utilizadas para grabar custom ROMs o kernels graban en esta memoria.

La tabla de particiones de la memoria flash interna se organiza como sigue (se muestran los nombres de los dispositivos BML, así como el nombre del archivo que es grabado por ODIN en cada zona):

/dev/block/bml1   IBL+PBL:[boot.bin]           # Initial Boot Loader + Primary Boot Loader
/dev/block/bml2   PIT:[gt-p1000.pit]           # Partition Information Table
/dev/block/bml4   SBL:[sbl.bin]                # Secondary Boot Loader
/dev/block/bml5   SBL2:[sbl.bin]               # Secondary Boot Loader 2
/dev/block/bml6   PARAM:[param.lfs]            # param file system
/dev/block/bml7   KERNEL:[zImage]              # Kernel image
/dev/block/bml8   RECOVERY:[zImage]            # Kernel image for recovery
/dev/block/bml9   FACTORYFS:[factoryfs.rfs]    # Factory file system
/dev/block/bml10  DBDATAFS:[dbdata.rfs]        # dbdata file system
/dev/block/bml11  CACHE:[cache.rfs]            # cache file system
/dev/block/bml12  MODEM:[modem.bin]            # Modem firmware

Los dispositos BML (Block Management Layer) dan acceso crudo a la memoria flash, ya sea como un dispositivo único (bml0) o a por particion (bml1, bml2, etc.)

Debido a que la memoria flash se va dañando con el uso, existe una capa de software llamada STL (Sector Translation Layer) que gestiona la asignación de los bloques que “ven” los sistemas de archivos montados en la flash, y así poder balancear su uso. En los dispositivos llamados USB Drives, esta gestión se hace en la propia circuitería y no requiere intervención del sistema operativo.

Por lo anterior, el kernel expone algunas áreas de la flash como dispositivos STL (/dev/block/stlx), y sobre éstos van montados los sistemas de archivos de la siguiente manera:

/dev/block/stl3   /efs        rfs
/dev/block/stl6   /mnt/.lfs   j4fs #(verificar)
/dev/block/stl9   /system     rfs
/dev/block/stl10  /dbdata     rfs
/dev/block/stl11  /cache      rfs

La tarjeta SD interna (/dev/block/mmcblk0) también está dividida en 3 particiones:

mmcblk0p1 /mnt/sdcard    vfat
mmcblk0p2 /data          rfs
mmcblk0p3 /preload       vfat

La partición /mnt/sdcard es el área a la que el usuario tiene acceso desde las aplicaciones.

La tarjeta SD externa (/dev/block/mmcblk1) tiene una sola partición:

mmcblc1p1  /mnt/sdcard/external_sd