análise do tablet bt1003 flytouch 8 superpad viii

19
Análise do tablet BT1003 Flytouch 8 Superpad VIII com ARM Allwinner Boxchip A10 tablet BC1003 “Crane” é um dos mais baratos do mercado e é vendido aos milhares por dezenas de fabricantes diferentes, nas lojas chinesas, onde custa menos de 100 dólares. No Brasil, é encontrado na MPWay com o nome de Wei Wide PRO 10″ por 299 reais em 12 prestações, mais impostos de cerca de 165 reais pagos em cash na hora de retirada nos Correios. O produto vem em uma caixa com duas marcas, Flytouch 8 e Superpad VIII, mas encontrei referência na internet de que são marcas “piratas” de outros produtos. A Wei sequer se deu ao trabalho de colocar seu logotipo no produto. Foi difícil achar seu fabricante, pois, na cultura industrial shanzhai as mesmas partes e peças (e mesmo produtos completos) são usados e comercializados por diferentes fabricantes sem indicações de procedência. Por uma foto do circuito impresso da placa BT1003 , pude achar a Yones Toptech (China) Co. Limited . Suponho que este seja o fabricante OEM original, pois o nome BT1003 corresponde à sua linha de produtos. É semelhante ao modelo M1050S da Kocaso . No site desta marca existem as únicas imagens para recuperação do firmware que achei na internet. O BC1003 tem placa baseada no System-on-Chip Allwinner A10 (A10_Datasheet.PDF ). O programa Quick System Info Pro gera um relatório que diz: Dispositivo: crane-bc1003 Modelo: BC1003 Placa: crane Produto: crane_bc1003 Marca: softwinners Fabricante: unknown CPU+ABI: armeabi-v7a Bootloader: unknown Rádio: unknown Hardware: sun4i Versão: 4.0.4 SDK: 15 Tipo: eng Build: crane_bc1003-eng 4.0.4 IMM76D 20121217 test-keys

Upload: babalawo-fagbenusola-aworeni

Post on 02-Jan-2016

527 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: Análise do tablet BT1003 Flytouch 8 Superpad VIII

Análise do tablet BT1003 Flytouch 8 Superpad VIII com ARM Allwinner Boxchip A10 tablet BC1003 “Crane” é um dos mais baratos do mercado e é vendido aos milhares por dezenas de fabricantes diferentes, nas lojas chinesas, onde custa menos de 100 dólares. No Brasil, é encontrado na MPWay com o nome de Wei Wide PRO 10″ por 299 reais em 12 prestações, mais impostos de cerca de 165 reais pagos em cash na hora de retirada nos Correios. O produto vem em uma caixa com duas marcas, Flytouch 8 e Superpad VIII, mas encontrei referência na internet de que são marcas “piratas” de outros produtos. A Wei sequer se deu ao trabalho de colocar seu logotipo no produto.Foi difícil achar seu fabricante, pois, na cultura industrial shanzhai as mesmas partes e peças (e mesmo produtos completos) são usados e comercializados por diferentes fabricantes sem indicações de procedência. Por uma foto do circuito impresso da placa BT1003, pude achar a Yones Toptech (China) Co. Limited. Suponho que este seja o fabricante OEM original, pois o nome BT1003 corresponde à sua linha de produtos. É semelhante ao modelo M1050S da Kocaso. No site desta marca existem as únicas imagens para recuperação do firmware que achei na internet.O BC1003 tem placa baseada no System-on-Chip Allwinner A10 (A10_Datasheet.PDF). O programa Quick System Info Pro gera um relatório que diz:Dispositivo: crane-bc1003Modelo: BC1003Placa: craneProduto: crane_bc1003Marca: softwinnersFabricante: unknownCPU+ABI: armeabi-v7aBootloader: unknownRádio: unknownHardware: sun4iVersão: 4.0.4SDK: 15Tipo: engBuild: crane_bc1003-eng 4.0.4 IMM76D 20121217 test-keysIdioma: pt_BRLinux version 3.0.8+ (jackie@ubuntu) (gcc version 4.5.1 (Sourcery G++ Lite 2010.09-50) ) #68 PREEMPT Sat Dec 8 08:54:36 CST 2012Para tirar mais informações do dispositivo, usei o programa adb do Android Development Kit. Em Linux, tive que habilitar regras do udev para o tablet. Liguei  a depuração USB e verifiquei no syslog que o dispositivo era reconhecido como:kernel: [ 3907.368945] usb 2-6.3: New USB device found, idVendor=18d1, idProduct=0003O idVendor 18d1 é padrão do Google, e o idProduct varia conforme o modo da porta USB (armazenamento de massa, dispositivo de mídia,

