Оглавление:
- Подожди - какого черта ты это делаешь?
- Ссылки вам понадобятся
- Хорошо - теперь, черт возьми, ты это делаешь?
- Так как ты это сделал?
- Время мигать
- Положите это вместе, и что у вас есть?
- Суть
Я не кодер. Я почти не знаю G его от G, и я не могу вспомнить, сколько раз я задавался вопросом, почему ADB не будет работать, только чтобы обнаружить, что я забыл включить отладку USB - снова. У меня есть Linux на коробке, но я использую его только тогда, когда у меня есть желание бросить полдюжины вопросов в Джерри за пять минут.
Кроме того, у меня нет шеи.
Так что же в широком, широком спортивном мире я делаю, загружая Xcode на свой MacBook Air (не говоря уже о том, что до этой весны я всю жизнь занимался Windows), синхронизируюсь с репозиториями Git, компилирую код и перепрошиваю операционную систему До сих пор я сознательно игнорировал - особенно учитывая, что я провел 24 часа, имея дело с больным ребенком, волнуясь о больном друге и готовясь к вероятному урагану, в значительной степени игнорируя мою реальную работу?
У меня, видимо, проблема с перепрошивкой. И вот как я недавно обнаружил, что устанавливаю операционную систему Mozilla, также известную как «Gecko», на Samsung Nexus S.
Добро пожаловать в проект Boot to Gecko.
Как я уже сказал, я не кодер. Но я люблю возиться с вещами. И мне удалось сделать это, как любят говорить мои молодые дочери, все … самим собой. И ты тоже можешь.
Подожди - какого черта ты это делаешь?
Это первая из серии, которую мы будем называть нашими Проектами выходного дня. Вещи, которые вы не могли бы попытаться иначе. Но если мы можем сделать это, вы тоже можете.
Тем не менее, есть пара вещей, которые я не собираюсь делать для вас здесь. Это не будет детальный взгляд на то, как создать и прошить проект Boot to Gecko. Я собираюсь дать вам широкие мазки моего опыта. У Mozilla есть отличная документация, и вам действительно следует прочитать ее, если вы собираетесь попробовать это. (Я также, вероятно, не смогу сделать все правильно в переводе.)
Еще одна вещь, которую я не собираюсь делать, это указать вам на чью-то другую сборку, хотя и на ClockworkMod. Вы можете искать это самостоятельно. То, что я хотел сделать, это на самом деле собрать компиляцию, основанную на моем собственном склонении к телефону.
И вот что я сделал.
Ссылки вам понадобятся
Google твой друг. Простой поиск "B2G" нашел все, что мне было нужно.
- Mozilla - Boot to Gecko (для не-ботанического объяснения B2G)
- B2G в Mozilla Developer Network (именно здесь начинается настоящая работа)
- Сборка и установка Boot to Gecko
Хорошо - теперь, черт возьми, ты это делаешь?
По словам Mozilla, для сборки с нуля вам понадобится компьютер Mac или Linux. У меня есть оба здесь. Но инструкции для Mac выглядели проще. (В этом нет ничего постыдного, верно?) Но это тоже имеет смысл. Скорее всего, если вы работаете в Linux, вы можете легко установить все инструменты, перечисленные в Mozilla. Мне? Не так много. Так Mac это было.
Это действительно было так просто для меня: установите Xcode из Mac App Store, затем запустите Terminal и выполните несколько команд. Я достаточно поработал над Android, чтобы быть в порядке с этим. У Mozilla есть отличный скрипт, который устанавливает все, что вам нужно. Затем вы синхронизируете репозиторий git, скомпилируете код и перенесете его на свое устройство Android, как и любое другое пользовательское ПЗУ. (И у Mozilla есть сценарий для этой последней части, который делает вещи еще проще.)
Что касается целевого устройства, для которого вы создаете, у вас есть варианты. Mozilla разделил их на три уровня:
- Уровень 1: Otoro (своего рода устройство для разработки, которое использует Mozilla); Pandaboard; эмулятор ARM или x86; или рабочий стол. Не то, что я искал.
- Уровень 2: Samsung Nexus S и Nexus S 4G. Я чувствую общую тему здесь. Легко разблокируемые телефоны, и Mozilla говорит, что они воспринимают изменения «вторично». У меня есть Nexus S, вот к чему я стремился.
- Уровень 3: Samsung Galaxy S2 и Galaxy Nexus. Люди возятся, но Tier 2 - ваш лучший шанс.
Так что это полдела. Теперь для загрузки, компиляции и прошивки B2G.
Там также было несколько вариантов. Одним из них является сборка на Linux-коробке. Mozilla описывает все необходимые инструменты, которые вам понадобятся, но не показывает, где их взять. Я, будучи Linux n00b, это плохо. Для большинства остальных ботаников, использующих тот или иной дистрибутив, это должно быть чем-то меньшим.
Другим вариантом является сборка на Mac. И Mozilla сделала это глупо просто.
Так как ты это сделал?
Опять же, я сделал это на Mac. И действительно, было всего несколько основных шагов, которым могла следовать даже моя бородатая шея.
- Мне пришлось установить Xcode, который является средой разработки для Mac.
- Я установил Homebrew для Mac.
- Я запустил скрипт, предоставленный Mozilla, который проверил наличие других необходимых компонентов и предложил мне установить их при необходимости.
На этом этапе я отмечу, что инструкции Mozilla, похоже, указывают, что все, что мне нужно было сделать, это установить Xcode и затем запустить скрипт; остальное позаботится о себе. Но сначала мне пришлось установить Homebrew самостоятельно. Я не уверен, что это из-за того, что я сделал (или не сделал), или что. Но вот как это работает для меня.
Далее: получите весь код из Git. Это было так же просто, как скопировать и вставить еще несколько строк в терминал. Здорово.
Затем: скомпилируйте.
Теперь, эти последние пару шагов заняли некоторое время. Я не уверен, как долго. Я ушел и сделал вещи. Сделал немного кофе. Побежал по делам. Написал книгу. Это заняло некоторое время на моем маленьком MacBook Air. Я ожидал этого. Это не слишком сложный проект, но и не слишком быстрый. Я позволил вещам идти своим чередом, и в результате в моем каталоге MBA «B2G» появилась мигающая картинка.
Время мигать
Так. Пришло время взять Nexus S. Разумеется, у него должен быть разблокированный загрузчик, и он должен работать под управлением Android 4.0 Ice Cream Sandwich. (Mozilla ничего не говорит о Jelly Bean, но я тоже заставил его работать с этим. Не слишком удивительно.)
Включите телефон в режиме fastboot и подключите его. Ничего из того, что мы раньше не делали с Android, верно /
Теперь, опять же, Mozilla сделала это действительно легко. Я не потрудился исправить переменные пути, поэтому adb и fastboot обычно находятся в одной папке моего Android SDK, и это все. Я могу справиться с этим. Мозилла умело включила все это. Но еще лучше то, что он сделал небольшой сценарий, который делает все. Он проверяет, разблокирован ли загрузчик. Стирает все разделы, которые нужно стереть. Затем он мигает новые изображения. Полностью практический. Это ничего, что я не мог бы сделать сам, но я ничто, если не время от времени ленивый. Ура, Мозилла.
Перезагрузка, и, бум. Мы загрузились в Gecko.
Положите это вместе, и что у вас есть?
А теперь о плодах нашего труда.
Суть
Так что это Boot to Gecko от Mozilla на Samsung Nexus S. На самом деле это неплохой маленький проект. Это заняло пару часов, работающий Nexus S и немного места на жестком диске, но это не слишком напрягало мозг. После того, как он будет записан на телефон, вы можете создать резервную копию с помощью пользовательских восстановлений Android, а затем приходить и уходить когда угодно.
Я бы дал это 6 из 10 по шкале сложности, только потому, что я действительно не знаю, что я делаю, когда дело доходит до компиляции кода. Но я очень хорошо следую указаниям, и Mozilla сделала все просто и красиво. Это тот, который вы можете попробовать сами.
Мы можем заработать комиссию за покупки, используя наши ссылки. Учить больше.