Elmord's Magic Valley

Computers, languages, and computer languages. Às vezes em Português, sometimes in English.

CyanogenMod 7 no Samsung Galaxy 5, e dicas para desbrickar o aparelho

2013-01-17 02:51 -0200. Tags: comp, android, em-portugues

No último fim-de-semana eu resolvi experimentar o tal do CyanogenMod. Para quem não sabe, o CyanogenMod é uma variante do Android com algumas funcionalidades extra, mantida não-comercialmente por uma comunidade de desenvolvedores.

O Samsung Galaxy 5 (a.k.a. Europa, a.k.a. GT-I5500x) não é oficialmente suportado pelo CyanogenMod. Ports não-oficiais do CyanogenMod 7 e 9 são mantidos pelos desenvolvedores do MAD Team. O port do CyanogenMod 9 (baseado no Android 4.0) ainda está em alpha, e não é recomendado para uso diário. Por outro lado, estou usando o CyanogenMod 7 (baseado no Android 2.3.7) há quatro dias e não tive problema nenhum com ele (de fato tenho tido menos problemas com ele do que com a ROM que veio com o aparelho).

Instalando o CyanogenMod 7

As instruções no site do MAD Team apresentam duas maneiras de instalar o CyanogenMod: através do MAD Manager, um aplicativo para o Android que permite baixar e instalar as ROMs diretamente a partir do celular, sem necessidade de um PC por perto, e que parece ser totalmente excelente e fácil de usar; e através do Odin, um programa Windows-only e proprietário para flashear ROMs em aparelhos Samsung.

Por algum misterioso motivo do qual eu não me recordo (possivelmente porque não achei o MAD Manager para baixar fora da lojinha do Google, da qual eu não tenho como baixá-lo por não ter conta no Google), eu fiz a instalação de uma terceira maneira. A menos que você tenha um bom motivo, eu recomendo usar o MAD Manager, que é a maneira "oficial" recomendada pelo MAD Team para flashear a ROM. (Por outro lado, eu recomendo manter uma distância saudável do Odin, que não é lá uma criatura muito confiável.) Relato aqui o método que eu usei para caso você tenha problemas usando o método oficial.

Ative o USB Debugging, e faça backup de seus dados

Antes de mais nada, vá em Settings > Applications > Development e marque Android debugging. Isso permitirá que você use o programa adb para tentar salvar o dispositivo caso ocorra algum problema. Não é para ocorrer nenhum problema, mas nunca se sabe.

Feito isso, faça backup dos dados do celular (contatos e outras coisas que não deseje perder); os dados serão apagados no processo de instalação.

Instale o ClockworkMod Recovery

Os aparelhos Android-based possuem um "recovery mode", a partir do qual é possível instalar atualizações de firmware, limpar as configurações do dispositivo, entre outras coisas. O ClockworkMod Recovery substitui o recovery mode padrão do aparelho por um com funcionalidades extra, tais como criação e restauração de backups do sistema e instalação de ROMs alternativas. Utilizaremos o ClockworkMod Recovery para instalar a ROM com o CyanogenMod 7.

  1. Baixe o ClockworkMod ROM Manager e instale-o no celular. (O link veio daqui.)
  2. Baixe o ClockworkMod Recovery [Update: O link anterior está quebrado. Eis um novo link. Obrigado, Jonathan Henrique!], e salve-o com o nome de update.zip no raiz do SD card do celular.
  3. Aqui temos um pequeno problema: o ClockworkMod Recovery espera ser instalado em um aparelho de modelo GT-I5500, mas os aparelhos vendidos no Brasil são do modelo GT-I5500B, e por isso o ClockworkMod Recovery se recusa a instalar. Se esse for o seu caso (i.e., o aparelho mostra "GT-I5500B" na tela durante o boot):
    1. Abra o arquivo META-INF/com/google/android/updater-script dentro do zip;
    2. Remova as quatro primeiras linhas, que hão de ser iguais a estas:
      assert(getprop("ro.product.device") == "galaxy5" || getprop("ro.build.product") == "galaxy5" ||
             getprop("ro.product.device") == "GT-I5500" || getprop("ro.build.product") == "GT-I5500" ||
             getprop("ro.product.device") == "GT-I5503" || getprop("ro.build.product") == "GT-I5503" ||
             getprop("ro.product.device") == "GT-I5508" || getprop("ro.build.product") == "GT-I5508");
    3. Coloque o arquivo modificado de volta dentro do zip.

    (Ou use um editor de texto capaz de abrir e modificar os arquivos diretamente a partir do zip, como o Vim.)

  4. Abra o ROM Manager no celular, e selecione Reboot into Recovery. O celular deverá reiniciar em modo recovery, e apresentar um menu.
  5. Selecione Install update.zip, ou algo similar.