Page 2: Análise do tablet BT1003 Flytouch 8 Superpad VIII

depuração). Assim, criei um arquivo com regra para o subsistema USB com o comando:sudo gedit /etc/udev/rules.d/53-android.rulese coloquei a linha:SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", MODE="0666"Reiniciei o serviço udev:sudo service udev restartmas isto não adiantou. O Linux Ubuntu só permitiu acesso ao dispositivo depois de um reboot. Em Windows, o ADB precisa dos drivers que vêm no pacote de desenvolvimento do Android. Liberado acesso ao dispositivo, entrei no shell do tablet com o comando:/home/meira/android-sdk-linux/platform-tools/adb shellO shell já abre no usuário root, pois o prompt diz “root@android:/ $”.O processador é rápido. O comando “cat /proc/cpuinfo” resulta em:Processor   : ARMv7 Processor rev 2 (v7l)BogoMIPS    : 1001.88Features    : swp half thumb fastmult vfp edsp neon vfpv3 CPU implementer: 0x41CPU architecture: 7CPU variant : 0x3CPU part    : 0xc08CPU revision: 2Hardware    : sun4iRevision    : 0000Serial      : 0a817c62545448488075895216236786Em BogoMIPS, medida genérica de capacidade de processamento do Linux, o valor foi de 1001 pontos.O programa Antutu Benchmark resultou em quase 4 mil pontos.

O desempenho em 3D foi de mais de 30 fps no modo sem luzes e 8 fps no modo com luzes e sombras.A CPU Allwinner A10, também chamada de Boxchip, é um fenômeno de engenharia e de marketing. Em grandes quantidades, custa 7 dólares, o que a fez a preferida para netbooks e tablets, na China. Pode rodar em velocidade escalável de 60 MHz a 1500 MHz. Tem processador de vídeo MALI 400 que permite rodar vídeo de 2160 pixels de largura, 4 vezes a resolução full HD. Possui saída mini HDMI,

Page 3: Análise do tablet BT1003 Flytouch 8 Superpad VIII

permitindo que se ligue à TV ou monitor grande. Tem duas portas USB 2.0 e dois slots de cartão MicroUSB (que o chineses chamam de TF Card).É praticamente à prova de bricking (quando você transforma seu dispositivo num tijolo, ao queimar de forma errada uma ROM). A instalação de novo sistema é feita pela conexão USB, através de um programa para Windows LiveSuitPack.exe, distribuído pela Allwinner. Segundo algumas fontes, o Allwinner A10 dá boot automaticamente em novo sistema instalado no cartão MicroSD. Isto é uma notícia excelente mas ainda não testei.No BC1003, o “factory reset” só funciona com mouse ou teclado USB, e não com as teclas power e volume do som como é padrão do Allwinner A10, o que me leva a acreditar que seu sistema Android foi desenvolvido para netboooks. Quase mandei para a assistência técnica, até descobrir este detalhe num post escondido do fórum do site XDA Developers.

Softwares

O BT1003 vem com Android 4.04 “Ice Cream Sandwich” e, além dos programas padrão, tem pré-instalados: Adobe Reader, Facebook, Skype, leitor de arquivos DOC Documents To Go, ES Task Manager, e os jogos Fruit Ninja e Angry Birds.A primeira coisa que eu instalei foi o Link2SD, para permitir a instalação de mais programas num cartão SD sem problemas de falta de memória interna. Mas ele exige sempre um segundo boot rápido para reconhecer o cartão no slot MicroSD. Também coloquei o Quick System Info Pro, que me dá várias informações sobre o sistema e me permite fazer backup dos aplicativos. Instalei e rodei sem problemas o Google Earth, Google Currents, Google Chrome, Freedly e o leitor de ODF Andropen Office.

