Как собрать ОС Lineage в Windows 10

16 ГБ ОЗУ (компиляция требует много ресурсов!)

Итак, что мы в основном собираемся сделать, так это настроить подсистему Windows для Linux (WSL) для нашей среды сборки. Это невероятно просто, хотя часто упускается из виду, поскольку большая часть того, что нам нужно, доступно в Microsoft Store.



Ваш первый шаг - открыть Microsoft Store, найти Ubuntu 18.04 и установить приложение.

Затем откройте приложение Ubuntu 18.04 и пройдите мастер начальной настройки.



Теперь откройте терминал Ubuntu и установите следующие пакеты:



sudo apt install android-sdk-platform-tools bc build-essential ccache curl g ++ - Multilib gcc-Multilib git gnupg gperf imagemagick lib32ncurses5-dev lib32readline-dev lib32z1-dev liblz4-tool libncurses5-dev libsdl1.2-dev libssgt libwwsgt-dev .0-dev libxml2 libxml2-utils lzop m4 openjdk-8-jdk pngcrush репо rsync schedtool squashfs-tools xsltproc zip zlib1g-dev

Затем вам нужно создать новый каталог для исходного кода и перейти к нему:



mkdir -p ~ / android / lineage && cd android / lineage

Теперь мы запустим репозиторий исходного кода LineageOS:

репо init -u https://github.com/LineageOS/android.git -b lineage-15.1

Добавьте этот фрагмент кода в .repo / local_manifests / roomservice.xml (если этого файла не существует, вы можете просто создать его)

И мы скачаем исходный код:

репо синхронизация

Теперь это совершенно необязательно, но рекомендуется включить кеширование, чтобы ускорить сборку - мы делаем это через «ccache».

В основном вы хотите добавить следующую строку в свой файл ~ / .bashrc:

 Экспорт USE_CCACHE = 1 

А затем укажите максимальный объем дискового пространства, которым вы хотите воспользоваться ccache:

 Ccache -M 50G 

Замените «50G» в этой строке на свои предпочтения - это соответствует объему выделяемого кеша в гигабайтах. Если вы создаете только одно устройство, вы можете использовать от 25 до 50 ГБ, но если вы создаете для нескольких устройств, не использовать один и тот же исходный код ядра вы должны увеличить его примерно до 75 - 100G. В любом случае использование ccache позволит значительно сократить время сборки ваших сборок.

Затем вы должны выбрать следующий коммит:

исходная сборка / envsetup.sh && repopick -t wsl-compile

Затем вы подготовите код для конкретного устройства:

завтрак кодовое имя вашего устройства 

Сделайте 64-битный бизон и иджар:

сделать зубров && сделать иджар

Установите BISON_EXEC для запуска 64-разрядной версии bison и установите IJAR_EXEC для запуска адаптированного ijar:

экспорт BISON_EXEC = ~ / android / lineage / out / host / linux-x86 / bin / bison экспорт IJAR_EXEC = ~ / android / lineage / out / host / linux-x86 / bin / ijar

(добавьте команды в ~ / .bashrc, если вы не хотите, чтобы их выполняли каждый раз, когда вы повторно открываете командную строку)

А теперь можно начинать сборку!

поздний завтрак кодовое имя вашего устройства 

Для сборки в будущем вам просто нужно повторить шаги добавления .repo / local_manifests, включить ccache и установить BISON_EXEC и адаптированный IJAR.

Еще нужно сделать зубра && сделать ижар каждый раз, когда вы очищаете каталог.

Некоторые заключительные примечания:

  • Не делайте добавляйте / редактируйте файлы Linux из Windows, файлы, скорее всего, будут повреждены в bash. Сделайте это в подсистеме Linux.
  • Не делайте использовать мнт чтобы загрузить исходный код на другие диски, а затем следуйте этому руководству. Вы должны скачать исходный код в папки только внутри подсистемы Linux!
3 минуты на чтение