Как скомпилировать прошивку LineageOS с исходного кода?

Хотели бы сами скомпилировать прошивку LinageOS для своего Android из исходного кода?  Мы подробно и доступно расскажем вам как это сделать!

Если вам вдруг захотелось попробовать силы в создание прошивки LineageOS для своего устройства из исходного кода, но вы понятия не имеете как это делать. Тогда данный материал это что вам надо!

Сборка прошивки LineageOS с исходного кода будет на примере Xiaomi MI5. Поэтому когда будете компилировать прошивку для своего смартфона или планшета будьте внимательны и вносите необходимые правки где это понадобиться.Как скомпилировать прошивку LineageOS с исходного кода

Что необходимо

  • Android устройство для которого будет создана прошивка
  • Кабель USB, совместимый с Android устройством
  • Скоростной интернет
  • Установленная 64х разрядная операционная система Ubuntu (LTS) на компьютер, c большим количеством свободного места (более 100 GB)

Прежде чем начать

Вы должны знать как пользоваться командой cd! Также на вашем Android устройстве должны быть установлены Root права, а также включена «отладка по USB«.

Установка необходимых компонентов

Абсолютно все действия будут происходить в терминале Linux! Поэтому открываем терминал и приступаем!

Обновим систему Ubuntu, чтобы скачивать самые новые версии программного обеспечения:

apt-get update && sudo apt-get upgrade -y

Для начала установим утилиты ADB и Fastboot на ваш компьютер:

sudo apt install android-tools-adb
sudo apt install android-tools-fastboot

Теперь установим необходимые пакеты разработчика, для того чтобы скомпилировать прошивку из исходного кода:

sudo apt install bc bison build-essential ccache curl flex g++-multilib gcc-multilib git gnupg gperf imagemagick lib32ncurses5-dev lib32readline-dev lib32z1-dev libesd0-dev liblz4-tool libncurses5-dev libsdl1.2-dev libssl-dev libwxgtk3.0-dev libxml2 libxml2-utils lzop pngcrush rsync schedtool squashfs-tools xsltproc zip zlib1g-dev repo

Далее нам необходимо установить Java Development Kit (JDK)

  • LineageOS 14.1-15.1: OpenJDK 1.8 (установить openjdk-8-jdk)
  • LineageOS 11.0-13.0: OpenJDK 1.7 (установить openjdk-7-jdk)

для этого вводим команду:

sudo apt install openjdk-8-jdk

Подготовка среды для компиляции прошивки

Для сборки прошивки необходимо будет создать две папки (каталога), выполним следующие команды:

mkdir -p ~/bin
mkdir -p ~/android/lineage

После чего в вашей домашней папке должны появится две папки bin, android, а в ней lineage.

Подключаемся к Google API:

curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo

Обновляем среду комплирования:

source ~/.profile

Теперь необходимо перейти в папку lineage, подключиться к репозиториям LinageOS и начать загружать исходный код:

cd ~/android/lineage
repo init -u https://github.com/LineageOS/android.git -b lineage-15.1

Если вы планируете устанавливать версию прошивку не 15.1, а 14.1, то в конце команды выше необходимо сделать поправку.

Загружаем код:

repo sync

Теперь смело можете идти заваривать чай или ужинать, включать фильм, либо ложиться спать, так как все это время будет загружаться весь исходный код что есть из серверов LineageOS на ваш компьютер.

Подготовка устройства и компиляция прошивки

После того как исходный код будет загружен перейдите в папку:

cd ~/android/lineage

и введите следующие команды, чтобы загрузить на компьютер исходный код для ядра вашего устройства:

sudo source build/envsetup.sh
breakfast gemini

Вместо gemini вы должны указать кодовое имя вашего устройства. Если скачивание исходного кода завершилось ошибкой перейдите к следующему этапу.

Теперь необходимо извлечь из Android «драйвера» устройства. Подключите Android к компьютеру и выполните команду для перехода:

cd ~/android/lineage/device/xiaomi/gemini

В конце, вместо xiaomi и gemini вы должны указать своего производителя и устройство Android.

И запустим скрипт командой:

sudo ./extract-files.sh

Если все пройдет как надо, то в папке /android/lineage/vendor/ваш_производитель_устройства будут файлы. Если в прошлый раз у вас была проблема с загрузкой исходного кода для ядра, то вернитесь назад и повторите команды.

Остается скомпилировать прошивку для устройства, выполняем команды:

croot
brunch gemini

Теперь остается снова подождать пока ваша прошивка скомпилируется.

После того как прошивка будет готово, переходим в папку где она лежит:

cd $OUT

Копируем ее и устанавливаем на Android!

У вас еще остались вопросы? Пишите их в комментариях, рассказывайте, что у вас получилось или наоборот!

Вот и все! Больше полезных статей и инструкций читайте в разделе Статьи и Хаки Android. Оставайтесь вместе с сайтом Android +1, дальше будет еще интересней!