LineageOS, CyanogenMod-এর ফর্কড সাকসেসর, অ্যান্ড্রয়েডের সবচেয়ে জনপ্রিয় কাস্টম রম। এটি ২০০+ ফোন মডেলে পোর্ট করা হয়েছে এবং স্টক অ্যান্ড্রয়েড অভিজ্ঞতার চেয়ে ব্যাপক ফিচার রেঞ্জ রয়েছে।
তবে, অনেক ডিভাইসে LineageOS পোর্ট থাকা সত্ত্বেও, আরও অনেক ডিভাইসে নেই। এই কুইক এবং সহজ Appuals গাইডে আমরা দেখাব Windows 10 এনভায়রনমেন্টে LineageOS কীভাবে বিল্ড করবেন। মনে রাখবেন, এটি আপনার ডিভাইসের জন্য অবিলম্বে কম্প্যাটিবল LineageOS ROM বিল্ড করবে না, এটি শুধু অফিশিয়াল Git রিপো থেকে LineageOS বিল্ড করার জন্য Windows 10 এনভায়রনমেন্ট সেটআপ করার গাইড।
আপনাকে Linux কমান্ড টার্মিনাল এবং Android ROM বিল্ড করার সাথে পরিচিত থাকা উচিত—এটি বিগিনার গাইড নয়। যদি কখনো ROM বিল্ড না করেন, Appuals-এর AOSP থেকে কাস্টম রম বিল্ড করার গাইডগুলো দেখুন (লিংক নিচে)।
কাস্টম রম বিল্ডিং এবং অন্যান্য DIY অ্যান্ড্রয়েড টিউটোরিয়ালে আগ্রহ থাকলে এই Appuals গাইডগুলো চেক করুন:
- Android-এ TWRP DIY পোর্ট করার পদ্ধতি
- অ্যান্ড্রয়েড সিস্টেম UI ম্যানুয়ালি থিম করার পদ্ধতি
- AOSP থেকে কাস্টম রম বিল্ড করা | Pt. 2
প্রয়োজনীয়তা:
- Windows 10 (64-bit) (SSD-তে ইনস্টল থাকা রিকমেন্ডেড)
- কমপক্ষে 16GB RAM (কম্পাইলিংে অনেক রিসোর্স লাগে!)
বেসিকলি আমরা Windows Subsystem for 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 libssl-dev libwxgtk3.0-dev libxml2 libxml2-utils lzop m4 openjdk-8-jdk pngcrush repo rsync schedtool squashfs-tools xsltproc zip zlib1g-dev
সোর্স কোডের জন্য নতুন ডিরেক্টরি তৈরি করুন এবং সেখানে নেভিগেট করুন:
mkdir -p ~/android/lineage && cd android/lineage
এখন LineageOS সোর্স রিপো ইনিশিয়ালাইজ করুন:
repo init -u https://github.com/LineageOS/android.git -b lineage-15.1
.repo/local_manifests/roomservice.xml-এ নিচের কোড যোগ করুন (ফাইল না থাকলে তৈরি করুন):
<project name="TheMuppets/proprietary_vendor_your device brand" path="vendor/your device brand" remote="github" />
সোর্স কোড ডাউনলোড করুন:
repo sync
এটি পুর্ণবাচকভাবে অপশনাল, কিন্তু ক্যাশিং অন করা বিল্ড স্পিড বাড়াতে রিকমেন্ডেড—"ccache" দিয়ে করা যায়।
আপনার ~/.bashrc ফাইলে নিচের লাইন যোগ করুন:
Export USE_CCACHE=1
তারপর ccache-এর জন্য সর্বোচ্চ ডিস্ক স্পেস স্পেসিফাই করুন:
Ccache -M 50G
এখানে "50G" আপনার পছন্দ অনুযায়ী বদলান—এটি গিগাবাইটে ক্যাশ alokেশন। এক ডিভাইসের জন্য বিল্ড করলে 25G–50G, একাধিক ডিভাইসের জন্য (যাদের কার্নেল সোর্স শেয়ার করে না) 75–100G ব্যবহার করুন। ccache ব্যবহার করলে বিল্ড টাইাম উল্লেখযোগ্যভাবে কমে যায়।
পরবর্তী, নিচের কমিট চেরিপিক করুন:
source build/envsetup.sh && repopick -t wsl-compile
তারপর ডিভাইস-স্পেসিফিক কোড প্রিপেয়ার করুন:
breakfast your device codename
64-bit bison এবং ijar তৈরি করুন:
make bison && make ijar
BISON_EXEC 64-bit bison রান করার জন্য এবং IJAR_EXEC адап্টেড ijar রান করার জন্য সেট করুন:
export BISON_EXEC=~/android/lineage/out/host/linux-x86/bin/bison export IJAR_EXEC=~/android/lineage/out/host/linux-x86/bin/ijar
(এই কমান্ডগুলো ~/.bashrc-এ যোগ করলে কমান্ড লাইন রিঅপেন করার পর পুনরায় এক্সিকিউট করতে হবে না)
এখন বিল্ড শুরু করুন!
brunch your device codename
ভবিষ্যতে বিল্ড করতে .repo/local_manifests যোগ করা, ccache এনাবল করা, BISON_EXEC এবং адап্টেড IJAR সেট করা दुহারান।
প্রতিবার ডিরেক্টরি ফ্লাশ করলে make bison && make ijar করুন।
শেষ নোট:
- না Windows থেকে Linux ফাইল যোগ/এডিট করুন, ফাইলগুলো bash-এ করাপ্ট হতে পারে। Linux subsystem-এ করুন।
- না mnt யাোজনা করে অন্য ড্রাইভে সোর্স কোড ডাউনলোড করে এই গাইড অনুসরণ করবেন। সোর্স কোড শুধু Linux subsystem-এর ফোল্ডারগুলোর মধ্যে ডাউনলোড করুন!