Multimídia

A câmera é fraquíssima. Há apenas a frontal, de resolução VGA de 640 x 480 pixels. Mas em multimídia, o tablet BC1003 é bom: toca áudio em formatos MP3; WAV; WMA; AAC; AAC+; MP2; OGG; M4A; FLAC e 3GP; e vídeos em formatos AVI, H.264, DIVX, XVID, rm, rmvb,  MKV, WMV, MOV, MP4, H.264, MPEG, DIVX, XVID, e FLV em formato até resolução full HD 1080P. A reprodução é excelente, sem travadinhas, graças ao chip especializado CedarX da Allwinner. O áudio AC97 também tem qualidade muito boa, mesmo nos fones baratos que acompanham o equipamento. O gravador de áudio salva em MP3.

Conectividade

As possibilidades de conexão são o forte do BC1003. É um dos poucos tablets que possuem conexão Ethernet a cabo. Tem duas entradas

Page 4: Análise do tablet BT1003 Flytouch 8 Superpad VIII

USB, uma para se conectar a PCs, quando é visto como armazenamento de massa, e outra USB OTG (On The Go), onde podem se espetados pen drives, teclados e mice. Ainda tem um slot de cartão MicroUSB, chamado de cartão TF pelos chineses, e uma saída mini HDMI, para se conectar à TV full HD. Para completar, tem um GPS com uma antena imantada com cabo longo que pode ser colocada do lado de fora (no teto) de um veículo, para melhor recepção.

Conclusão

O tablet BT1003 tem uma excelente relação custo/benefício. Pode ser usado com tranquilidade para navegar na internet, ler ebooks, jogar em 3D, ouvir música e passar vídeo HD na televisão. Com teclado e mouse USB, pode ser usado até mesmo para trabalhos pequenos em edição de texto e planilhas (um teclado ABNT2 exige aplicativos como o External Keyboard Helper, R$ 4,95). Sua “hackabilidade” é enorme, e desenvolvedores poderão lançar futuramente atualizações e mods (modificações) do Android.

Pontos positivos

Preço. Tela de 10 polegadas, 1024 x  600 pixels. RAM de 1GB e armazenamento de 4GB. Android 4.04. Chip Allwinner A10, o processador ARM mais hackeável que existe. Grande desempenho em rodar vídeos. Já vem “rooted”. GPS externo imantado com excelente recepção. Conexão FastEthernet para rede cabeada. 2 portas USB Uma saída HDMI. Aceita conexão 3G por dongle USB.

Pontos negativos

Tela resistiva, que exige pressão para funcionar. O multitoque da tela é terrivelmente errático. Bateria tem pouca duração. Não possui Bluetooth. Câmera subdimensionada, de 0.3 megapixels, VGA 640 x 480 pixels.

Referências

Yones. Fabricante em <http://www.yonesnav.com/products/bc1003.php> CWM 6.0.2.8 for Allwinner A10 & A13 Tablets – v2a. Post de fórum em

<http://forum.xda-developers.com/showthread.php?t=2189640>

Page 5: Análise do tablet BT1003 Flytouch 8 Superpad VIII

Using hardware devices. Android Developers. <http://developer.android.com/tools/device.html>

Allwinner A10 – ARM Cortex A8 SoC. <http://rhombus-tech.net/allwinner_a10/>

Allwinner A10 general FAQ. <http://tabletrepublic.com/forum/cortex-a8-allwinner-a10/allwinner-a10-general-faq-non-tablet-specific-556.html>

Allwinner A1X. Verbete na Wikipedia. <http://en.wikipedia.org/wiki/Allwinner_A1X>

Kocaso. Imagens do firmware para recuperação do sistema (não testadas). <http://www.kocaso.com/support.html>

Como fazer backup do sistema Android do tablet BC1003 (Wei Wide PRO 10″)Por José Antonio Rocha– 2 de maio de 2013Assunto: Android, Celular, Linux

