Logo pl.androidermagazine.com
Logo pl.androidermagazine.com

Projekt weekendowy: zbuduj bootowanie Mozilli do gekona na smartfona z Androidem

Spisu treści:

Anonim

Nie jestem programistą. Ledwo znam go z G ot i nie pamiętam, ile razy zastanawiałem się, dlaczego adb nie działa, tylko po to, by odkryć, że zapomniałem włączyć debugowanie USB - znowu. Mam tutaj Linuksa na pudełku, ale używam go tylko wtedy, gdy mam ochotę zadać Jerry'emu kilka pytań w ciągu pięciu minut.

Poza tym nie mam brody na szyi.

Więc co w szerokim, szerokim świecie sportu, robię pobieranie Xcode na MacBooku Air (nieważne, że do tej wiosny przez całe życie byłem facetem Windows), synchronizowanie z repozytoriami Git, kompilowanie kodu i flashowanie systemu operacyjnego Do tej pory świadomie ignorowałem - zwłaszcza biorąc pod uwagę, że spędziłem 24 godziny na pracy z chorym dzieckiem, martwiąc się o chorego przyjaciela i przygotowując się na prawdopodobny huragan, w dużej mierze ignorując moją rzeczywistą pracę?

Najwyraźniej mam problem z flashowaniem. I w ten sposób niedawno odkryłem, że umieszczam nowy system operacyjny Mozilli, znany również jako „Gecko” na Samsung Nexus S.

Witamy w projekcie Boot to Gecko.

Tak jak powiedziałem, nie jestem programistą. Ale lubię bawić się w różne rzeczy. I udało mi się to zrobić, jak lubią mawiać moje młode córki, wszystkie … przez … moje … ja. Ty też możesz.

Czekaj - dlaczego do cholery to robisz?

To pierwszy z serii, który nazwiemy naszymi projektami weekendowymi. Rzeczy, których inaczej nie można próbować. Ale jeśli możemy to zrobić, Ty też.

To powiedziawszy, jest kilka rzeczy, których tutaj nie zamierzam dla ciebie robić. Nie będzie to szczegółowe spojrzenie na to, jak zbudować i sflashować projekt Boot to Gecko. Dam ci szerokie uderzenia mojego doświadczenia. Mozilla ma świetną dokumentację i naprawdę powinieneś ją przeczytać, jeśli masz zamiar tego spróbować. (Prawdopodobnie również nie uda mi się wszystko poprawnie przetłumaczyć.)

Inną rzeczą, której nie zamierzam zrobić, jest wskazanie komuś budowy, która może być flashowana przez ClockworkMod. Możesz przeszukać to na własną rękę. To, co chciałem zrobić, to skompilowanie tego na podstawie własnego połączenia z telefonem.

I tak właśnie zrobiłem.

Linki, których będziesz potrzebować

Google jest twoim przyjacielem. Proste wyszukiwanie „B2G” znalazło wszystko, czego potrzebowałem.

  • Mozilla - Boot to Gecko (dla niemądrego wyjaśnienia B2G)
  • B2G w sieci Mozilla Developer Network (tam zaczyna się prawdziwa praca)
  • Budowanie i instalowanie Boot to Gecko

OK - teraz, do diabła, co robisz?

Według Mozilli do budowania od podstaw potrzebujesz komputera Mac lub Linux. Mam oba tutaj. Ale instrukcje dla komputerów Mac wyglądały po prostu łatwiej. (Nie ma w tym wstydu, prawda?) Ale to też ma sens. Są szanse, że jeśli używasz Linuksa, możesz łatwo zainstalować wszystkie wymienione na liście narzędzia Mozilli. Mnie? Nie tak bardzo. Tak było Mac.

To naprawdę było dla mnie tak proste: zainstaluj Xcode z Mac App Store, a następnie uruchom Terminal i uruchom kilka poleceń. Zrobiłem wystarczająco dużo majsterkowania w Androidzie, żeby sobie z tym poradzić. Mozilla ma świetny skrypt, który instaluje wszystko, czego potrzebujesz. Następnie zsynchronizujesz repozytorium git, skompilujesz kod i prześlesz go na urządzenie z Androidem, jak każdą inną niestandardową pamięć ROM. (Mozilla ma również skrypt do tej ostatniej części, dzięki czemu wszystko jest jeszcze łatwiejsze.)

Jeśli chodzi o urządzenie docelowe, dla którego budujesz, masz opcje. Mozilla podzieliła je na trzy poziomy:

  • Poziom 1: Otoro (rodzaj urządzenia deweloperskiego używanego przez Mozillę); Pandaboard; emulator ARM lub x86; lub pulpit. Nie tego szukałem.
  • Poziom 2: Samsung Nexus S i Nexus S 4G. Wyczuwam tutaj wspólny motyw. Łatwo odblokowalne telefony, a Mozilla mówi, że odbierają zmiany „wtórnie”. Leżę wokół Nexusa S. Więc po to poszedłem.
  • Poziom 3: Samsung Galaxy S2 i Galaxy Nexus. Ludzie majstrują, ale twój najlepszy strzał to Poziom 2.

