hammerhead, bacon и FP2

На этой странице рассказывается, как собрать ядро и образ Android для LG Nexus 5 (hammerhead), OnePlus One (bacon) или Fairphone 2 (FP2).

Примечание

We highly suggest that you follow the Halium porting guide if you want to bring up a new device. The steps in here are only relevant for hammerhead, bacon and FP2.

В этом документе предполагается, что пользователь знает, как устроены ОС Android или Halium. Также предполагается, что на мобильном устройстве установлен Ubuntu Touch.

Подготовка к установке

Сборки ubp-5.1 должны быть созданы с использованием Ubuntu 16.04. Для этой цели рекомендуется контейнер или виртуальная машина на базе Ubuntu 16.04.

Начнем с установки некоторых файлов зависимостей:

sudo dpkg --add-architecture i386 && sudo apt update
sudo apt install schedtool gcc g++ g++-multilib zlib1g-dev:i386 \
     zip libxml2-utils bc python-launchpadlib phablet-tools

Создайте каталог для исходного кода ubp-5.1:

mkdir ~/ubp-5.1
cd ~/ubp-5.1

Далее, инициализируем репозиторий:

repo init -u https://github.com/ubports/android -b ubp-5.1-allthefixings --depth=1

Примечание

Для удобства предусмотрена ветка allthefixings. В этой ветке находятся все текущие порты устройств UT за счет немного большего количества загруженных данных. Если вам это критично, инициализируйте её с помощью ключа`` -b ubp-5.1 „“ и используйте манифест из скриптов для формирования сборки build-scripts <https://github.com/ubports/build-scripts> __, чтобы выбрать репозитории, которые Вам нужны.

В итоге, мы скачали исходные тексты:

repo sync -j10 -c

Установка и сборка

Когда исходные тексты будут скопированы, нужно настроить окружение и собрать образы. Проверьте, что находитесь в каталоге ubp-5.1 перед тем, как продолжить работу.

Сначала введите окружение для сборки Android:

source build/envsetup.sh

Запустите команду lunch и выберите комбинацию, подходящую для устройства. Название комбинации должно начинаться с cm_, за ним следует имя устройства и заканчиваться на -userdebug:

lunch

После этого можно начинать сборку:

mka

Установите новый образ

Теперь процесс формирования сборки завершён, и её можно прошить на устройство. Обратите внимание, что все эти команды должны запускаться из терминала. Предварительно, в нем нужно запустить команды source build/envsetup.sh и lunch“, чтобы убедиться, что необходимые инструменты находятся в вашем PATH.

Начнем с образов boot и recovery. Загрузите устройство в режиме fast boot и выполните следующие команды:

cout
fastboot flash boot boot.img
fastboot flash recovery recovery.img

Теперь перезагрузите устройство и проверьте, что сборка ядра работает нормально. Можно загрузиться и в режиме recovery, и убедиться, что он тоже работает.

Чтобы установить новую сборку образа системы, используйте скрипт replace-android-system script.. Когда телефон подключён к ПК, его можно запустить так:

./replace-android-system system.img