quinta-feira, 18 de agosto de 2011

Heimdall e Odin3

Recebo vários emails com dúvidas de utilização de ferramentas para instalar/atualizar o SGT. Atualmente temos duas excelentes ferramentas, o Heimdall e o Odin.

Meu primeiro Android foi um Galaxy S I9000B. Nesta "época" eu só tinha como informação a utilização de uma ferramenta para atualizações, o Odin. Fiz várias atualizações com meu SGS através do Odin, algumas foram bem sucedidas, outras foram bem complicadas. Mas eu não tinha interesse em aprofundar meus estudos com o Android ainda.

Após o SGS, eu comprei um SGT, e então, com a experiência de um usuário iniciante resolvi usar o Odin para instalar a primeira Rom [JJ3] sem vínculos com operadoras de telefonia. A primeira tentativa não deu certo. Não conseguia mais iniciar o SGT. Não entendia o que poderia estar errado. Neste momento, pensei que não deveria mais simplesmente seguir os passos em fóruns e então comecei a querer entender como funciona o processo.

Nessa busca eu conheci um projeto de ferramenta para instalações de firmware e que poderia ser utilizada de forma transparente. Foi quando eu  comecei a utilizar o heimdall. Sou usuário Linux há bastante tempo e com isso acumulei algum conhecimento para utilização da linha de comando, o que facilitou muito a forma de entender os procedimentos de instalação com heimdall.

Minha ferramenta passou a se chamar heimdall.

Para quem está acostumado com o Odin, ok! Continue! Não quero aqui, neste espaço, favorecer ou menosprezar o trabalho de ninguém. A proposta do Odin é excelente e o programa entrega aquilo que o usuário deseja que ele faça.

Com o heimdall, por exemplo, eu tenho mais flexibilidade para instalar somente um ou outro arquivo separadamente, sem precisar empacotar [compactar para .tar] nada, na verdade é o contrário, você tem que descompactar o arquivo que o Odin utiliza para que esses sejam utilizados pelo heimdall.

Conhecendo os arquivos e o que cada um representa na instalação fez com que eu aprofundasse ainda mais meus estudos sobre o SGT. Claro, cada arquivo tem a sua função e é necessário entender cada um deles.

Segue um exemplo de instalação com heimdall, usando linha de comando:

heimdall flash --repartition --pit P1_add_hidden.pit --factoryfs factoryfs.rfs --cache cache.rfs --dbdata dbdata.rfs --primary-boot boot.bin --secondary-boot Sbl.bin --param param.lfs --kernel zImage --modem modem.bin

Por exemplo, não quero instalar novamente os arquivos de boot e também não quero reparticionar. Então devo escrever uma linha assim:

heimdall flash --factoryfs factoryfs.rfs --cache cache.rfs --dbdata dbdata.rfs  --param param.lfs --kernel zImage --modem modem.bin

Agora, quero instalar somente o modem:

heimdall flash --modem modem.bin

Quero instalar um kernel novo, mas eu quero deixar o arquivo junto com os demais. Basta renomear o arquivo. Por exemplo, seu novo kernel agora tem o seguinte nome "zImage_ltn_20110818":


heimdall flash --kernel zImage_ltn_20110818


Mas essa liberdade pode prejudicar. Imagine passar o seguinte parametro dizendo que o primary-boot é o arquivo Sbl.bin. "Isso deve doer um bocado!" Então, temos que estudar e entender o que representa cada arquivo para não cometer erros...