Logo sv.androidermagazine.com
Logo sv.androidermagazine.com

Helgprojekt: bygg mozilla's boot till gecko för din Android-smartphone

Innehållsförteckning:

Anonim

Jag är inte en kodare. Jag känner knappt G från G ot, och jag kan inte komma ihåg hur många gånger jag har undrat varför adb inte fungerar, bara för att upptäcka att jag glömde att slå på USB-felsökning - igen. Jag har Linux på en låda här, men jag använder den bara någonsin när jag är på humör att kasta ett halvdussin frågor till Jerry inom fem minuter.

Jag har inte heller en nackbjörn.

Så vad i den breda, breda världen av idrottsgren gör jag för att ladda ner Xcode på min MacBook Air (kom inte ihåg att tills i vår har jag varit en Windows-kille hela mitt liv), synkroniserade från Git-repor, sammanställa kod och blinka ett operativsystem Jag har medvetet ignorerat fram till nu - speciellt med tanke på att jag har tillbringat 24 timmar med att handla med ett sjukt barn, oroa mig för en sjuk vän och förbereda mig för en trolig orkan, till stor del ignorera mitt faktiska jobb?

Jag har tydligen ett problem med att blinka. Och det var så jag nyligen befann mig lägga Mozillas nya operativsystem, även känd som "Gecko, " på Samsung Nexus S.

Välkommen till Boot to Gecko-projektet.

Som sagt, jag är inte en kodare. Men jag gillar att orka med saker. Och jag lyckades göra detta, som mina unga döttrar gillar att säga, allt … av … mitt … jag. Och du kan också.

Vänta - varför i helvete gör du det här?

Detta är den första i en serie som vi kommer att kalla våra helgprojekt. Saker som du annars inte kan försöka. Men om vi kan göra det, så kan du också.

Som sagt, det finns ett par saker som jag inte kommer att göra åt dig här. Detta kommer inte att bli en detaljerad titt på hur man bygger och flashar Boot to Gecko-projektet. Jag kommer att ge dig de breda streck från min erfarenhet. Mozilla har utmärkt dokumentation, och du borde verkligen läsa den om du ska försöka detta. (Jag skulle sannolikt inte misslyckas med att få allt rätt i översättning.)

Den andra saken som jag inte kommer att göra är att peka dig mot någon annans byggnad, blixtabel med ClockworkMod. Du kan söka på det själv. Vad jag ville göra var att faktiskt kompilera bygga detta på min egen böjning till telefonen själv.

Och så det var vad jag gjorde.

Länkar du behöver

Google är din vän. En enkel sökning efter "B2G" hittade allt jag behövde.

  • Mozilla - Boot to Gecko (för den icke-nörda förklaringen av B2G)
  • B2G på Mozilla Developer Network (det är här som det verkliga arbetet börjar)
  • Bygga och installera Boot to Gecko

OK - vad i helvete gör du det här?

För att bygga från grunden, enligt Mozilla, behöver du antingen en Mac eller en Linux-maskin. Jag har båda här. Men Mac-instruktionerna såg helt enkelt enklare ut. (Det finns ingen skam i det, eller hur?) Men det är meningsfullt också. Chansen är stor att om du kör Linux kan du enkelt installera alla verktyg som Mozilla listar. Mig? Inte så mycket. Så Mac var det.

Det var verkligen lika enkelt som det här för mig: Installera Xcode från Mac App Store, skjut sedan upp Terminal och kör några kommandon. Jag har gjort tillräckligt med att tippa i Android för att vara OK med det. Mozilla har ett bra skript som installerar allt du behöver. Sedan synkroniserar du gitförvaret, sammanställer koden och blinkar till din Android-enhet som alla andra anpassade ROM-skivor. (Och Mozilla har också ett skript för den sista delen, vilket gör det ännu enklare.)

När det gäller den målenhet du bygger för har du alternativ. Mozilla delade dem upp i tre nivåer:

  • Nivå 1: Otoro (någon form av dev-enhet som Mozilla använder); Pandaboard; en ARM- eller x86-emulator; eller skrivbordet. Inte vad jag letade efter.
  • Nivå 2: Samsung Nexus S och Nexus S 4G. Jag känner ett vanligt tema här. Enkelt låsbara telefoner, och Mozilla säger att dessa plockar upp ändringar "sekundärt." Jag har en Nexus S som ligger runt, så det är vad jag gick för.
  • Nivå 3: Samsung Galaxy S2 och Galaxy Nexus. Folk tippar, men Tier 2 är ditt bästa skott.

