LineageOS, kế thừa CyanogenMod, là custom ROM Android phổ biến nhất. Đã port cho hơn 200 model điện thoại với tính năng phong phú so với stock Android.
Tuy nhiên, dù nhiều thiết bị có port LineageOS, còn nhiều hơn không có. Trong hướng dẫn nhanh Appuals này, chúng tôi chỉ cách build LineageOS trong môi trường Windows 10. Lưu ý: hướng dẫn này không build ROM LineageOS ngay lập tức tương thích thiết bị bạn, chỉ setup môi trường build trên Windows 10 từ repo Git chính thức.
Bạn nên quen dùng terminal Linux và build Android ROM – không phải hướng dẫn cho newbie. Nếu chưa bao giờ build ROM, xem hướng dẫn Appuals build custom ROM từ AOSP (link dưới).
Nếu quan tâm build custom ROM và DIY Android khác, xem thêm:
- Cách DIY Port TWRP cho Android
- Cách thủ công Theme Android System UI
- Cách Build Custom ROM từ AOSP | Phần 2
Yêu cầu:
- Windows 10 (64-bit) (khuyên cài trên SSD)
- Ít nhất 16GB RAM (compile tốn tài nguyên!)
Ta sẽ setup Windows Subsystem for Linux (WSL) làm môi trường build. Rất dễ nhưng thường bị bỏ qua, vì hầu hết thứ cần có sẵn trong Microsoft Store.

Bước 1: Mở Microsoft Store, tìm Ubuntu 18.04 cài app.
Mở app Ubuntu 18.04, làm wizard setup ban đầu.
Mở terminal Ubuntu cài các package sau:
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 libssl-dev libwxgtk3.0-dev libxml2 libxml2-utils lzop m4 openjdk-8-jdk pngcrush repo rsync schedtool squashfs-tools xsltproc zip zlib1g-dev
Tạo thư mục source code và cd vào:
mkdir -p ~/android/lineage && cd android/lineage
Khởi tạo LineageOS source repo:
repo init -u https://github.com/LineageOS/android.git -b lineage-15.1
Thêm code sau vào .repo/local_manifests/roomservice.xml (nếu file không tồn tại, tự tạo)
<project name="TheMuppets/proprietary_vendor_your device brand" path="vendor/your device brand" remote="github" />
Tải source code:
repo sync
Tùy chọn nhưng khuyên bật cache để build nhanh – dùng "ccache".
Thêm dòng sau vào ~/.bashrc:
Export USE_CCACHE=1
Chỉ định dung lượng disk tối đa ccache dùng:
Ccache -M 50G
Thay "50G" bằng tùy chọn – tương ứng GB cache allocate. Build 1 thiết bị dùng 25-50G, build nhiều thiết bị không share kernel source nên 75-100G. ccache sẽ cắt giảm đáng kể thời gian build.
Cherry-pick commit sau:
source build/envsetup.sh && repopick -t wsl-compile
Chuẩn bị code device-specific:
breakfast your device codename
Make 64-bit bison và ijar:
make bison && make ijar
Set BISON_EXEC chạy bison 64-bit, IJAR_EXEC chạy ijar adapted:
export BISON_EXEC=~/android/lineage/out/host/linux-x86/bin/bison export IJAR_EXEC=~/android/lineage/out/host/linux-x86/bin/ijar
(thêm vào ~/.bashrc nếu không muốn chạy lại mỗi lần mở terminal)
Bây giờ có thể bắt đầu build!
brunch your device codename
Lần sau build, chỉ cần lặp: thêm .repo/local_manifests, bật ccache, set BISON_EXEC và IJAR adapted.
Cũng cần make bison && make ijar mỗi lần flush thư mục.
Lưu ý cuối:
- KHÔNG thêm/sửa file Linux từ Windows, file sẽ bị corrupt trong bash. Làm trong Linux subsystem.
- KHÔNG dùng mnt download source code ra ổ khác rồi làm theo hướng dẫn. Nên download source code chỉ trong thư mục Linux subsystem!