Pronto! Você já tem o ClockworkMod Recovery instalado. (O ROM Manager possui uma opção Flash ClockworkMod Recovery que teoricamente lhe pouparia todo esse trabalho, mas aparentemente o Galaxy 5 não é suportado oficialmente pelo ClockworkMod Recovery, de modo que essa opção não funciona. Mas você pode testar e ver se tem sorte (já que podem ter adicionado suporte desde que este post foi escrito).)

Instale a ROM do CyanogenMod 7

  1. Baixe a ROM, e salve-a no SD card do celular. (O link veio daqui.)
  2. Abra o ROM Manager, e selecione Reboot into Recovery. Você deverá cair no menu do ClockworkMod Recovery (similar mas diferente do menu em que você tinha caído antes).
  3. Selecione wipe data/factory reset. Isso apagará a partição de dados do dispositivo (o que esse cara diz ser necessário se você estiver instalando o CyanogenMod em um celular com um firmware antigo). Tenha feito backup dos seus dados antes de fazer isso.
  4. Selecione Install update from sdcard > choose zip from sdcard, e escolha a ROM que você baixou no passo 1. Confirme a instalação e aguarde.
  5. Se tudo correu bem, selecione Reboot system now.

E está feito. O celular deve iniciar no CyanogenMod (o primeiro boot pode demorar um pouco).

Feito isso, uma boa idéia é reiniciar em recovery mode novamente, através do ROM Manager, e fazer um backup da instalação atual, selecionando backup and restore > backup. Certifique-se de que há espaço suficiente no SD card para fazer o backup (que há de ocupar de 100MB a 200MB). É possível que você tenha que fazer outro wipe data/factory reset logo depois de instalar o CyanogenMod (as teclas Home e Search aparentemente não funcionam logo após a instalação caso um data wipe não seja feito).

Também vale observar que o CyanogenMod não vem com os aplicativos proprietários do Google (o que eu considero uma vantagem). Se você quiser os aplicativos, terá que baixá-los separadamente (use a versão para o Android 2.3.7) e instalar o pacote pelo ClockworkMod Recovery (da mesma maneira como foi feito com o CyanogenMod). Não testei o tal pacote.

Se tudo der errado, ou Como desbrickar um Galaxy 5

Um grande problema desse procedimento é que não é possível voltar atrás: o firmware original do Galaxy 5 usa um sistema de arquivos RFS, que o ClockworkMod Recovery é incapaz de montar, e conseqüentemente de fazer backups. (Por tosquice do ClockworkMod, em verdade; ele poderia muito bem copiar o conteúdo bruto das partições, mesmo sem montá-las.) Assim, depois de instalado o CyanogenMod, não há um método simples e indolor de recuperar a ROM original. Experimentando métodos "alternativos" (a.k.a. facão) de recuperação, eu acabei destruindo o sistema do meu aparelho, o que fez com que ele congelasse no boot (i.e., ficasse soft-bricked).

A grande sacanagem é que ao contrário de outros aparelhos, o Galaxy 5 não tem uma combinação de teclas para iniciar em recovery mode, o que permitiria entrar no menu de recovery e restaurar um backup do CyanogenMod de quando tudo estava funcionando. Um procedimento trivial acaba se tornando um inferno.

Método 1: adb

A primeira coisa a se tentar é usar o adb. O adb é uma ferramenta de desenvolvimento do Android que permite acessar um celular que esteja com modo debug ativado pela USB. O adb é parte do pacote de Platform Tools do Android Software Development Kit. (Alternativamente, você pode baixar os binários para GNU/Linux desta pessoa aleatória na Internet.) Instalado o adb, conecte o celular ao PC pela USB, ligue-o, espere ele "bootar" (e congelar durante o processo), abra um terminal, vá até a pasta onde se encontra o adb, e execute o comando:

./adb reboot recovery

Se o celular for detectado, ele há de reiniciar no menu de recovery, de onde você pode tentar recuperar um backup ou reinstalar uma ROM a partir do SD card. Se ele não for detectado (i.e., o adb mostrar uma mensagem Device not found), você pode experimentar desconectá-lo e reconectá-lo e repetir o comando, e/ou executar ./adb kill-server antes de repetir o comando. Se isso não adiantar, é provável que o celular não esteja em debug mode, e portanto o adb não vai funcionar.

Método 2: Odin + ROM oficial

O segundo método é tentar carregar uma ROM com o bendito Odin. Para isso, você precisará de uma máquina com Windows. O formato das ROMs usadas pelo Odin é diferente do formato usado pelo ClockworkMod, de modo que a ROM do CyanogenMod baixada do MAD Team não pode ser usada (pelo menos não diretamente, e eu não explorei muito o formato do Odin para transformar um formato no outro; afinal eu já tinha explodido o meu sistema brincando com o formato do ClockworkMod).

  1. Baixe uma das ROMs oficiais. (Eu recomendo a ROM brasileira da Tim, pelo simples fato de que ela existe, e foi a que eu usei; algumas outras apontam para arquivos que não existem mais.)
  2. Baixe e descompacte o Odin 4 e arquivo EUROPA_v1.0 acompanhante (o link saiu do post linkado acima).
  3. Com o telefone desligado (retire e recoloque a bateria se necessário), pressione e segure Volume para baixo + Tecla do meio das setas. Sem soltar essas teclas, pressione e segure o botão Power até o telefone ligar, e então solte o Power sem soltar as outras duas. Você deverá ver uma tela de "Downloading", com um ícone do bonequinho do Android em uma placa de "homens trabalhando". Solte as teclas.
  4. Abra o Odin.
  5. Marque a opção One package.
  6. Clique no botão OPS, e selecione o arquivo OPS que você baixou junto com o Odin.
  7. Clique no botão One Package (bem embaixo na janela), e selecione a ROM.
  8. Clique no botão Start. A ROM deverá começar a ser carregada no celular, e logo a plaquinha de "androids trabalhando" deverá dar lugar a uma barrinha de progresso.

Nesse momento uma de duas coisas há de ocorrer:

Método 2½: Odin + fake ROM

Se você não consegue instalar uma ROM oficial com o Odin porque o celular sempre cai em modo "sinal de alerta" logo depois da instalação, você pode se aproveitar desse fato para entrar em modo recovery. Tendo instalado o ClockworkMod Recovery, tal como explicado no método anterior, faça o seguinte:

  1. Renomeie a ROM oficial que você baixou no passo anterior de blablabla.tar.md5 para blablabla.tar (removendo a extensão md5; você pode ter que mandar o Windows exibir as extensões de arquivos nas opções do Explorer).
  2. Abra o arquivo tar (você pode usar o 7-zip para isso), e remova todos os arquivos que ele contém, exceto o amss e o csc.rfs.
  3. Faça o procedimento do método 2 usando esse arquivo alterado no lugar da ROM original no campo One Package. Alguns instantes depois de ter dado Start, o celular deverá cair novamente na tela com o sinal de alerta. Pressione Menu ou Home; você deverá cair no ClockworkMod Recovery. A partir daí, basta recuperar um backup ou instalar o CyanogenMod, como mencionado no método 2.

Se você tiver outras soluções ou dicas, queira deixar um comentário.

Comentários / Comments (14)

J.P. Chenet, 2013-01-25 13:18:44 -0200 #

beba mais vinho. acesse www.jpchenet.com e aproveite uma delicada seleção de bebidas feita especialmente para VOCÊ!!

Boire plus de vin. www.jpchenet.com accéder et profiter d'une délicate sélection de boissons faite spécialement pour VOUS!!


Vítor De Araújo, 2013-01-25 17:49:59 -0200 #

Na União Soviética, as uvas pisam em VOCÊ!!


Anderson Luciano da Cruz, 2013-10-02 15:51:57 -0300 #

Primeiramente agradeço o autor pelo maravilhoso tutorial.