O tablet BT1003 usa chip Allwinner A10, um processador ARM extremamente hackeável. No entanto, brincar com isto pode ser perigoso pelo risco de “brickar” (transformar num tijolo de alta tecnologia) o dispositivo. Mas o Allwinner é praticamente à prova de tijolamento, desde que se tenha as ROMs originais e se possa queimá-las de volta no tablet. Como o fabricante Yones não disponibiliza a ROM em seu site, eu mesmo precisei gerar estes arquivos.Fiz um mapa mental com o esquema da imagem da ROM do Allwinner 10 para melhorar o entendimento:

O backup do sistema Android no tablet BC1003 é feito pela shell do dispositivo, que eu acesso com a linha de comando na shell do Linux:adb shellO adb é parte do Android Development Kit. Para descobrir quais são as partições do Android, já na shell do tablet, uso o seguinte comando para listar o diretório de dispositivos de bloco /dev/block:

Page 6: Análise do tablet BT1003 Flytouch 8 Superpad VIII

ls /dev/blockCom isto, verifico que não há dispositivos com “mtd” no nome. Assim, o tablet não usa o subsistema mtd para gerenciar memória flash. Em vez disto, há partições com “nand”. Isto indica que a memória interna de 4 GB usa o esquema de partições eMMC e que as partições são:

nanda nandb nandc nandd nande nandf nandg nandh nandi

É um sistema Allwinner de 9 partições NAND. Este número é importante se eu escolher instalar alguma ROM Cyanogen, por exemplo, que possui versões para Allwinner de 9, 10 e 11 partições NAND.Para descobrir o que há em cada partição, consulto o subsistema Linux /proc, que tem informações sobre  o dispositivo. Uso o comando “mount” ou:cat /proc/mounts > /mnt/sdcard/mounts.txtque gera um arquivo texto listando todas as partições montadas:rootfs / rootfs ro,relatime 0 0tmpfs /dev tmpfs rw,nosuid,relatime,mode=755 0 0devpts /dev/pts devpts rw,relatime,mode=600,ptmxmode=000 0 0proc /proc proc rw,relatime 0 0sysfs /sys sysfs rw,relatime 0 0tmpfs /mnt/asec tmpfs rw,relatime,mode=755,gid=1000 0 0tmpfs /mnt/obb tmpfs rw,relatime,mode=755,gid=1000 0 0/dev/block/nandd /system ext4 ro,relatime,user_xattr,barrier=0,data=ordered 0 0/dev/block/nande /data ext4 rw,nosuid,nodev,noatime,user_xattr,barrier=0,journal_checksum,data=ordered,noauto_da_alloc 0 0/dev/block/nandh /cache ext4 rw,nosuid,nodev,noatime,user_xattr,barrier=0,journal_checksum,data=ordered,noauto_da_alloc 0 0/dev/block/vold/179:2 /data/sdext2 vfat rw,relatime,uid=1000,gid=1000,fmask=0133,dmask=0002,allow_utime=0020,codepage=cp437,iocharset=ascii,shortname=mixed,errors=remount-ro 0 0/dev/block/vold/93:64 /mnt/sdcard vfat rw,dirsync,nosuid,nodev,noexec,relatime,uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro 0 0/dev/block/vold/93:64 /mnt/secure/asec vfat rw,dirsync,nosuid,nodev,noexec,relatime,uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro 0 0tmpfs /mnt/sdcard/.android_secure tmpfs ro,relatime,size=0k,mode=000 0 0/dev/block/dm-0 /mnt/asec/br.gov.caixa.webcaixa-1 vfat ro,dirsync,nosuid,nodev,relatime,uid=1000,fmask=0222,dmask=0222,codepage=cp437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro 0 0

Page 7: Análise do tablet BT1003 Flytouch 8 Superpad VIII

