Table des matières:
- Attends - pourquoi diable fais-tu cela?
- Liens dont vous aurez besoin
- OK - maintenant qu'est-ce que tu fais ça?
- Alors comment l'avez-vous fait?
- Temps de clignoter
- Mettez-le ensemble et qu'avez-vous?
- La ligne du bas
Je ne suis pas un codeur. Je le connais à peine, et je ne me souviens plus du nombre de fois où je me suis demandé pourquoi adb ne fonctionnait pas, seulement pour découvrir que j'avais oublié d'activer le débogage USB - à nouveau. J'ai Linux sur une boîte ici, mais je ne l'utilise que lorsque je suis d'humeur à poser une demi-douzaine de questions à Jerry en l'espace de cinq minutes.
De plus, je n'ai pas de barbe.
Alors, que dois-je faire dans le vaste monde du sport en téléchargeant Xcode sur mon MacBook Air (tant que ce printemps-là, j’étais un gars sous Windows toute ma vie), synchroniser depuis Git Repos, compiler du code et faire clignoter un système d’exploitation J'ai consciemment ignoré jusqu'à présent - d'autant plus que j'ai passé 24 heures à s'occuper d'un enfant malade, à m'inquiéter d'un ami malade et à me préparer à un probable ouragan, ignorant en grande partie mon travail actuel?
J'ai apparemment un problème de clignotement. C'est ainsi que je me suis récemment retrouvé en train d'installer le système d'exploitation naissant de Mozilla, également appelé «Gecko», sur le Samsung Nexus S.
Bienvenue dans le projet Boot to Gecko.
Comme je l'ai dit, je ne suis pas un codeur. Mais j'aime bien jouer avec les choses. Et j’ai réussi à le faire, comme le disent mes jeunes filles, à tous… par… moi-même. Et vous pouvez aussi.
Attends - pourquoi diable fais-tu cela?
Ceci est le premier d'une série que nous allons appeler nos projets de week-end. Choses que vous ne pourriez pas autrement tenter. Mais si nous pouvons le faire, vous le pouvez aussi.
Cela dit, il y a quelques choses que je ne vais pas faire pour vous ici. Cela ne va pas être un regard détaillé sur la façon de construire et de flasher le projet Boot to Gecko. Je vais vous donner les grandes lignes de mon expérience. Mozilla a une excellente documentation, et vous devriez vraiment la lire si vous voulez l'essayer. (Il est également probable que je ne réussirais pas à tout traduire correctement.)
L'autre chose que je ne ferai pas, c'est de vous indiquer la construction de quelqu'un d'autre, pouvant être visualisée via ClockworkMod. Vous pouvez y chercher vous-même. Ce que je voulais faire, c’était de compiler ce que je fis moi-même au téléphone.
Et c'est ce que j'ai fait.
Liens dont vous aurez besoin
Le Google est votre ami. Une simple recherche sur "B2G" a trouvé tout ce dont j'avais besoin.
- Mozilla - Boot to Gecko (pour l'explication non-nerd de B2G)
- B2G sur le réseau de développeurs Mozilla (c’est là que le vrai travail commence)
- Construire et installer Boot to Gecko
OK - maintenant qu'est-ce que tu fais ça?
Selon Mozilla, pour construire à partir de zéro, vous avez besoin d’un Mac ou d’une machine Linux. J'ai les deux ici. Mais les instructions Mac semblaient simplement plus faciles. (Il n'y a pas de honte à cela, non?) Mais cela a également un sens. Il est probable que si vous utilisez Linux, vous pouvez facilement installer tous les outils répertoriés par Mozilla. Moi? Pas tellement. Alors Mac c'était.
C'était vraiment aussi simple que cela pour moi: installez Xcode à partir du Mac App Store, puis lancez Terminal et exécutez quelques commandes. J'ai fait assez de bricolage dans Android pour être d'accord avec ça. Mozilla a un bon script qui installe tout ce dont vous avez besoin. Vous synchronisez ensuite le référentiel git, compilez le code et le flashez sur votre périphérique Android comme toute autre ROM personnalisée. (Et Mozilla a aussi un script pour cette dernière partie, ce qui facilite encore les choses.)
En ce qui concerne le périphérique cible pour lequel vous construisez, vous avez des options. Mozilla les divise en trois niveaux:
- Niveau 1: Otoro (une sorte de périphérique de développement utilisé par Mozilla); Pandaboard; un émulateur ARM ou x86; ou le bureau. Pas ce que je cherchais.
- Niveau 2: Samsung Nexus S et Nexus S 4G. Je sens un thème commun ici. Téléphones facilement déverrouillables, et Mozilla dit que ceux-ci enregistrent les modifications «en second lieu». J'ai un Nexus S qui traîne, alors c'est ce que j'ai choisi.
- Niveau 3: Le Samsung Galaxy S2 et Galaxy Nexus. Les gens bricolent, mais Tier 2 est votre meilleur coup.
Donc, c'est la moitié de la bataille. Maintenant, téléchargez, compilez et flashez B2G.
Il y avait aussi deux choix. L'une consiste à construire sur une machine Linux. Mozilla énonce tous les outils nécessaires dont vous aurez besoin, mais cela ne vous indique pas où les obtenir. Étant moi-même un Linux n00b, c'est une mauvaise chose. Pour la plupart des nerds utilisant une distribution ou une autre, cela devrait être moins grave.
L'autre option est de construire sur un Mac. Et Mozilla l'a fait bêtement simple.
Alors comment l'avez-vous fait?
Encore une fois, je l’ai fait sur un Mac. Et il y avait vraiment juste quelques étapes de base que même mon cou non-barbu était capable de suivre.
- J'ai dû installer Xcode, qui est l'environnement de développement pour Mac.
- J'ai installé Homebrew pour Mac.
- J'ai exécuté un script fourni par Mozilla, qui vérifiait les autres conditions préalables et m'invitait à les installer si nécessaire.
À ce stade, je noterai que les instructions de Mozilla semblaient indiquer que tout ce que je devais faire était d'installer Xcode, puis d'exécuter le script. le reste prendrait soin de lui-même. Mais je devais d'abord installer Homebrew. Je ne sais pas si c'est à cause de quelque chose que j'ai fait (ou que je n'ai pas fait) ou quoi. Mais c'est comme ça que ça a marché pour moi.
Prochaine étape: récupérez tout le code de Git. C’était aussi simple que de copier et coller quelques autres lignes dans Terminal. Cool.
Ensuite: Compiler.
Maintenant, ces deux dernières étapes ont pris un certain temps. Je ne sais pas combien de temps. Je suis parti et j'ai fait des trucs. Fait du café. A fait des courses. Écrit un livre. Cela a pris du temps sur mon petit MacBook Air. Je m'y attendais. Ce n'est pas un projet trop difficile, mais ce n'est pas trop rapide. J'ai laissé les choses suivre leur cours et fini avec une image flashable dans le nouveau répertoire "B2G" de mon MBA.
Temps de clignoter
Alors. Il est temps de saisir ce Nexus S. Il faudra bien sûr disposer d'un chargeur de démarrage déverrouillé et exécuter Android 4.0 Ice Cream Sandwich. (Mozilla ne dit rien à propos de Jelly Bean, mais je dois le faire fonctionner aussi. Pas trop surprenant.)
Déclenchez le téléphone en mode démarrage rapide et branchez-le. Rien de ce que nous n’avons jamais fait avec Android, à droite /
Maintenant, encore une fois, Mozilla a rendu cela vraiment facile. Je n'ai pas pris la peine de corriger mes variables de chemin d'accès, donc adb et fastboot résident normalement dans un dossier de mon SDK Android, et c'est tout. Je peux faire face à cela. Mozilla a intelligemment inclus tout cela. Mais mieux encore, c'est qu'il a créé un petit script qui fait tout. Il vérifie si le chargeur de démarrage est déverrouillé. Il efface toutes les partitions qu'il doit effacer. Ensuite, il clignote les nouvelles images. Complètement pratique. Ce n'est rien que je n'aurais pas pu faire moi-même, mais je ne suis rien si pas occasionnellement paresseux. Cordialement, Mozilla.
Redémarrez et boum. Nous avons démarré à Gecko.
Mettez-le ensemble et qu'avez-vous?
Et maintenant, pour les fruits de notre travail.
La ligne du bas
Voilà donc Boot to Gecko de Mozilla sur un Samsung Nexus S. Ce n'est pas un mauvais petit projet, en fait. Cela a pris quelques heures, un Nexus S en état de marche et de l’espace disque, mais le cerveau n’a pas été trop éprouvant. Une fois que vous l'avez enregistré sur le téléphone, vous pouvez le sauvegarder à l'aide de restaurations Android personnalisées, puis aller et venir à votre guise.
Je donnerais un 6 sur 10 à l'échelle de difficulté, uniquement parce que je ne sais vraiment pas ce que je fais quand il s'agit de compiler du code. Mais je suis assez bien les directions et Mozilla a rendu les choses faciles et agréables. C’est celui que vous pouvez essayer vous-même.
Nous pouvons gagner une commission pour les achats en utilisant nos liens. Apprendre encore plus.