Índice:
- Espere - por que diabos você está fazendo isso?
- Links necessários
- OK - agora que diabos você está fazendo isso?
- Então, como você fez isso?
- Hora de piscar
- Coloque tudo junto e o que você tem?
- A linha inferior
Eu não sou um codificador. Eu mal conheço isso e não me lembro quantas vezes me perguntei por que o adb não funcionaria, apenas para descobrir que esqueci de ativar a depuração USB - novamente. Eu tenho o Linux em uma caixa aqui, mas só o uso quando estou com vontade de lançar meia dúzia de perguntas a Jerry no espaço de cinco minutos.
Além disso, eu não tenho barba no pescoço.
Então, o que no vasto e vasto mundo dos esportes eu estou fazendo o download do Xcode no meu MacBook Air (não importa que até a primavera deste ano eu fosse o Windows toda a minha vida), sincronizando a partir dos repositórios do Git, compilando código e exibindo um sistema operacional Eu conscientemente ignorei até agora - especialmente considerando que passei 24 horas lidando com uma criança doente, me preocupando com um amigo doente e me preparando para um provável furacão, ignorando amplamente o meu trabalho real?
Aparentemente, eu tenho um problema com o piscar. E foi assim que recentemente me vi colocando o novo sistema operacional da Mozilla, também conhecido como "Gecko", no Samsung Nexus S.
Bem-vindo ao projeto Boot to Gecko.
Como eu disse, não sou codificador. Mas eu gosto de mexer nas coisas. E eu consegui fazer isso, como minhas filhas gostam de dizer, tudo … por … eu … eu. E você também pode.
Espere - por que diabos você está fazendo isso?
Este é o primeiro de uma série que chamaremos de Projetos de fim de semana. Coisas que você talvez não tente. Mas se podemos fazê-lo, você também pode.
Dito isto, há algumas coisas que não vou fazer por você aqui. Esta não será uma visão detalhada de como criar e atualizar o projeto Boot to Gecko. Vou lhe dar os traços gerais da minha experiência. O Mozilla tem uma documentação excelente, e você realmente deve lê-la se quiser tentar isso. (Eu provavelmente também não conseguiria acertar na tradução.)
A outra coisa que eu não vou fazer é apontar para a construção de outra pessoa, que pode ser removível por meio do ClockworkMod. Você pode pesquisar por conta própria. O que eu queria fazer era realmente compilar isso por conta própria no telefone.
E foi o que eu fiz.
Links necessários
O Google é seu amigo. Uma simples pesquisa por "B2G" encontrou tudo o que eu precisava.
- Mozilla - Inicialize no Gecko (para uma explicação não nerd do B2G)
- B2G na Mozilla Developer Network (é aqui que o trabalho real começa)
- Construindo e instalando o Boot to Gecko
OK - agora que diabos você está fazendo isso?
Para construir do zero, de acordo com a Mozilla, você precisa de um computador Mac ou Linux. Eu tenho os dois aqui. Mas as instruções para Mac simplesmente pareciam mais fáceis. (Não há vergonha nisso, certo?) Mas isso também faz sentido. Provavelmente, se você estiver executando o Linux, poderá instalar facilmente todas as ferramentas listadas pela Mozilla. Eu? Não muito. Então Mac.
Foi realmente tão simples assim para mim: instale o Xcode da Mac App Store, inicie o Terminal e execute alguns comandos. Eu fiz ajustes suficientes no Android para ficar bem com isso. O Mozilla tem um ótimo script que instala tudo o que você precisa. Em seguida, sincronize o repositório git, compile o código e faça o flash no seu dispositivo Android como qualquer outra ROM personalizada. (E a Mozilla também tem um script para essa última parte, tornando as coisas ainda mais fáceis.)
Quanto ao dispositivo de destino para o qual você está construindo, você tem opções. A Mozilla os divide em três níveis:
- Camada 1: Otoro (algum tipo de dispositivo de desenvolvimento que a Mozilla está usando); Pandaboard; um emulador ARM ou x86; ou na área de trabalho. Não é o que eu estava procurando.
- Camada 2: Samsung Nexus S e Nexus S 4G. Eu sinto um tema comum aqui. Telefones facilmente desbloqueáveis, e a Mozilla diz que essas mudanças estão ocorrendo "secundariamente". Eu tenho um Nexus S por aí, e foi por isso que eu fui.
- Nível 3: Samsung Galaxy S2 e Galaxy Nexus. O pessoal está mexendo, mas o Nível 2 é a sua melhor chance.
Então isso é metade da batalha. Agora faça o download, compile e faça o flash do B2G.
Havia algumas opções lá também. Uma é construir em uma caixa Linux. O Mozilla explica todas as ferramentas necessárias que você precisará, mas não mostra onde obtê-las. Eu ser um Linux n00b, isso é uma coisa ruim. Para a maioria dos nerds que usam uma distro ou outra, deve ser menos do que isso.
A outra opção é construir em um Mac. E a Mozilla tornou estupidamente simples.
Então, como você fez isso?
Mais uma vez, eu fiz isso em um Mac. E realmente havia apenas alguns passos básicos que até meu pescoço sem barba foi capaz de seguir.
- Eu tive que instalar o Xcode, que é o ambiente de desenvolvimento para Mac.
- Eu instalei o Homebrew for Mac.
- Eu executei um script fornecido pela Mozilla, que verificou os outros pré-requisitos e solicitou que eu os instalasse, se necessário.
Neste ponto, observarei que as instruções do Mozilla pareciam indicar que tudo que eu precisava fazer era instalar o Xcode e, em seguida, executar o script; o resto se cuidaria. Mas tive que instalar o Homebrew por conta própria primeiro. Não tenho certeza se é por causa de algo que fiz (ou não), ou o que. Mas foi assim que funcionou para mim.
Em seguida: obtenha todo o código do Git. Isso foi tão simples quanto copiar e colar outras linhas no Terminal. Legal.
Então: Compile.
Agora, esses últimos passos levaram um tempo. Não sei quanto tempo. Eu fui embora e fiz coisas. Fez um café. Fiz algumas tarefas. Escreveu um livro. Demorou um pouco no meu pequeno MacBook Air. Eu esperei isso. Este não é um projeto muito difícil, mas também não é rápido demais. Eu deixei as coisas seguirem seu curso e acabei com uma imagem que pode ser alterada no novo diretório "B2G" do meu MBA.
Hora de piscar
Assim. É hora de pegar o Nexus S. É claro que ele precisa de um gerenciador de inicialização desbloqueado e precisa estar executando o Android 4.0 Ice Cream Sandwich. (A Mozilla não diz nada sobre o Jelly Bean, mas eu também consegui trabalhar com isso. Não é de surpreender.)
Ligue o telefone no modo de inicialização rápida e conecte-o. Nada que não fizemos antes com o Android, certo /
Agora, novamente, o Mozilla tornou isso realmente fácil. Eu não me incomodei em corrigir minhas variáveis de caminho; portanto, adb e fastboot normalmente moram em uma pasta do meu Android SDK, e é isso. Eu posso lidar com isso. A Mozilla incluiu inteligentemente tudo isso. Mas o melhor de tudo é que ele criou um pequeno script que faz tudo. Ele verifica se o carregador de inicialização está desbloqueado. Apaga todas as partições que precisa apagar. Em seguida, pisca as novas imagens. Completamente prático. Isso não é nada que eu não poderia ter feito, mas não sou nada se não for ocasionalmente preguiçoso. Saúde, Mozilla.
Reinicie e boom. Inicializamos no Gecko.
Coloque tudo junto e o que você tem?
E agora, pelos frutos do nosso trabalho.
A linha inferior
Portanto, esse é o Boot to Gecko da Mozilla em um Samsung Nexus S. Na verdade, não é um projeto ruim. Demorou algumas horas, um Nexus S funcional e algum espaço no disco rígido, mas não exigia muito esforço do cérebro. Depois que o flash estiver piscando no telefone, você poderá fazer backup usando recuperações personalizadas do Android e entrar e sair quando quiser.
Eu daria um 6 em 10 na escala de dificuldade, apenas porque realmente não sei o que estou fazendo quando se trata de compilar código. Mas sigo muito bem as instruções e o Mozilla tornou as coisas fáceis e agradáveis. Este é um que você pode tentar.
Podemos ganhar uma comissão por compras usando nossos links. Saber mais.