Logo nl.androidermagazine.com
Logo nl.androidermagazine.com

Weekendproject: bouw de boot van Mozilla naar een gekko voor je Android-smartphone

Inhoudsopgave:

Anonim

Ik ben geen coder. Ik ken G het nauwelijks van G ot, en ik kan me niet herinneren hoe vaak ik me heb afgevraagd waarom adb niet zal werken, alleen om te ontdekken dat ik vergeten ben USB-foutopsporing in te schakelen - alweer. Ik heb hier Linux op een doos, maar ik gebruik het alleen als ik in de stemming ben om in vijf minuten een half dozijn vragen naar Jerry te gooien.

Ook heb ik geen nekbaard.

Dus wat doe ik in de brede, brede wereld van sport Xcode downloaden op mijn MacBook Air (laat staan ​​dat ik tot dit voorjaar mijn hele leven Windows-man was geweest), synchroniseren vanuit Git-repo's, code compileren en een besturingssysteem flitsen Ik heb dit tot nu toe bewust genegeerd - vooral gezien het feit dat ik 24 uur heb gewerkt met een ziek kind, me zorgen maken over een zieke vriend en me voorbereiden op een waarschijnlijke orkaan, grotendeels mijn eigenlijke baan negerend?

Ik heb blijkbaar een probleem met flitsen. En zo merkte ik onlangs dat ik het jonge besturingssysteem van Mozilla, ook bekend als 'Gecko', op de Samsung Nexus S plaatste.

Welkom bij het Boot to Gecko-project.

Zoals ik al zei, ik ben geen coder. Maar ik hou ervan met dingen te rotzooien. En ik heb dit voor elkaar gekregen, zoals mijn jonge dochters graag zeggen, allemaal … door … mijn … zelf. En jij ook.

Wacht - waarom doe je dit in godsnaam?

Dit is de eerste in een reeks die we onze weekendprojecten gaan noemen. Dingen die je anders niet zou proberen. Maar als wij het kunnen, kunt u dat ook.

Dat gezegd hebbende, er zijn een paar dingen die ik hier niet voor je ga doen. Dit wordt geen gedetailleerde kijk op hoe het Boot to Gecko-project te bouwen en te flashen. Ik ga je de brede lijnen van mijn ervaring geven. Mozilla heeft uitstekende documentatie, en je moet het echt lezen als je dit gaat proberen. (Ik zou waarschijnlijk ook niet alles correct vertalen).

Het andere wat ik niet ga doen, is je wijzen op de build van iemand anders, flashable hoewel ClockworkMod. U kunt dat zelf zoeken. Wat ik wilde doen, was eigenlijk compileren en dit bouwen op basis van mijn eigen verbuiging naar de telefoon.

En dat is wat ik deed.

Links die u nodig heeft

Google is je vriend. Een eenvoudige zoekopdracht naar "B2G" vond alles wat ik nodig had.

  • Mozilla - Boot to Gecko (voor de non-nerd uitleg van B2G)
  • B2G op het Mozilla Developer Network (hier begint het echte werk)
  • Boot to Gecko bouwen en installeren

OK - waar ben je in godsnaam mee bezig?

Om helemaal opnieuw te bouwen, hebt u volgens Mozilla een Mac of een Linux-machine nodig. Ik heb beide hier. Maar de Mac-instructies zagen er simpelweg eenvoudiger uit. (Daar zit geen schaamte in, toch?) Maar dat is ook logisch. De kans is groot dat als u Linux gebruikt, u eenvoudig alle hulpprogramma's van Mozilla kunt installeren. Me? Niet zo veel. Dus Mac was het.

Het was echt zo simpel voor mij: installeer Xcode vanuit de Mac App Store, start vervolgens Terminal en voer een paar opdrachten uit. Ik heb genoeg aan knutselen gedaan in Android om dat goed te vinden. Mozilla heeft een geweldig script dat alles wat je nodig hebt installeert. Je synchroniseert vervolgens de git repository, compileert de code en flasht deze naar je Android-apparaat zoals elk ander aangepast ROM. (En Mozilla heeft ook een script voor dat laatste deel, waardoor dingen nog eenvoudiger worden.)

Wat betreft het doelapparaat waarvoor u bouwt, u hebt opties. Mozilla's splitsten ze in drie lagen:

  • Niveau 1: Otoro (een soort dev-apparaat dat Mozilla gebruikt); PandaBoard; een ARM- of x86-emulator; of het bureaublad. Niet wat ik zocht.
  • Niveau 2: De Samsung Nexus S en Nexus S 4G. Ik voel hier een gemeenschappelijk thema. Gemakkelijk ontgrendelbare telefoons, en Mozilla zegt dat deze veranderingen 'secundair' oppikken. Ik heb een Nexus S liggen, dus daar ging ik voor.
  • Tier 3: de Samsung Galaxy S2 en Galaxy Nexus. Mensen knutselen, maar Tier 2 is je beste kans.