To połowa sukcesu. Teraz do pobrania, skompilowania i flashowania B2G.

Było też kilka opcji do wyboru. Jednym z nich jest zbudowanie na systemie Linux. Mozilla określa wszystkie potrzebne narzędzia, których potrzebujesz, ale nie pokazuje, gdzie je zdobyć. Ja, jako Linux n00b, to zła rzecz. Dla większości pozostałych kujonów korzystających z tej lub innej dystrybucji powinno to być mniej ważne.

Inną opcją jest kompilacja na komputerze Mac. A Mozilla sprawiła, że ​​stało się to głupio proste.

Jak to zrobiłeś?

Znów zrobiłem to na komputerze Mac. I naprawdę było tylko kilka podstawowych kroków, które podążała nawet moja nie brodata szyja.

  1. Musiałem zainstalować Xcode, czyli środowisko programistyczne dla komputerów Mac.
  2. Zainstalowałem Homebrew dla komputerów Mac.
  3. Uruchomiłem skrypt dostarczony przez Mozillę, który sprawdził inne wymagania wstępne i zachęcił mnie do zainstalowania ich w razie potrzeby.

W tym miejscu zauważę, że instrukcje Mozilli wydawały się wskazywać, że wszystko, co musiałem zrobić, to zainstalować Xcode, a następnie uruchomić skrypt; reszta zająłaby się sobą. Ale najpierw musiałem zainstalować Homebrew. Nie jestem pewien, czy to z powodu czegoś, co zrobiłem (lub nie zrobiłem), czy co. Ale tak to dla mnie działało.

Dalej: pobierz cały kod z Git. To było tak proste, jak skopiowanie i wklejenie kilku kolejnych wierszy do Terminala. Fajne.

Następnie: skompiluj.

Te ostatnie kroki zajęły trochę czasu. Nie jestem pewien, jak długo. Odszedłem i zrobiłem różne rzeczy. Zrobiłem kawę. Zrobiłem kilka spraw. Napisałem książkę. Minęło trochę czasu na moim małym MacBooku Air. Spodziewałem się tego. To nie jest zbyt trudny projekt, ale nie jest też zbyt szybki. Pozwoliłem, by sprawy potoczyły się zgodnie z planem i skończyło się na flashowaniu obrazu w nowym katalogu „B2G” mojego MBA.

Czas na flashowanie

Więc. Czas, by złapać Nexusa S. Oczywiście będzie musiał mieć odblokowany bootloader i musi mieć system Android 4.0 Ice Cream Sandwich. (Mozilla nie mówi nic o Jelly Bean, ale mam go również do pracy. Nie jest to zbyt zaskakujące.)

Uruchom telefon w trybie fastboot i podłącz go. Nic nie zrobiliśmy wcześniej z Androidem, prawda /

Teraz znowu Mozilla ułatwiła to. Nie zadałem sobie trudu, aby ustawić zmienne ścieżki, więc adb i fastboot zwykle działają w jednym folderze mojego zestawu SDK Androida i to wszystko. Poradzę sobie z tym. Mozilla elegancko włączyła to wszystko. Ale jeszcze lepsze jest to, że stworzył mały skrypt, który robi wszystko. Sprawdza, czy bootloader jest odblokowany. Usuwa wszystkie partycje, których potrzebuje do usunięcia. Następnie miga nowe obrazy. Całkowicie praktyczny. Tego nie mogłem zrobić sam, ale jestem niczym, jeśli nie czasami leniwym. Pozdrawiam, Mozilla.

Uruchom ponownie i bum. Uruchomiliśmy Gecko.

Złóż to razem i co masz?

A teraz za owoce naszej pracy.

Dolna linia

To jest Boot Boot Gecko Mozilli na Samsung Nexus S. Właściwie niezły mały projekt. Zajęło to kilka godzin, działającego Nexusa S i trochę miejsca na dysku twardym, ale nie obciążało to zbytnio mózgu. Po sflashowaniu do telefonu możesz wykonać kopię zapasową przy użyciu niestandardowych odzyskiwania systemu Android, a następnie przyjść i odejść, jak chcesz.

Dałbym to 6 na 10 w skali trudności, tylko dlatego, że tak naprawdę nie wiem, co robię, jeśli chodzi o kompilowanie kodu. Ale całkiem dobrze podążam za wskazówkami, a Mozilla sprawiła, że ​​wszystko było przyjemne i łatwe. Tego możesz spróbować sam.

Możemy otrzymać prowizję za zakupy za pomocą naszych linków. Ucz się więcej.