Jak zbudować system operacyjny Lineage na Windows 10

16 GB pamięci RAM (kompilacja pochłania dużo zasobów!)

Zasadniczo zamierzamy więc skonfigurować podsystem Windows dla systemu Linux (WSL) dla naszego środowiska kompilacji. Jest to niezwykle łatwe, choć często pomijane, ponieważ większość potrzebnych nam produktów jest dostępna w sklepie Microsoft Store.



Pierwszym krokiem jest otwarcie Microsoft Store, wyszukanie Ubuntu 18.04 i zainstalowanie aplikacji.

Następnie otwórz aplikację Ubuntu 18.04 i przejdź przez kreatora wstępnej konfiguracji.



Teraz otwórz terminal Ubuntu i zainstaluj następujące pakiety:



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-dev .0-dev libxml2 libxml2-utils lzop m4 repozytorium openjdk-8-jdk pngcrush rsync scheduletool squashfs-tools xsltproc zip zlib1g-dev

Następnie musisz utworzyć nowy katalog dla kodu źródłowego i przejść do niego:



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

Teraz zainicjujemy repozytorium źródeł LineageOS:

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

Dodaj ten fragment kodu do .repo / local_manifests / roomservice.xml (jeśli ten plik nie istnieje, możesz go po prostu utworzyć)

A my pobierzemy kod źródłowy:

synchronizacja repozytorium

Teraz jest to całkowicie opcjonalne, ale zaleca się włączenie buforowania w celu przyspieszenia kompilacji - robimy to za pomocą „pamięci podręcznej”.

Zasadniczo chcesz dodać następujący wiersz do swojego pliku ~ / .bashrc:

 Eksportuj USE_CCACHE = 1 

Następnie określ maksymalną ilość miejsca na dysku, z której pamięć podręczna ma korzystać:

 Pamięć podręczna -M 50G 

Zastąp „50G” w tym wierszu według swoich preferencji - odpowiada to przydzielanej ilości pamięci podręcznej w gigabajtach. Jeśli tworzysz tylko dla jednego urządzenia, możesz używać między 25–50 GB, ale jeśli tworzysz dla wielu urządzeń, nie współużytkują tego samego źródła jądra powinieneś podbić go do około 75 - 100G. W obu przypadkach użycie pamięci podręcznej skróci znaczną ilość czasu w kompilacjach.

Następnie powinieneś zaszyfrować następującą zmianę:

source build / envsetup.sh && repopick -t wsl-compile

Następnie przygotujesz kod specyficzny dla urządzenia:

śniadanie kryptonim twojego urządzenia 

Utwórz 64-bitowy bison i ijar:

zrób bizon i zrób ijar

Ustaw BISON_EXEC, aby uruchamiał 64-bitową wersję bison i ustaw IJAR_EXEC, aby uruchamiał dostosowany ijar:

export BISON_EXEC = ~ / android / lineage / out / host / linux-x86 / bin / bison export IJAR_EXEC = ~ / android / lineage / out / host / linux-x86 / bin / ijar

(dodaj polecenia do ~ / .bashrc, jeśli nie chcesz, aby były wykonywane za każdym razem, gdy ponownie otwierasz wiersz poleceń)

A teraz możesz rozpocząć budowę!

późne śniadanie kryptonim twojego urządzenia 

Aby budować w przyszłości, wystarczy powtórzyć kroki dodawania .repo / local_manifests, włączyć pamięć podręczną i ustawić BISON_EXEC i dostosowany IJAR.

Musisz także zrobić bizon i zrobić ijar za każdym razem, gdy opróżniasz katalog.

Kilka uwag końcowych:

  • Nie rób dodaj / edytuj pliki Linuksa z Windows, pliki najprawdopodobniej zostaną uszkodzone w bash. Zrób to w ramach podsystemu Linux.
  • Nie rób posługiwać się mnt aby pobrać kod źródłowy na inne dyski, a następnie postępuj zgodnie z tym przewodnikiem. Należy pobrać kod źródłowy do folderów tylko w podsystemie Linux!
3 minuty czytania