Så det är halva striden. Nu för att ladda ner, kompilera och blixt B2G.

Det fanns ett par val också. En är att bygga på en Linux-låda. Mozilla stavar ut alla nödvändiga verktyg du behöver, men det visar inte var du kan hämta dem. Jag är Linux n00b, det är en dålig sak. För de flesta av resten av nördar som använder en eller annan distro, borde det vara mindre bra.

Det andra alternativet är att bygga på en Mac. Och Mozilla gjorde det dumt enkelt.

Så hur gjorde du det?

Återigen gjorde jag detta på en Mac. Och det fanns verkligen bara några grundläggande steg som även min icke-skäggiga nack kunde följa.

  1. Jag var tvungen att installera Xcode, som är utvecklingsmiljön för Mac.
  2. Jag installerade Homebrew för Mac.
  3. Jag körde ett skript som Mozilla tillhandahöll, som kontrollerade de andra förutsättningarna och fick mig att installera dem vid behov.

Vid denna punkt kommer jag att notera att Mozillas instruktioner tycktes indikera att allt jag behövde göra var att installera Xcode och sedan köra skriptet; resten skulle ta hand om sig själv. Men jag var tvungen att installera Homebrew på egen hand först. Jag är inte säker på om det är på grund av något jag gjorde (eller inte) gjorde eller vad. Men det var så det fungerade för mig.

Nästa upp: Hämta all koden från Git. Det var så enkelt som att kopiera och klistra in ytterligare några rader i terminalen. Häftigt.

Sedan: Kompilera.

Nu tog dessa sista par steg ett tag. Jag är inte säker på hur länge. Jag gick bort och gjorde saker. Lagde lite kaffe. Ran några ärenden. Skrev en bok. Det tog ett tag på min lilla MacBook Air. Jag förväntade mig det. Detta är inte ett alltför svårt projekt, men det är inte alltför snabbt. Jag låter saker gå och slutade med en flashbar bild i den nya "B2G" -katalogen på min MBA.

Tid att blinka

Så. Dags att ta tag i Nexus S. Det kommer naturligtvis att behöva ha en olåst bootloader, och den måste köra Android 4.0 Ice Cream Sandwich. (Mozilla säger ingenting om Jelly Bean, men jag fick det att arbeta med det också. Inte för överraskande.)

Slå av telefonen i fastboot-läge och anslut den. Inget har vi inte gjort tidigare med Android, höger /

Nu igen, Mozilla's gjorde detta riktigt enkelt. Jag har inte brytt mig om att fixa mina banvariabler, så adb och fastboot lever normalt i en mapp i min Android SDK, och det är det. Jag kan hantera det. Mozilla inkluderade smart allt detta. Men ännu bättre är att det gjorde ett litet manus som gör allt. Den kontrollerar om bootloadern är olåst. Den raderar alla partitioner den behöver radera. Sedan blinkar de nya bilderna. Helt praktisk. Det är ingenting jag inte kunde ha gjort själv, men jag är ingenting om inte ibland lat. Skål, Mozilla.

Starta om, och, boom. Vi har startat för Gecko.

Sätt ihop det och vad har du?

Och nu för frukterna av vårt arbete.

Poängen

Så det är Mozilla's Boot to Gecko på en Samsung Nexus S. Inte ett dåligt litet projekt, faktiskt. Det tog ett par timmar, en fungerande Nexus S och lite hårddiskutrymme, men det var inte för beskattande på hjärnan. När du har blinkat på telefonen kan du säkerhetskopiera den med anpassade Android-återställningar och sedan komma och gå som du vill.

Jag skulle ge detta 6 av 10 på svårighetsskalan, bara för att jag verkligen inte vet vad jag gör när det gäller att sammanställa kod. Men jag följer riktigt bra anvisningar och Mozilla gjorde saker trevliga och enkla. Det här är en du kan försöka själv.

Vi kan tjäna en provision för inköp med våra länkar. Läs mer.