Dus dat is het halve werk. Nu om B2G te downloaden, compileren en flashen.

Er waren daar ook een paar keuzes. Een daarvan is het bouwen op een Linux-box. Mozilla beschrijft alle benodigde tools die je nodig hebt, maar het laat je niet zien waar je ze kunt krijgen. Ik ben een Linux n00b, dat is een slechte zaak. Voor de meeste andere nerds die de ene of de andere distro gebruiken, zou dit minder van belang moeten zijn.

De andere optie is om op een Mac te bouwen. En Mozilla maakte het dom simpel.

Dus hoe heb je het gedaan?

Nogmaals, ik deed dit op een Mac. En er waren echt maar een paar basisstappen die zelfs mijn niet-bebaarde nek kon volgen.

  1. Ik moest Xcode installeren, de ontwikkelomgeving voor Mac.
  2. Ik heb Homebrew voor Mac geïnstalleerd.
  3. Ik voerde een script uit dat door Mozilla werd geleverd, waarbij de andere vereisten werden gecontroleerd en mij werd gevraagd om ze indien nodig te installeren.

Op dit punt merk ik op dat de instructies van Mozilla erop leken aan te geven dat ik alleen Xcode hoefde te installeren en vervolgens het script uit te voeren; de rest zou voor zichzelf zorgen. Maar ik moest Homebrew eerst zelf installeren. Ik weet niet zeker of dat komt door iets dat ik (of niet) heb gedaan, of wat. Maar zo werkte het voor mij.

Volgende: Haal alle code van Git. Dat was zo eenvoudig als het kopiëren en plakken van nog een paar regels in Terminal. Stoer.

Vervolgens: Compileren.

Nu, deze laatste paar stappen duurden een tijdje. Ik weet niet zeker hoe lang. Ik ging weg en deed dingen. Koffie gezet. Heb wat boodschappen gedaan. Een boek geschreven. Het heeft even geduurd op mijn kleine MacBook Air. Ik verwachtte dat. Dit is geen overdreven moeilijk project, maar het is ook niet overdreven snel. Ik liet dingen op hun beloop en eindigde met een flashable afbeelding in de nieuwe "B2G" -map van mijn MBA.

Tijd om te knipperen

Zo. Tijd om die Nexus S te pakken, het moet natuurlijk een ontgrendelde bootloader hebben, en het moet Android 4.0 Ice Cream Sandwich draaien. (Mozilla zegt niets over Jelly Bean, maar ik heb het ook laten werken. Niet zo verrassend.)

Start de telefoon in de fastboot-modus en sluit hem aan. Niets wat we nog niet eerder hebben gedaan met Android, toch /

Nu, opnieuw, maakte Mozilla dit echt gemakkelijk. Ik heb niet de moeite genomen om mijn padvariabelen te repareren, dus adb en fastboot leven normaal gesproken in één map van mijn Android SDK, en dat is dat. Daar kan ik wel mee omgaan. Mozilla's omvatte dat allemaal slim. Maar nog beter is dat het een klein script heeft gemaakt dat alles doet. Het controleert of de bootloader is ontgrendeld. Het wist alle partities die het moet wissen. Vervolgens flitst het de nieuwe afbeeldingen. Helemaal hands-on. Dat is niets dat ik zelf niet had kunnen doen, maar ik ben niets als niet af en toe lui. Proost, Mozilla.

Herstart en boem. We zijn opgestart naar Gecko.

Stel het samen en wat heb je?

En nu, voor de vruchten van onze arbeid.

het komt neer op

Dus dat is Mozilla's Boot to Gecko op een Samsung Nexus S. Eigenlijk geen slecht klein project. Het duurde een paar uur, een werkende Nexus S en wat harde schijfruimte, maar het was niet al te belastend voor de hersenen. Zodra je het op de telefoon hebt geflitst, kun je een back-up maken met aangepaste Android-herstelmogelijkheden en dan komen en gaan wanneer je wilt.

Ik zou dit een 6 op 10 geven op de moeilijkheidsschaal, alleen omdat ik echt niet weet wat ik doe als het gaat om het compileren van code. Maar ik volg de aanwijzingen behoorlijk goed, en Mozilla maakte dingen leuk en gemakkelijk. Dit kun je zelf proberen.

We kunnen via onze links een commissie verdienen voor aankopen. Kom meer te weten.