Segundo, para quem assim como eu estava tendo problemas com o update.zip, recomendo fazer algo que funcionou pra mim: ao editar o arquivo "updater-script" , em vez de excluir as linhas, que pra mim não deu certo, recomendo colocar o "B" e trocar o 8 pelo 0 (zero)em frente do ultimo modelo citado, ficando assim:
assert(getprop("ro.product.device") == "galaxy5" || getprop("ro.build.product") == "galaxy5" ||
getprop("ro.product.device") == "GT-I5500" || getprop("ro.build.product") == "GT-I5500" ||
getprop("ro.product.device") == "GT-I5503" || getprop("ro.build.product") == "GT-I5503" ||
getprop("ro.product.device") == "GT-I5508" || getprop("ro.build.product") == "GT-I5500B");

Comigo funcionou.
Boa sorte a todos e dúvidas estou à disposição.
Abraços


Vítor De Araújo, 2013-10-02 17:13:40 -0300 #

@Anderson: Opa, valeu a dica!


Israel Oliveira, 2013-10-12 23:42:39 -0300 #

Amigos tenho uma ideia legal que pode ajudar vcs .. tem um programa chamado MAD manager q ja baixa a clockworkmod sem precisar mexer no update.zip ele baixa direto e a gente so precisa ter acesso root


Vítor De Araújo, 2013-10-13 00:22:27 -0300 #

Valeu a dica, mas é basicamente o que eu disse no terceiro parágrafo. :P


Rafael Maia, 2014-10-09 21:48:13 -0300 #

Ótima dica. Se perguntar como consegui não lembro mais. Porém, deu certo.


T.G, 2016-12-05 00:31:32 -0200 #

Cara, tu não tem ideia do quanto essa página me ajudou. Muito Obrigada.


Vítor De Araújo, 2016-12-05 23:28:31 -0200 #

Disponha. :D


Jonathan Henrique, 2017-02-01 11:42:53 -0200 #

Bom, o link de download do Clockworkmod Recovery está quebrado... :/


Jonathan Henrique, 2017-02-01 15:04:07 -0200 #

Aqui um link funcionando pra quem precisar
http://www.mediafire.com/file/naxc8ea1qwxaukn/recovery-clockwork-6.0.4.6-galaxy5.zip


Vítor De Araújo, 2017-02-01 16:14:20 -0200 #

@Jonathan: Obrigado por compartilhar o link! :) Vou corrigir o post quando estiver em casa.


Jonathan Henrique, 2017-02-01 19:54:09 -0200 #

Uma coisa Vitor, eu tentei instalar e deu falha, mas como estou no Windows 10, o Odin não reconhece o celular, então teria que optar forçar pela Recovery fazendo pelo adb, mas agora só existe o Android Studio e não faço a mínima ideia de como entrar no terminal pra poder colocar o comando...


Tiosam, 2017-08-24 11:12:29 -0300 #

Galera alguém passa o link da ROM do CyanogenMod 7 o link está quebrado.


Deixe um comentário / Leave a comment

Main menu

Recent posts

Recent comments

Tags

em-portugues (213) comp (148) prog (71) in-english (62) life (49) unix (38) pldesign (37) lang (32) random (28) about (28) mind (26) lisp (25) fenius (22) mundane (22) web (20) ramble (18) img (13) rant (12) hel (12) scheme (10) privacy (10) freedom (8) esperanto (7) music (7) lash (7) bash (7) academia (7) copyright (7) home (6) mestrado (6) shell (6) android (5) conlang (5) misc (5) emacs (5) latex (4) editor (4) etymology (4) php (4) worldly (4) book (4) politics (4) network (3) c (3) tour-de-scheme (3) security (3) kbd (3) film (3) wrong (3) cook (2) treta (2) poem (2) physics (2) x11 (2) audio (2) comic (2) lows (2) llvm (2) wm (2) philosophy (2) perl (1) wayland (1) ai (1) german (1) en-esperanto (1) golang (1) translation (1) kindle (1) pointless (1) old-chinese (1)

Elsewhere

Quod vide


Copyright © 2010-2024 Vítor De Araújo
O conteúdo deste blog, a menos que de outra forma especificado, pode ser utilizado segundo os termos da licença Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International.

Powered by Blognir.