Substituindo a partição Recovery do Android via ADB

Neste artigo será explicado como substituir Recovery do seu Tablet via linha de comando, pelo ADB.

[ Hits: 58.617 ]

Por: andre uebe em 04/03/2016


Introdução



A Recovery é uma partição responsável pelo gerenciamento básico de dispositivos (como SD card) do sistema Android. Para entender em detalhes o processo, podem acessar o artigo do Sergio Prado e o artigo: Can someone explain these Android ROM hacking terms: HBOOT/bootloader, radio, recovery image, update.zip, NAND unlocking, RUU? - Stack Overflow

Fazer a substituição da Recovery pode ser algo muito útil, principalmente quando se tem uma versão ultrapassada ou com defeito, ou quando se quer instalar uma nova ROM de um Android mais atual no seu dispositivo.

Vou relatar ocorrido para entenderem o problema que tive e como cheguei à solução final.

Tenho um Asus TF101 como mostra a figura a seguir:
Como a Asus não mais disponibilizou upgrades do Android, resolvi instalar a versão 5.1. E aí começaram os problemas. Para atualizar o Android, primeiro precisava substituir o bootloader da ROM original. Existem diversas Recoveries como o ClockwordMod, o TWRP etc. O problema é que a Recovery que instalei (ClockwordMod versão 6.0.1.3) para poder atualizar o meu Android, estava defeituosa. Fiz o backup da ROM original no cartão SD externo (para caso algo desse errado), e fiz a substituição do bootloader, deixando o TF101 sem sistema operacional, à espera do novo.
O passo seguinte seria simples. Entrar no Recovery Mode do TF101 (pressionando Power + Volume Down, e depois, Volume Up), e ler a nova ROM que estava no cartão SD. O problema é que ao tentar ler a ROM, descobri o defeito da Recovery: o mesmo não estava reconhecedo o cartão SD.

Problema criado: não conseguia recuperar o backup da ROM original e nem instalar a nova ROM, haja vista as duas estarem no inacessível cartão SD. Descobri, neste período, que conseguia acessar o tablet via ADB, quando o mesmo estava no Recovery Mode. Ainda assim fiquei dois meses com o tablet parado, pois não achava uma solução definitiva. Cheguei a reportar o problema, mas não obtive retorno.

Busquei várias soluções e comecei até a estudar o processo de boot do Android na expectativa de conseguir montar manualmente a device do cartão SD externo: Tentei salvar a ROM original ou a nova em alguma pasta no Tablet que a Recovery enxergasse. Ou ainda tentei burlar a Recovery, tentando fazê-la pensar que uma pasta local era o cartão SD. Nada funcionou.

    Próxima página

Páginas do artigo
   1. Introdução
   2. Substituindo a partição Recovery
Outros artigos deste autor

Configurando placa 3D nVidia 6200 com TV-out no Kurumin 7

Traduzindo legendas de maneira prática no Linux

Editando trilhas de GPS no formato de arquivo GPX no Linux

Instalando a impressora HP D1460 (série D1400) no Linux

Instalando Token da OAB no Linux Mint 17.3 (Rose)

Leitura recomendada

Utilize qualquer Tablet/Smartphone como monitor estendido sem fio no GNU/Linux

Instalando a recovery TWRP 2.8 e o Android Katkiss 6.0 no Tablet Asus Transformer TF101

Criando máquina virtual Linux no Android + servidor de arquivos

Instalação do Android CyanogenMod na linha Moto G

Capturando tela do Android usando shell script

  
Comentários
[1] Comentário enviado por fabio em 04/03/2016 - 14:17h

Ótima solução! O ADB é uma mão na roda, uso bastante.

[2] Comentário enviado por RBZ em 04/03/2016 - 18:28h

Temos um colega com problema no VOA, ele atualizou o cel e agora não sobe mais o sistema.
Ele não está conseguindo trocar o recovery pois a função de "Opções de desenvolvedor" não está ativa.

https://www.vivaoandroid.com.br/topico/Celulares/Moto-G3-nao-faz-boot-depois-de-atualizar-para-o-and...

Alguma ideia ?

[3] Comentário enviado por removido em 06/03/2016 - 05:04h

Tenho um tablet de custo baixo com Android.
Como posso saber se posso atualizar o Android que veio junto?

----------------------------------------------------------------------------------------------------------------
http://24.media.tumblr.com/tumblr_m62bwpSi291qdlh1io1_250.gif

