Skip to content

Bonmiuken/Lineage_os_23

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

Phase 1: Setting up the compilation environment using Linux Phase 2: Downloading the LineageOS source code

Phase 3: Setting up the GSI compilation target Unlike device-specific (breakfast) compilation, GSI compilation uses special compilation targets to compile system images in a generic, non-device-specific way.

  1. Setting up the environment Go back to your source code directory and set up the compilation environment.

Bash

cd lineage # Navigate to your source code directory if it's not already there source build/envsetup.sh 2. Selecting the target architecture GSI builds are distinguished by their target architecture (e.g., ARM64, x86) and whether they are "native" (AOSP-like) or include Google services (this is not standard for official LineageOS builds).

The primary targets for modern devices are ARM64. You typically need to compile two targets: a system image and a vendor image (for older Treble devices) or just the system image (for modern devices).

Common GSI LineageOS targets:

lineage_arm64_bv: GSI LineageOS for ARM64, vendor-packed (for newer, most common devices).

lineage_arm64_bg: GSI LineageOS for ARM64, Google-packed (includes proprietary GApps applications, generally not used for pure GSI).

  1. Starting the Compilation Process Use the lunch command to select the target, then use the make command to begin compiling.

Bash

Select the desired GSI target (usually used for modern devices)

lunch lineage_arm64_bv Bash

Start compiling the system image

The -j flag specifies the number of parallel tasks (using the number of CPU threads + 2)

make systemimage -j$(nproc) Alternatively, you can build the entire GSI product:

Bash

Build the entire GSI package

make -j$(nproc)

Example: make lineage_arm64_bv -j$(nproc)

Stage 4: Results If the build is successful, the output GSI file will be in the same output directory structure:

out/target/product/generic_arm64/ The main output file will be named system.img (or a similar name depending on the target).

This system.img file is the file you will load into a compatible Treble-enabled device, usually using the fastboot command:

Bash

fastboot flash system system.img

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published