/dev/block/dm-1 /mnt/asec/com.antutu.CpuMasterFree-1 vfat ro,dirsync,nosuid,nodev,relatime,uid=1000,fmask=0222,dmask=0222,codepage=cp437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro 0 0/dev/block/dm-2 /mnt/asec/org.freeandroidtools.root_checker-1 vfat ro,dirsync,nosuid,nodev,relatime,uid=1000,fmask=0222,dmask=0222,codepage=cp437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro 0 0/dev/block/dm-3 /mnt/asec/com.apedroid.hwkeyboardhelperdemo-1 vfat ro,dirsync,nosuid,nodev,relatime,uid=1000,fmask=0222,dmask=0222,codepage=cp437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro 0 0Também posso olhar as mensagens do kernel com o comando:cat /proc/kmsgNo início das mensagens, aos 2 segundos de boot, aparecem as linhas com os nomes das partições:[ 2.219177] The 0 disk name = bootloader, class name = DISK, disk size = -419187676[ 2.219191] The 1 disk name = env, class name = DISK, disk size = -419187612[ 2.219203] The 2 disk name = boot, class name = DISK, disk size = -419187548[ 2.219214] The 3 disk name = system, class name = DISK, disk size = -419187484[ 2.219225] The 4 disk name = data, class name = DISK, disk size = -419187420[ 2.219235] The 5 disk name = misc, class name = DISK, disk size = -419187356[ 2.219246] The 6 disk name = recovery, class name = DISK, disk size = -419187292[ 2.219257] The 7 disk name = cache, class name = DISK, disk size = -419187228[ 2.219268] The 8 disk name = UDISK, class name = DISK, disk size = -419187164[ 2.219279] The 8 disk size = 4917248Mas o tamanho das partições é incompreensível. Para obter esta informação, uso o comando:cat /proc/partitions > /mnt/sdcard/partitions.txtque gera um texto com o tamanho real das partições:major minor  #blocks  name7        0       4190 loop07        1       2111 loop17        2       2111 loop27        3       2111 loop393       0      81920 nanda93       8      16384 nandb93      16      32768 nandc93      24     524288 nandd93      32     384000 nande93      40      16384 nandf93      48      32768 nandg93      56     327680 nandh93      64    2458624 nandi179      0    1921024 mmcblk0179      1     961467 mmcblk0p1179      2     959488 mmcblk0p2254      0       4189 dm-0254      1       2110 dm-1254      2       2110 dm-2254      3       2110 dm-3A estrutura de partições do BT1003 é a seguinte:

NºNome do dispositivo

TamanhoRótulo da partição

Sistema de arquivo

Comentários

0 nanda 80MB bootloader vfat Tabela de partições nos primeiros 16 MB e arquivos para assistir o

Page 8: Análise do tablet BT1003 Flytouch 8 Superpad VIII

bootloader nos outros 64 MB. Imagens do status da bateria, u-boot.bin, script.bin e .ini ficam aqui.

1 nandb 16MB env raw Ambiente para assistir o u-boot.

2 nandc 32MB boot rawTem o kernel e seu ramdisk no formato ANDROID mkbootimg.

3 nandd 504MB system ext4 Partição /system do Android.

4 nande 375MB data ext4 Partição /data.

5 nandf 16MiB misc raw

Partição usada para passar dados entre vários estágios da sequência de boot (por exemplo, boot no modo recovery, fastboot etc).

6 nandg 32MiB recovery raw Partição recovery com o kernel.

7 nandh 320MiB cache ext4 Partição montada como /cache.

8 nandi 2,401GB UBOOT vfat Partição montada como /mnt/sdcard.

As partições importantes são bootloader, env, boot, system e recovery. As outras são recriadas quando do primeiro boot e configuração.

Bootloader e environment

Dentro do shell do tablet, uso o comando dd para copiar as partições para o cartão MicroSD:dd if=/dev/block/nanda of=/sdcard/bootloader.imgdd if=/dev/block/nandb of=/sdcard/env.imgO comando dd é mais informativo, mas também posso usar o comando cat:cat /dev/block/nanda > /sdcard/bootloader.imgDepois de copiadas as partições para arquivos img no cartão MicroSD, pode-se conectar o cabo USB e copiá-los para o PC desktop, para manipulação. Também posso fazer isto do shell Linux ou Windows com o Android Debug Bridge (adb). Abaixo, os comandos estão juntos numa mesma linha para facilitar. A linha com o prompt “$” é o comando, as outras linhas são os resultados. A linha de comandos gera o backup, copia para o PC e apaga a imagem do cartão SD para liberar espaço. Primeiro, o bootloader:$ adb shell dd if=/dev/block/nanda of=/sdcard/bootloader.img && adb pull /sdcard/bootloader.img && adb shell rm /sdcard/bootloader.img163840+0 records in163840+0 records out83886080 bytes transferred in 19.563 secs (4287996 bytes/sec)e, depois, o ambiente de boot:adb shell dd if=/dev/block/nandb of=/sdcard/env.img && adb pull /sdcard/env.img && adb shell rm /sdcard/env.img32768+0 records in32768+0records out16777216 bytes transferred in 1.507 secs (11132857 bytes/sec)O bootloader é uma imagem no sistema de arquivo vfat e pode ser montada no Ubuntu com os comandos:

Page 9: Análise do tablet BT1003 Flytouch 8 Superpad VIII

sudo mkdir /media/cranebootloadersudo mount -t vfat -o loop bootloader.img /media/cranebootloaderCom isto, posso entrar no diretório /media/cranebootloader, investigar e extrair arquivos desta imagem.O env é o espaço para alguns parâmetros do boot. É um arquivo binário com strings terminadas em zero. Aberto por um editor hexadecimal, ele revela os seguintes parâmetros:bootdelay=0bootcmd=run setargs boot_normalconsole=ttyS0,115200nand_root=/dev/nandcmmc_root=/dev/mmcblk0p4init=/initloglevel=8setargs=setenv bootargs console=${console} root=${nand_root} init=${init} loglevel=${loglevel}boot_normal=nand read 40007800 boot;boota 40007800boot_recovery=nand read 40007800 recovery;boota 40007800boot_fastboot=fastbootrecovery_key_value_max=0x13recovery_key_value_min=0x10fastboot_key_value_max=0x8fastboot_key_value_min=0x2

Boot e recovery

As partições boot e recovery são copiadas com os comandos:$ adb shell dd if=/dev/block/nandc of=/sdcard/boot.img && adb pull /sdcard/boot.img && adb shell rm /sdcard/boot.img65536+0 records in65536+0 records out33554432 bytes transferred in 10.160 secs (3302601 bytes/sec)5026 KB/s (33554432 bytes in 6.518s)$ adb shell dd if=/dev/block/nandg of=/sdcard/recovery.img && adb pull /sdcard/recovery.img && adb shell rm /sdcard/recovery.img65536+0 records in65536+0 records out33554432 bytes transferred in 6.065 secs (5532470 bytes/sec)4850 KB/s (33554432 bytes in 6.755sElas estão num formato especial do Android, composto por um cabeçalho de 2kb, o kernel Linux e um ou dois ramdisks com arquivos básicos necessários para o boot. Para se trabalhar nestes arquivos — geralmente se modifica o ramdisk — deve-se separar os arquivos com utilitários desenvolvidos por hackers.Estes arquivos têm a seguinte estrutura:

Área NomeTamanho em bytes

Formato Comentários

HeaderbootMagic 8 ASCII

Identificador do tipo de estrutura do arquivo (“assinatura”). Contém “ANDROID!”

kernelSize 4 long int Tamanho do kernel em bytes

kernelLoadAddr 4 long int Endereço de carga do kernel na memória RAM do dispositivo

Page 10: Análise do tablet BT1003 Flytouch 8 Superpad VIII

ram1Size 4 long int Tamanho do ramdisk 1 em bytes

ram1LoadAddr 4 long intEndereço da RAM onde carregar o ramdisk 1

ram2Size 4 long int Tamanho do ramdisk 2 em bytes

ram2LoadAddr 4 long intEndereço da RAM onde carregar o ramdisk 2

tagsAddr 4 long int Endereço de tags do kernel

pageSize 4 long int Tamanho das “páginas” do flash

unused1 4 long int Não usado

unused2 4 long int Não usado

bootName 16 ASCIINome do system-on-chip (placa do hardware)

cmdLine 512 ASCIILinha de comando do kernel. Será usada mais tarde na recriação da imagem

id 6 ASCII Identificador (?)

Kernel kernel kernelSize binário Kernel Linux

RAM disk 1

ramdisk1 ram1Size binário

Inicia com os bytes hexa 1F 8B (assinatura de ramdisk). Começa na página acima do kernel. Para calcular o tamanho do kernel em páginas, a fórmula é: kernelSizeInPages = (kernelSize + pageSize – 1) / pageSize. Para calcular o início do ramdisk, a fórmula é: ram1Addr = (1 + kernelSizeInPages) * pageSize

RAM disk 2

ramdisk2 ram2Size binário Raramente existe

O kernel e o ramdisk são extraído pelos scripts em Perl extract-kernel.pl e extract-ramdisk.pl, criados pelo hacker Lox:extract-kernel.pl boot.imgextract-ramdisk.pl boot.imgO segundo script extrai e recria a estrutura de pastas do ramdisk, que está armazenada no formato cpio.gz.Este trabalho também pode ser feito com um editor de arquivos binários como Bless Hex Editor.

System

A partição system contém todo o sistema Android. O backup, que é bem mais demorado que os anteriores — leva mais de 5 minutos — , é feito com o comando:$ adb shell dd if=/dev/block/nandd of=/sdcard/system.img && adb pull /sdcard/system.img && adb shell rm /sdcard/system.img1048576+0 records in1048576+0 records out536870912 bytes transferred in 149.046 secs (3602048 bytes/sec)4738 KB/s (536870912 bytes in 110.635s)

Page 11: Análise do tablet BT1003 Flytouch 8 Superpad VIII

A partição system está no formato ext4 sparse e deve ser convertida pelo programa simg2img (Linux) para ext4 normal, antes de ser montada pelo comando:simg2img system.img system2.imgsudo mkdir /media/cranesystemsudo mount -t ext4 -o loop system2.img /media/cranesystemDepois de montadas, pode-se copiar a estrutura de arquivos para outro lugar e editá-los a gosto.

Recriando imagens

Feitas as mudanças, pode-se recriar as images do BT1003. O boot.img se recria assim, com os programas Linux mkboot:# mkbootfs boot.img-ramdisk | gzip > ramdisk-boot # mkbooting --kernel boot.img-kernel --ramdisk ramdisk-boot --base 0x40000000 --cmdline 'console=ttyS0,115200 rw init=/init loglevel=6' -o new-boot.imgAtravés do shell, copia-se de volta as imagens para a partição correspondente, desde que o boot esteja intacto. Por exemplo, a imagem do sistema Android:dd if=/sdcard/system.img of=/dev/block/nandd

Referências

Android tablet info. Página de jovem doutor escocês. Melhor fonte de informações técnicas e tutoriais sobre esta classe de tablets. Também tem utilitário de conversão de imagens bitmapa (fotos) para formatos usados pelo Android. <http://www.imajeenyus.com/computer/20130301_android_tablet/android/index.html>

Android/partitions. <http://linux-sunxi.org/Android/partitions>. How to edit init.rc in Android.

<http://droidcore.blogspot.com.br/2012/12/how-to-edit-initrc-in-android.html>. McGHEE. Rob. Creating an Android update.zip package.

<http://www.robmcghee.com/android/creating-an-android-update-zip-package/>.

HOWTO: Unpack, Edit, and Re-Pack Boot Images. <http://android-dls.com/wiki/index.php?title=HOWTO:_Unpack%2C_Edit%2C_and_Re-Pack_Boot_Images>.

Generating key. <http://android-dls.com/wiki/index.php?title=Generating_Keys>

How to create Android update zip package. <http://www.londatiga.net/it/how-to-create-android-update-zip-package/>

Android code. <https://android.googlesource.com/platform/bootable/recovery/+/android-4.0.4_r1/updater/install.c>

How create update.zip. <http://modmymobile.com/forums/402-general-motorola-android/561090-how-create-update-zip.html>

Page 12: Análise do tablet BT1003 Flytouch 8 Superpad VIII

Como aumentar a memória do AndroidPor José Antonio Rocha– 10 de fevereiro de 2013Assunto: GeralOs dispositivos Android de baixo custo (entry point, ou ponto de entrada) têm pouca memória disponível aos aplicativos. Isto limita a quantidade e qualidade dos apps que podem ser instalados. Por exemplo, meu Wei Dream ou o Galaxy 5 de minha esposa não poderiam rodar tranquilamente o Google Currents, programa que mostra sites de notícias como uma revista. O Currents gasta muita memória porque faz cache das informações num grau que pode chegar aos 100 MB. Para resolver isto, existe o aplicativo Link2SD.Este programa gratuito transfere os aplicativos, os arquivos DEX (arquivos com o aplicativo otimizado), as bibliotecas (libraries) e os arquivos temporários para o cartão SD, e cria links simbólicos na memória do telefone. Para isto, necessita ter acesso root.Link simbólico é um recurso dos sistemas operacionais tipo Unix. Cria-se um arquivo que não é um arquivo, mas uma ligação ao arquivo verdadeiro em outro lugar. O link simbólico se comporta como se fosse o arquivo original, só que ocupando pouquíssimo espaço.O que o Link2SD faz é criar links simbólicos na memória interna do telefone ou tablet apontando para os arquivos verdadeiros no cartão SD. No meu Wei Dream, o uso de memória interna baixou de 160 MB para 111 MB. No Galaxy 5, baixou de 140 MB para 48 MB. Além de permitir a instalação de mais aplicativos, isto faz com que o cache dos aplicativos possa crescer muito mais no cartão SD, evitando os terríveis avisos de falta de memória.Para instalar o Link2SD é necessário se ter uma segunda partição no cartão SD. No Windows é meio complicado fazer isto. No Linux, é uma moleza. Usei o programa gparted. Ele está na imagens de pendrive mas não é instalado por default no desktop. Tive que instalá-lo com o comando “sudo apt-get install gpartd”.Criei mais uma partição no cartão SD com os seguintes passos:

1. Abri espaço no SD para mais uma partição. Coloquei o cartão MiniSD num adaptador, espetei o adaptador no PC desktop, abri o gparted, mudei o dispositivo para o cartão SD:

Page 13: Análise do tablet BT1003 Flytouch 8 Superpad VIII

2. Desmontei o cartão SD que é montado automaticamente:

3. Selecionei a única partição, cliquei com o botão da direita e escolhi “Redimensionar”. Repare como os arquivos existentes estão todos no início da partição (área amarela clara). Isto permite que eu redimensione a partição sem problemas. O tamanho da área liberada vai depender de quantos aplicativo pretende-se instalar. Algo razoável está entre 256 MB a 512 MB.

4. Selecionei o espaço liberado (área cinza), cliquei com o botão da direita e escolhi “Criar partição”. Escolhi o formato Fat16, compatível com o Android de meu telefone.

Page 14: Análise do tablet BT1003 Flytouch 8 Superpad VIII

5. Cliquei no botão de seta verde da janela principal do gparted para aplicar as modificações. Depois de alguns minutos formatando a nova partição, a operação estava terminada.

A seguir, rodei o aplicativo Link2SD e selecionei todos os aplicativos de usuários para serem transferidos ao cartão SD e lincados na memória interna. O Link2SD só transfere arquivos de usuário ou arquivos de sistema que foram atualizados. Não mexe nos arquivos de sistema originais. No entanto, ele permite que se apaguem os arquivos de sistema indesejados, o que sempre é uma boa pedida para apagar aplicativos chineses ou bloatwares (programas inúteis que incham o dispositivo) instalados pela operadoras de telefonia. O resultado da otimização da memória aparece abaixo. Antes da otimização estava assim:

A partição secundária no SD aparece como Armazenamento A2SD no meu Wei Dream, mas aparece como “Armazenamento Secundário” no Galaxy 5. Depois de criar os links simbólicos, o espaço interno ficou assim:

Page 15: Análise do tablet BT1003 Flytouch 8 Superpad VIII

Agora, quando eu instalo mais programas, o Link2SD move-os automaticamente para o SD. Abaixo a tela do Link2SD mostrando os dados e programas lincados:

O Google Drive e o Google Maps ocupariam 27 MB no espaço interno, e agora têm espaço à vontade no cartão SD.Este aplicativo é tão bom que, apesar de ser gratuito, fiz uma doação de 5 dólares para o autor.

Referências

1. Como aumentar a memória do Android. <http://www.mafagrafos.net/2013/02/04/aumentar-memoria-interna/>

2. Use o Link2SD para aumentar o espaço livre na memória interna de seu Android!. Tutorial para reparticionar com Windows. <http://forum.techtudo.com.br/perguntas/36491/use-o-link2sd-para-aumentar-o-espaco-livre-na-memoria-interna-de-seu-android>.

Page 16: Análise do tablet BT1003 Flytouch 8 Superpad VIII