# apt-get purge systemd (não é prá digitar isso!)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden

[4] Comentário enviado por andreuebe em 06/03/2016 - 09:46h


[2] Comentário enviado por RBZ em 04/03/2016 - 18:28h

Temos um colega com problema no VOA, ele atualizou o cel e agora não sobe mais o sistema.
Ele não está conseguindo trocar o recovery pois a função de "Opções de desenvolvedor" não está ativa.

https://www.vivaoandroid.com.br/topico/Celulares/Moto-G3-nao-faz-boot-depois-de-atualizar-para-o-and....

Alguma ideia ?


Em principio não vejo muita relação entre as "Opções de Desenvolvedor" e o ADB. Não que esteja totalmente certo acerca desta afirmação que pende mais para um dedução lógica. Veja: No meu caso nem tinha o Android instalado, apenas o Recovery. E, ainda assim, utilizei o ADB normalmente. Logo, o problema não me parece ser esse.

O que ele poderia tentar seria em vez de acessar o Recovery Mode Power+Volume Up, tentar acessar o Download Mode Power+Volume Down e utilizar o Heimdall ou o Odin, em vez do ADB.

Infelizmente o Heimdall do repositório Debian parece estar com um dos componentes bugados e dá erro na hora de transferir arquivos. Mas esta seria uma alternativa: Usar o Download mode em vez do Recovery mode.

[5] Comentário enviado por andreuebe em 06/03/2016 - 09:48h


[1] Comentário enviado por fabio em 04/03/2016 - 14:17h

Ótima solução! O ADB é uma mão na roda, uso bastante.


Fabio. Que bom!

