Talaan ng mga Nilalaman:
- Maghintay - bakit ginagawa mo ito?
- Mga link na kakailanganin mo
- OK - ngayon ano ang ginagawa mo dito?
- Kaya paano mo ito ginawa?
- Oras na kumikislap
- Pangkatin at ano ang nakuha mo?
- Ang ilalim na linya
Hindi ako isang coder. Halos hindi ko alam ang G mula sa G ot, at hindi ko maalala kung gaano karaming beses kong naisip kung bakit hindi gagana ang adb, lamang upang matuklasan kong nakalimutan kong i-on ang USB debugging - muli. Mayroon akong Linux sa isang kahon dito, ngunit ginamit ko lamang ito kapag nasa kondisyon ako na magtapon ng kalahating dosenang mga katanungan kay Jerry sa loob ng limang minuto.
Gayundin, wala akong kurbatang.
Kaya kung ano sa malawak, malawak na mundo ng sports ginagawa ko ang pag-download ng Xcode sa aking MacBook Air (hindi alalahanin na hanggang sa tagsibol na ito ako ay isang Windows guy sa buong buhay ko), pag-sync mula sa Git repos, pagsasama ng code at pag-flash ng isang operating system Napansin kong hindi ako pinansin hanggang ngayon - lalo na't naibigay ko na 24 na oras sa pagharap sa isang may sakit na bata, nababahala tungkol sa isang may sakit na kaibigan, at naghahanda para sa isang posibleng bagyo, higit sa lahat ay hindi pinapansin ang aking aktwal na trabaho?
Ako, tila, may problema sa pag-flash. At sa gayon kung paano ko kamakailan natagpuan ang aking sarili na naglalagay ng tumatakbo na operating system ng Mozilla, na kilala rin bilang "Gecko, " sa Samsung Nexus S.
Maligayang pagdating sa proyekto ng Boot to Gecko.
Tulad ng sinabi ko, hindi ako isang coder. Ngunit gusto kong magulo sa mga bagay. At nagawa kong gawin ito, tulad ng sinasabi ng aking mga batang anak na babae, lahat … ng … aking … sarili. At maaari mo rin.
Maghintay - bakit ginagawa mo ito?
Ito ang una sa isang serye na tatawagin namin ang aming mga Proyekto sa Weekend. Mga bagay na hindi mo maaaring subukan. Ngunit kung magagawa natin ito, kaya mo rin.
Na sinabi, may mga ilang bagay na hindi ko gagawin para sa iyo dito. Hindi ito magiging isang detalyadong pagtingin sa kung paano itatayo at flash ang proyekto ng Boot sa Gecko. Bibigyan kita ng malawak na stroke ng aking karanasan. Ang Mozilla ay may ilang mahusay na dokumentasyon, at dapat mo itong basahin kung susubukan mo ito. (Malamang ay mabibigo rin akong makuha ang lahat nang maayos sa pagsasalin.)
Ang iba pang bagay na hindi ko gagawin ay ituturo ka sa pagtatayo ng ibang tao, na kumikislap kahit na ClockworkMod. Maaari mong hanapin ang iyong sarili. Ang nais kong gawin ay talagang pinagsama-sama ang pagbuo nito sa aking sariling pag-agos sa telepono mismo.
At ganyan ang ginawa ko.
Mga link na kakailanganin mo
Ang Google ang iyong kaibigan. Ang isang simpleng paghahanap para sa "B2G" ay natagpuan ang lahat ng kailangan ko.
- Mozilla - Boot sa Gecko (para sa paliwanag na hindi nerd ng B2G)
- B2G sa Mozilla Developer Network (dito nagsisimula ang totoong gawain)
- Pagbuo at pag-install ng Boot sa Gecko
OK - ngayon ano ang ginagawa mo dito?
Upang makabuo mula sa simula, ayon kay Mozilla, kailangan mo man ng Mac o isang makina ng Linux. Nakarating na ako pareho. Ngunit ang mga tagubilin sa Mac ay mukhang mas madali. (Walang kahihiyan diyan, di ba?) Ngunit ang kahulugan din nito. Ang mga pagkakataon ay kung nagpapatakbo ka ng Linux, madali mong mai-install ang lahat ng mga tool na nakalista sa Mozilla. Ako? Hindi ganon. Kaya Mac ito ay.
Ito ay talagang kasing simple ng para sa akin: I-install ang Xcode mula sa Mac App Store, pagkatapos ay mag-apoy sa Terminal at magpatakbo ng ilang mga utos. Nagawa ko na ang pagsisikap sa Android upang maging OK sa na. Nakakuha ng isang mahusay na script ang Mozilla na nag-install ng lahat ng kailangan mo. Pagkatapos mong i-sync ang gitnang repositoryo, isama ang code, at i-flash ito sa iyong Android device tulad ng anumang iba pang pasadyang ROM. (At nakuha ni Mozilla ang isang script para sa huling bahagi na din, na ginagawang mas madali ang mga bagay.)
Bilang malayo sa target na aparato kung saan ka nagtatayo, mayroon kang mga pagpipilian. Hinahati sila ni Mozilla sa tatlong tier:
- Lubhang 1: Otoro (ilang uri ng aparato ng dev na ginagamit ni Mozilla); Pandaboard; isang ARM o x86 emulator; o sa desktop. Hindi ang hinahanap ko.
- Tier 2: Ang Samsung Nexus S at Nexus S 4G. Nararamdaman ko ang isang karaniwang tema dito. Madaling mai-unlock na mga telepono, at sinabi ni Mozilla na ang mga ito ay pumipili ng mga pagbabago "pangalawa." Mayroon akong Nexus S na nakalagay, kaya iyon ang pinuntahan ko.
- Tier 3: Ang Samsung Galaxy S2 at Galaxy Nexus. Ang mga tao ay kumiling, ngunit ang Tier 2 ay ang iyong pinakamahusay na pagbaril.
Kaya iyon ang kalahati ng labanan. Ngayon upang mag-download, mag-compile at mag-flash ng B2G.
Mayroong ilang mga pagpipilian doon, pati na rin. Ang isa ay upang bumuo sa isang kahon ng Linux. Sinusulat ng Mozilla ang lahat ng kinakailangang mga tool na kakailanganin mo, ngunit hindi ito ipakita sa iyo kung saan makuha ang mga ito. Me pagiging isang Linux n00b, masamang bagay iyon. Para sa karamihan ng natitirang mga nerd gamit ang isang distro o isa pa, dapat itong mas kaunti sa isang bagay.
Ang iba pang pagpipilian ay ang pagbuo sa isang Mac. At ito ay gawing tangang simple.
Kaya paano mo ito ginawa?
Muli, ginawa ko ito sa isang Mac. At mayroon talagang ilang mga pangunahing hakbang na kahit na ang aking non-balbas na leeg ay maaaring sundin.
- Kailangan kong mag-install ng Xcode, na kung saan ay ang kapaligiran sa pag-unlad para sa Mac.
- Nag-install ako ng Homebrew para sa Mac.
- Nagpatakbo ako ng isang script na ibinigay ni Mozilla, na nagsuri para sa iba pang mga kinakailangan at sinenyasan ako na mai-install ang mga ito kung kinakailangan.
Sa puntong ito mapapansin ko na ang mga tagubilin ni Mozilla ay tila nagpapahiwatig na ang kailangan ko lang gawin ay mai-install ang Xcode at pagkatapos ay patakbuhin ang script; ang natitira ay mag-aalaga ng sarili. Ngunit kailangan kong mag-install muna ng Homebrew. Hindi ako sigurado kung dahil iyon sa isang bagay na ginawa ko (o hindi) ginawa, o ano. Ngunit iyon kung paano ito nagtrabaho para sa akin.
Susunod up: Kunin ang lahat ng code mula sa Git. Iyon ay kasing simple ng pagkopya at pag-paste ng isa pang ilang linya sa Terminal. Malamig.
Pagkatapos: Sumulat.
Ngayon, ang huling mga hakbang na ito ay tumagal ng ilang sandali. Hindi ako sigurado kung gaano katagal. Lumayo ako at gumawa ng gamit. Gumawa ng kape. Magpatakbo ng ilang mga pagkakamali. Sumulat ng isang libro. Tumagal ng ilang sandali sa aking maliit na MacBook Air. Inaasahan ko iyon. Ito ay hindi isang sobrang mahirap na proyekto, ngunit hindi ito masyadong mabilis. Pinapayagan ko ang mga bagay na tumakbo sa kanilang kurso at natapos na may isang mai-flash na imahe sa bagong direktoryo na "B2G" ng aking MBA.
Oras na kumikislap
Kaya. Oras upang kunin na ang Nexus S. Kailangan itong magkaroon ng isang naka-lock na bootloader, siyempre, at kinakailangang tumatakbo ang Android 4.0 Ice Cream Sandwich. (Walang sinabi si Mozilla tungkol sa Jelly Bean, ngunit nakuha ko rin ito upang gumana din. Hindi masyadong nakakagulat.)
Sunog ang telepono sa mode ng fastboot at i-plug ito. Wala pa tayong nagawa bago sa Android, tama /
Ngayon, muli, ginawa ito ng Mozilla. Hindi ko na nabalisa ang pag-aayos ng aking mga variable ng landas, kaya ang adb at fastboot ay normal na nakatira sa loob ng isang folder ng aking Android SDK, at iyan ay. Maaari kong harapin iyon. Matalinong kasama ni Mozilla ang lahat ng iyon. Ngunit mas mahusay na ito ay gumawa ng isang maliit na script na ginagawa ang lahat. Sinusuri nito kung naka-lock ang bootloader. Tinatanggal nito ang lahat ng mga partisyon na kailangan nitong burahin. Pagkatapos ay kumislap ng mga bagong imahe. Ganap na hands-on. Iyon ay hindi ko nagawa ang aking sarili, ngunit wala ako kung hindi paminsan-minsan tamad. Cheers, Mozilla.
I-reboot, at, boom. Nag-Boote kami sa Gecko.
Pangkatin at ano ang nakuha mo?
At ngayon, para sa mga bunga ng ating paggawa.
Ang ilalim na linya
Kaya iyon ang Boot ng Mozilla sa Gecko sa isang Samsung Nexus S. Hindi isang masamang maliit na proyekto, talaga. Tumagal ng ilang oras, isang nagtatrabaho Nexus S at ilang puwang ng hard drive, ngunit hindi ito masyadong buwis sa utak. Kapag nakuha mo ito sa telepono, maaari mong mai-back up gamit ang pasadyang mga pagbawi sa Android, pagkatapos ay darating at pumunta hangga't gusto mo.
Ibibigay ko ito ng isang 6 sa 10 sa scale ng kahirapan, dahil lamang sa hindi ko alam kung ano ang ginagawa ko pagdating sa pag-compile ng code. Ngunit sinusunod ko nang maayos ang mga direksyon, at ginawang mabuti at madali ng Mozilla. Ito ay maaari mong subukan ang iyong sarili.
Maaari kaming kumita ng komisyon para sa mga pagbili gamit ang aming mga link. Dagdagan ang nalalaman.