Inhaltsverzeichnis:
- Warte - warum zum Teufel machst du das?
- Links, die du brauchst
- OK - auf was zur Hölle tust du das?
- Also, wie hast du es gemacht?
- Zeit zu blinken
- Füge es zusammen und was hast du?
- Die Quintessenz
Ich bin kein Kodierer. Ich kenne G it kaum von G ot und kann mich nicht erinnern, wie oft ich mich gefragt habe, warum adb nicht funktioniert, nur um festzustellen, dass ich vergessen habe, das USB-Debugging wieder einzuschalten. Ich habe Linux auf einer Box, aber ich benutze es immer nur, wenn ich Lust habe, Jerry innerhalb von fünf Minuten ein halbes Dutzend Fragen zu stellen.
Ich habe auch keinen Nackenbart.
Also, was mache ich in der weiten, weiten Welt des Sports, wenn ich Xcode auf mein MacBook Air herunterlade (egal, bis zu diesem Frühjahr war ich mein ganzes Leben ein Windows-Typ), von Git-Repos synchronisiere, Code kompiliere und ein Betriebssystem flashe Ich habe es bis jetzt bewusst ignoriert - vor allem, weil ich 24 Stunden lang mit einem kranken Kind zu tun hatte, mir Sorgen um einen kranken Freund machte und mich auf einen möglichen Hurrikan vorbereitete und meinen eigentlichen Job weitgehend ignorierte?
Ich habe anscheinend ein Problem mit dem Blinken. Und so habe ich kürzlich Mozillas junges Betriebssystem, auch bekannt als "Gecko", auf das Samsung Nexus S geladen.
Willkommen beim Boot to Gecko-Projekt.
Wie ich schon sagte, ich bin kein Kodierer. Aber ich mag es, mit Dingen herumzuspielen. Und ich habe es geschafft, wie meine jungen Töchter gerne sagen, ganz alleine. Und das kannst du auch.
Warte - warum zum Teufel machst du das?
Dies ist der erste Teil einer Reihe, die wir Wochenendprojekte nennen werden. Dinge, die Sie sonst vielleicht nicht versuchen. Aber wenn wir es schaffen, können Sie es auch.
Das heißt, es gibt ein paar Dinge, die ich hier nicht für Sie tun werde. Dies ist kein detaillierter Überblick darüber, wie das Boot to Gecko-Projekt erstellt und geflasht wird. Ich werde Ihnen die Grundlagen meiner Erfahrung geben. Mozilla verfügt über eine hervorragende Dokumentation, die Sie unbedingt lesen sollten, wenn Sie dies versuchen möchten. (Ich würde wahrscheinlich auch nicht alles richtig übersetzen.)
Das andere, was ich nicht tun werde, ist, Sie auf den Build eines anderen zu verweisen, der durch ClockworkMod flashbar ist. Sie können das auf eigene Faust suchen. Was ich tun wollte, war das Kompilieren, indem ich es selbst auf das Telefon übertrug.
Und so habe ich es gemacht.
Links, die du brauchst
Der Google ist dein Freund. Eine einfache Suche nach "B2G" ergab alles, was ich brauchte.
- Mozilla - Boot to Gecko (für die Nicht-Nerd-Erklärung von B2G)
- B2G im Mozilla Developer Network (hier beginnt die eigentliche Arbeit)
- Erstellen und Installieren von Boot to Gecko
OK - auf was zur Hölle tust du das?
Um von Grund auf neu zu erstellen, benötigen Sie laut Mozilla entweder einen Mac oder einen Linux-Computer. Ich habe beide hier. Aber die Mac-Anweisungen sahen einfach einfacher aus. (Das ist doch keine Schande, oder?) Aber das macht auch Sinn. Wenn Sie mit Linux arbeiten, können Sie alle aufgelisteten Tools von Mozilla problemlos installieren. Mir? Nicht so viel. Also Mac war es.
Für mich war es wirklich so einfach: Installiere Xcode aus dem Mac App Store, starte Terminal und führe ein paar Befehle aus. Ich habe genug an Android herumgebastelt, um damit einverstanden zu sein. Mozilla hat ein großartiges Skript, das alles installiert, was Sie brauchen. Anschließend synchronisieren Sie das Git-Repository, kompilieren den Code und flashen ihn wie jedes andere benutzerdefinierte ROM auf Ihr Android-Gerät. (Und Mozilla hat auch für diesen letzten Teil ein Skript, das die Sache noch einfacher macht.)
Was das Zielgerät anbelangt, für das Sie bauen, haben Sie Optionen. Mozilla hat sie in drei Ebenen aufgeteilt:
- Tier 1: Otoro (eine Art Entwicklergerät, das Mozilla verwendet); Pandaboard; ein ARM- oder x86-Emulator; oder auf dem Desktop. Nicht das, wonach ich gesucht habe.
- Tier 2: Das Samsung Nexus S und das Nexus S 4G. Ich spüre hier ein gemeinsames Thema. Leicht zu entsperrende Telefone, und Mozilla sagt, diese nehmen Änderungen "sekundär" auf. Ich habe einen Nexus S herumliegen, deshalb habe ich mich dafür entschieden.
- Tier 3: Das Samsung Galaxy S2 und das Galaxy Nexus. Leute basteln, aber Tier 2 ist dein bester Schuss.
Das ist also die halbe Miete. Nun können Sie B2G herunterladen, kompilieren und flashen.
Es gab auch ein paar Möglichkeiten. Eine besteht darin, auf einer Linux-Box aufzubauen. Mozilla enthält alle erforderlichen Tools, die Sie benötigen, zeigt Ihnen jedoch nicht, wo Sie sie erhalten können. Ich bin ein Linux n00b, das ist eine schlechte Sache. Für die meisten anderen Nerds, die die eine oder andere Distribution verwenden, sollte das weniger wichtig sein.
Die andere Möglichkeit besteht darin, auf einem Mac zu bauen. Und Mozilla machte es dumm einfach.
Also, wie hast du es gemacht?
Auch dies habe ich auf einem Mac gemacht. Und es gab wirklich nur ein paar grundlegende Schritte, denen sogar mein nicht bärtiger Hals folgen konnte.
- Ich musste Xcode installieren, die Entwicklungsumgebung für Mac.
- Ich habe Homebrew für Mac installiert.
- Ich führte ein von Mozilla bereitgestelltes Skript aus, das die anderen Voraussetzungen überprüfte und mich aufforderte, sie bei Bedarf zu installieren.
An dieser Stelle stelle ich fest, dass Mozillas Anweisungen darauf hinzudeuten schienen, dass alles, was ich tun musste, die Installation von Xcode und die anschließende Ausführung des Skripts war. der Rest würde für sich selbst sorgen. Aber ich musste Homebrew zuerst selbst installieren. Ich bin nicht sicher, ob das an etwas liegt, was ich getan habe (oder nicht getan habe) oder was. Aber so hat es bei mir funktioniert.
Als nächstes: Holen Sie sich den gesamten Code von Git. Das war so einfach wie das Kopieren und Einfügen weiterer Zeilen in Terminal. Cool.
Dann: Kompilieren.
Nun, diese letzten paar Schritte dauerten eine Weile. Ich bin mir nicht sicher, wie lange. Ich bin weggegangen und habe Sachen gemacht. Kaffee gemacht. Besorgungen erledigt. Schrieb ein Buch. Auf meinem kleinen MacBook Air hat es eine Weile gedauert. Das habe ich erwartet. Dies ist kein allzu schwieriges Projekt, aber auch nicht allzu schnell. Ich ließ die Dinge laufen und landete mit einem flashbaren Image im neuen "B2G" -Verzeichnis meines MBA.
Zeit zu blinken
So. Zeit, sich das Nexus S zu schnappen. Natürlich muss ein Bootloader freigeschaltet sein, und es muss Android 4.0 Ice Cream Sandwich ausgeführt werden. (Mozilla sagt nichts über Jelly Bean, aber ich habe es auch dazu gebracht, damit zu arbeiten. Nicht allzu überraschend.)
Schalten Sie das Telefon in den Fastboot-Modus und schließen Sie es an. Mit Android haben wir noch nichts gemacht, oder?
Mozilla hat das jetzt wieder ganz einfach gemacht. Ich habe mich nicht darum gekümmert, meine Pfadvariablen zu reparieren. Daher befinden sich adb und fastboot normalerweise in einem Ordner meines Android SDK, und das war's. Damit kann ich umgehen. Mozilla hat das alles geschickt mit einbezogen. Aber noch besser ist, dass es ein kleines Skript gibt, das alles macht. Es wird geprüft, ob der Bootloader entsperrt ist. Es löscht alle Partitionen, die es zum Löschen benötigt. Dann blinken die neuen Bilder. Komplett zum Anfassen. Das ist nichts, was ich selbst nicht hätte tun können, aber ich bin nichts, wenn nicht gelegentlich faul. Prost, Mozilla.
Neustart und Boom. Wir haben nach Gecko gebootet.
Füge es zusammen und was hast du?
Und nun zu den Früchten unserer Arbeit.
Die Quintessenz
Das ist also Mozillas Boot to Gecko auf einem Samsung Nexus S. Eigentlich kein schlechtes kleines Projekt. Es dauerte ein paar Stunden, ein funktionierendes Nexus S und etwas Festplattenspeicher, aber es war nicht zu anstrengend für das Gehirn. Sobald Sie es auf dem Telefon haben, können Sie es mit benutzerdefinierten Android-Wiederherstellungen sichern und dann kommen und gehen, wie Sie möchten.
Ich würde dies auf der Schwierigkeitsstufe mit 6 von 10 bewerten, nur weil ich wirklich nicht weiß, was ich beim Kompilieren von Code mache. Aber ich folge den Anweisungen ziemlich gut und Mozilla hat die Dinge schön und einfach gemacht. Dies können Sie selbst versuchen.
Für Einkäufe über unsere Links können wir eine Provision verdienen. Mehr erfahren.