Vi teu artigo sobre o Heimdall. Infelizmente anda bugado nesta última versão do Debian. Mas dou-te a ideia de escrever mais sobre o assunto. Muitas d[uvidas pairam como, por exemplo, equivalencias de pacotes zip para Odin e Heimdall. Como extrair os arquivos de um pacote feito para Odin para ser usado no Heimdall? Quais são os arquivos essenciais para instalação de ROM no Heimdall etc

abração

[6] Comentário enviado por andreuebe em 06/03/2016 - 09:54h


[3] Comentário enviado por listeiro_037 em 06/03/2016 - 05:04h

Tenho um tablet de custo baixo com Android.
Como posso saber se posso atualizar o Android que veio junto?

----------------------------------------------------------------------------------------------------------------
http://24.media.tumblr.com/tumblr_m62bwpSi291qdlh1io1_250.gif

# apt-get purge systemd (não é prá digitar isso!)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden


Se é um Tablet novo, veja se há atualização disponível em:

Configurações -> Sobre o Dispositivo -> Atualização do Sistema

Se não for, como o caso do meu TF101, busque em um site de ROM customizada, se há alguma para o teu modelo. Há várias opções. Veja estes artigos:

http://www.techtudo.com.br/artigos/noticia/2013/07/custom-rom-de-android-conheca-cinco-melhores-opco...

http://www.androidpit.com.br/melhores-roms-customizadas

Neste caso, antes terás dois caminhos de instalação da nova ROM:

Download Mode: Utilizando o Heimdall (Linux/Windows/Mac) ou o Odin (Windows) para instalar a nova ROM via cabo USB

Recovery Mode: Substituindo o Recovery original por um atualizado e instalando uma das ROM acima via cartão SD. Recomendo dois Recoveries:

https://twrp.me/about/

https://www.clockworkmod.com/




[7] Comentário enviado por removido em 07/03/2016 - 03:48h

Valeu.

----------------------------------------------------------------------------------------------------------------
http://24.media.tumblr.com/tumblr_m62bwpSi291qdlh1io1_250.gif

# apt-get purge systemd (não é prá digitar isso!)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden

[8] Comentário enviado por RBZ em 23/03/2016 - 07:16h


[4] Comentário enviado por andreuebe em 06/03/2016 - 09:46h


[2] Comentário enviado por RBZ em 04/03/2016 - 18:28h

Temos um colega com problema no VOA, ele atualizou o cel e agora não sobe mais o sistema.
Ele não está conseguindo trocar o recovery pois a função de "Opções de desenvolvedor" não está ativa.

https://www.vivaoandroid.com.br/topico/Celulares/Moto-G3-nao-faz-boot-depois-de-atualizar-para-o-and....

Alguma ideia ?

Em principio não vejo muita relação entre as "Opções de Desenvolvedor" e o ADB. Não que esteja totalmente certo acerca desta afirmação que pende mais para um dedução lógica. Veja: No meu caso nem tinha o Android instalado, apenas o Recovery. E, ainda assim, utilizei o ADB normalmente. Logo, o problema não me parece ser esse.

O que ele poderia tentar seria em vez de acessar o Recovery Mode Power+Volume Up, tentar acessar o Download Mode Power+Volume Down e utilizar o Heimdall ou o Odin, em vez do ADB.

Infelizmente o Heimdall do repositório Debian parece estar com um dos componentes bugados e dá erro na hora de transferir arquivos. Mas esta seria uma alternativa: Usar o Download mode em vez do Recovery mode.


Ele já fez essa tentativa, o problema é que atualizou via OTA para o Android 6 e não inicia mais.
Ao tentar substituir a rom via Odin, dá que o bootloader está em versão mais nova.
E para o downgrade do bootloader, sempre pedem o modo desenvolvedor ativo.

[9] Comentário enviado por dinhorv em 12/04/2017 - 18:01h

Olá... Tenho um asus zenfone selfie... Coloquei o cyanogenod nele e estava tudo funcionando muito bem até uma att via OTA chegar... Qdo o dispositivo reiniciou nunca mais saiu do TWRP... Tentei recuperar com o backup do proprio TWRP criado por mim... Nada. Tentei reinstalar a room original a partir do cartão sd, ela (ou qualquer outra rom) aparentemente instala, mas sempre, sempre volta pro TWRP, nada que faço faz ele ir pra download mode ou para o sistema, seja lá ele qual for.... Ele não reconhece via ADB... Ou pelo menos não mostra aparentemente.... Me ajudem.... POr favor...

[10] Comentário enviado por andreuebe em 20/04/2017 - 08:52h


[9] Comentário enviado por dinhorv em 12/04/2017 - 18:01h

Olá... Tenho um asus zenfone selfie... Coloquei o cyanogenod nele e estava tudo funcionando muito bem até uma att via OTA chegar... Qdo o dispositivo reiniciou nunca mais saiu do TWRP... Tentei recuperar com o backup do proprio TWRP criado por mim... Nada. Tentei reinstalar a room original a partir do cartão sd, ela (ou qualquer outra rom) aparentemente instala, mas sempre, sempre volta pro TWRP, nada que faço faz ele ir pra download mode ou para o sistema, seja lá ele qual for.... Ele não reconhece via ADB... Ou pelo menos não mostra aparentemente.... Me ajudem.... POr favor...


Uma solução seria tentar a recuperação via Odin ou Heimdall, uma vez que ADB e TWRP não estão dando certo

[11] Comentário enviado por polakozag em 18/09/2017 - 14:25h

Como voce sabia que deveria substituir o mmcblk0p4 quando usou o comando abaixo?

dd if=/recovery.blob of=/dev/block/mmcblk0p4

Estou com um problema que não deixa gravar, mas aceitou copiar do windows e gravar no android e aceitou este comando, mas acho que o final (que perguntei) não é o correto, pois tem vários la na pasta /block.

De toda forma, mesmo com o arquivo na raiz meu android não aceita gravar a nova ROM, em teste tentando "wipar" a pasta /data/media ele dar erro: READ_ONLY FILE SYSTEM

Alguém sabe como mudar as permissões pelo ADB SHELL?

[12] Comentário enviado por andreuebe em 23/09/2017 - 01:33h


[11] Comentário enviado por polakozag em 18/09/2017 - 14:25h

Como voce sabia que deveria substituir o mmcblk0p4 quando usou o comando abaixo?

dd if=/recovery.blob of=/dev/block/mmcblk0p4

Estou com um problema que não deixa gravar, mas aceitou copiar do windows e gravar no android e aceitou este comando, mas acho que o final (que perguntei) não é o correto, pois tem vários la na pasta /block.

De toda forma, mesmo com o arquivo na raiz meu android não aceita gravar a nova ROM, em teste tentando "wipar" a pasta /data/media ele dar erro: READ_ONLY FILE SYSTEM

Alguém sabe como mudar as permissões pelo ADB SHELL?


Olá. Não consegui entender, pelo teu texto, os detalhes do problema.

Tens um TF101?

Está com a imag de recovery mais atual?

A pasta destino retirei de um dos artigos que pesquisei e adaptei como solução ao problema proposto.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts