Зміст:
- Зачекайте - чому, чорт забираєте, це ви робите?
- Посилання, які вам знадобляться
- Гаразд - тепер на що, чорт, ти це робиш?
- То як ти це зробив?
- Час спалахнути
- Зберіть це разом і що у вас є?
- Суть
Я не кодер. Я ледве знаю G це від G ot, і не можу пригадати, скільки разів я замислювався, чому adb не працюватиме, лише для виявлення я забув увімкнути налагодження USB - знову. У мене тут Linux на коробці, але я коли-небудь використовую його лише тоді, коли мені здається на півтора десятка запитань до Джеррі протягом п'яти хвилин.
Також у мене немає шиї.
Отже, що в широкому, широкому світі спорту я завантажую Xcode на свій MacBook Air (не маю на увазі, що до цієї весни я все життя був хлопцем Windows), синхронізував з Git repos, компілював код і прошив операційну систему Я досі свідомо ігнорував - особливо зважаючи на те, що я провів 24 години на роботі з хворою дитиною, переживаючи за хворого друга і готуючись до ймовірного урагану, значною мірою ігноруючи мою фактичну роботу?
У мене, мабуть, проблеми з миготінням. Ось так я нещодавно виявив, що я поставив новоспечену операційну систему Mozilla, також відому як "Gecko", на Samsung Nexus S.
Ласкаво просимо до проекту Boot to Gecko.
Як я вже сказав, я не кодер. Але я люблю возитися з речами. І мені вдалося це зробити, як люблять говорити мої маленькі дочки, всі … по … моєму … самому. І ти теж можеш.
Зачекайте - чому, чорт забираєте, це ви робите?
Це перший у серії, який ми будемо називати нашими вихідними проектами. Те, що ви інакше не можете намагатися. Але якщо ми можемо це зробити, так і ви.
Однак, є кілька речей, які я тут не збираюся робити для вас. Це не буде детальним поглядом на те, як створити і прошивати проект Boot to Gecko. Я збираюся подати вам широкі штрихи мого досвіду. У Mozilla є чудова документація, і ви дійсно повинні її прочитати, якщо ви збираєтеся спробувати це. (Я, ймовірно, не зміг би все зрозуміти в перекладі.)
Інша річ, яку я не збираюсь робити, - це вказати вам на чужу конструкцію, яка може бути легко перетворюється на ClockworkMod. Ви можете шукати це самостійно. Те, що я хотів зробити, це насправді скласти, створивши це на власній перекладі до телефону.
І ось це я і зробив.
Посилання, які вам знадобляться
Google - ваш друг. Простий пошук "B2G" знайшов все необхідне.
- Mozilla - завантаження Gecko (для неприродного пояснення B2G)
- B2G в мережі розробників Mozilla (саме тут починається реальна робота)
- Створення та встановлення Boot до Gecko
Гаразд - тепер на що, чорт, ти це робиш?
Як стверджувати Mozilla, для створення з нуля вам потрібен або Mac, або машина Linux. У мене тут обоє. Але інструкції для Mac просто виглядали простіше. (У цьому немає сорому, правда?) Але і в цьому є сенс. Швидше за все, якщо ви працюєте з Linux, ви можете легко встановити всі перелічені в Mozilla інструменти. Я? Не так багато. Так Мак це було.
Це дійсно було так просто, як це для мене: встановіть Xcode з магазину додатків Mac, потім запустіть термінал і запустіть кілька команд. Я зробив достатньо майстерності в Android, щоб бути в порядку з цим. Mozilla має чудовий сценарій, який встановлює все необхідне. Потім ви синхронізуєте сховище git, компілюєте код та передаєте його на свій пристрій Android, як і будь-який інший користувальницький ROM. (І у Mozilla є сценарій для цієї останньої частини, що робить речі ще простішими.)
Що стосується цільового пристрою, для якого ви будуєте, у вас є варіанти. Mozilla розділила їх на три рівні:
- Рівень 1: Otoro (якийсь розроблювальний пристрій, що використовується Mozilla); Пандаборд; емулятор ARM або x86; або на робочому столі. Не те, що я шукав.
- Рівень 2: Samsung Nexus S і Nexus S 4G. Я відчуваю тут загальну тему. Телефони, що легко розблоковуються, і Mozilla каже, що зміни збираються "вдруге". У мене лежав Nexus S, тому я і пішов.
- 3 рівень: Samsung Galaxy S2 та Galaxy Nexus. Люди хизуються, але рівень 2 - ваш найкращий знімок.
Так це половина битви. Тепер завантажуйте, компілюйте та прошивайте B2G.
Там також було кілька варіантів. Перший - побудувати на скриньці Linux. Mozilla викладає всі необхідні інструменти, які вам знадобляться, але не показує, де їх отримати. Я буду Linux n00b, це погано. Для більшості решти людей, які використовують той чи інший дистрибутив, це має бути менше.
Інший варіант - створити на Mac. І Мозілла зробила це дурно просто.
То як ти це зробив?
Знову ж таки, я це робив на Mac. І справді було лише кілька основних кроків, які навіть моя борода на шиї змогла виконати.
- Мені довелося встановити Xcode, що є середовищем розробки для Mac.
- Я встановив Homebrew для Mac.
- Я запустив сценарій, який надав Mozilla, який перевірив інші умови і запропонував мені встановити їх, якщо потрібно.
На цьому етапі я зазначу, що вказівки Mozilla, здавалося, вказували на те, що все, що мені потрібно було зробити, це встановити Xcode і потім запустити сценарій; решта подбала б про себе. Але мені довелося спочатку встановити Homebrew самостійно. Я не впевнений, чи це через щось, що я зробив (чи не зробив), чи що. Але ось так у мене вийшло.
Далі: Вилучіть увесь код з Git. Це було так само просто, як копіювати та вставляти ще кілька рядків у Термінал. Класно.
Потім: Складіть.
Тепер ці останні кілька кроків зайняли певний час. Я не впевнений, як довго. Я пішов і робив речі. Зробив трохи кави. Пробігли доручення. Написав книгу. На моєму маленькому MacBook Air минуло певний час. Я цього очікував. Це не надто складний проект, але не надто швидкий. Я дозволив, щоб справи йшли своїм ходом, і в кінцевому підсумку з'явилося миготливе зображення в новому каталозі "B2G" моєї MBA.
Час спалахнути
Тому. Час, щоб схопити цей Nexus S. Звичайно, знадобиться розблокований завантажувач, і для цього потрібно запустити сендвіч з морозивом Android 4.0. (Mozilla нічого не каже про Jelly Bean, але я теж працював з цим. Не надто дивно.)
Увімкніть телефон у режим швидкої завантаження та підключіть його. Нічого, чого ми ще не робили з Android, правда /
Тепер, знову ж таки, Mozilla зробила це справді просто. Я не намагався виправляти свої змінні шляху, тому adb і fastboot зазвичай живуть в одній папці мого Android SDK, і це все. Я можу з цим впоратися. Mozilla спритно включила все це. Але ще краще, що він зробив невеликий сценарій, який робить усе. Він перевіряє, чи завантажений завантажувач. Це стирає всі розділи, які потрібно видалити. Потім спалахує нові зображення. Повністю практична робота. Це нічого, що я не міг би зробити сам, але я нічого, якщо не час від часу лінивий. Ура, Мозілла.
Перезавантажте і, бум. Ми завантажилися до Геко.
Зберіть це разом і що у вас є?
А тепер за плоди нашої праці.
Суть
Отже, це Mozilla's Boot to Gecko на Samsung Nexus S. Насправді не дуже поганий маленький проект. Минуло кілька годин, працюючий Nexus S і трохи місця на жорсткому диску, але це не надто оподатковувало мозок. Після того, як він спалахне на телефоні, ви можете створити резервну копію, скориставшись спеціальною системою відновлення Android, а потім приходьте та йдіть, як завгодно.
Я б дав це 6 з 10 за шкалою складності, тільки тому, що я дійсно не знаю, що я роблю, коли справа стосується компіляції коду. Але я дуже добре дотримуюся вказівок, і Mozilla зробила речі приємними та легкими. Це ви можете спробувати самостійно.
Ми можемо заробляти комісію за покупки, використовуючи наші посилання. Вчи більше.