এই নির্দেশিকাটি বিকাশের জন্য একটি কাস্টম পিক্সেল কার্নেল কিভাবে ডাউনলোড, কম্পাইল এবং ফ্ল্যাশ করতে হয় সে সম্পর্কে ধাপে ধাপে নির্দেশনা প্রদান করে। GKI এর কারণে, এখন Android প্লাটফর্ম বিল্ড থেকে স্বাধীনভাবে কার্নেল আপডেট করা সম্ভব। এই ধাপগুলি শুধুমাত্র Pixel 6 এবং পরবর্তী ডিভাইসগুলির জন্য প্রযোজ্য। এর কারণ হল Pixel 5 এবং আগের ডিভাইসগুলির জন্য vendor
পার্টিশনে কার্নেল মডিউলগুলি আপডেট করতে হবে, যা সেই ডিভাইসগুলির জন্য Android প্ল্যাটফর্ম বিল্ডের উপর নির্ভরশীল। GKI সমর্থিত পিক্সেল কার্নেল শাখা সারণীতে প্রতিটি GKI সমর্থিত পিক্সেল ডিভাইসের জন্য কার্নেল রিপোজিটরি ম্যানিফেস্ট শাখা অন্তর্ভুক্ত রয়েছে। Pixel 5 এবং পূর্ববর্তী কার্নেল ম্যানিফেস্ট শাখাগুলির জন্য লিগ্যাসি পিক্সেল কার্নেল বিভাগটি পড়ুন।
GKI পিক্সেল কার্নেল শাখা সমর্থিত
ডিভাইস | AOSP গাছে বাইনারি পথ | সংগ্রহশালা শাখা | GKI কার্নেল |
---|---|---|---|
Pixel 9 Pro ফোল্ড (ধূমকেতু) | device/google/comet-kernel | android-gs-comet-6.1-android14-qpr3-d1 | android14-6.1 |
পিক্সেল 9 (টোকে) Pixel 9 Pro (caiman) Pixel 9 Pro XL (কোমোডো) | device/google/caimito-kernel | android-gs-caimito-6.1-android14-qpr3-d1 | android14-6.1 |
Pixel 8a (আকিটা) | device/google/akita-kernel | android-gs-akita-5.15-android14-qpr3 | android14-5.15 |
পিক্সেল 8 (শিবা) Pixel 8 Pro (হুস্কি) | device/google/shusky-kernel | android-gs-shusky-5.15-android14-qpr3 | android14-5.15 |
পিক্সেল ফোল্ড (ফেলিক্স) | device/google/felix-kernel | android-gs-felix-5.10-android14-qpr3 | android13-5.10 |
পিক্সেল ট্যাবলেট (ট্যাংগোরপ্রো) | device/google/tangorpro-kernel | android-gs-tangorpro-5.10-android14-qpr3 | android13-5.10 |
Pixel 7a (lynx) | device/google/lynx-kernel | android-gs-lynx-5.10-android14-qpr3 | android13-5.10 |
Pixel 7 (প্যান্থার) Pixel 7 Pro (চিতা) | device/google/pantah-kernel | android-gs-pantah-5.10-android14-qpr3 | android13-5.10 |
Pixel 6a (ব্লুজে) | device/google/bluejay-kernel | android-gs-bluejay-5.10-android14-qpr3 | android13-5.10 |
পিক্সেল 6 (ওরিওল) Pixel 6 Pro (Raven) | device/google/raviole-kernel | android-gs-raviole-5.10-android14-qpr3 | android13-5.10 |
ফ্যাক্টরি সমর্থিত কার্নেলগুলি ছাড়াও, পিক্সেল 6 এবং 6 প্রো ডিভাইসগুলি GKI বিকাশের উদ্দেশ্যে সমর্থিত পিক্সেল 6/6 প্রো অ্যান্ড্রয়েড প্ল্যাটফর্ম এবং কার্নেল কম্বিনেশন টেবিলের অন্তর্ভুক্ত Android সাধারণ কার্নেল শাখাগুলিতে সমর্থিত। অ্যান্ড্রয়েড প্ল্যাটফর্ম HALs এবং Pixel কার্নেল ড্রাইভারের মধ্যে বিক্রেতার UAPI পার্থক্যের কারণে, টেবিলটি সমর্থিত বিল্ড সমন্বয় প্রদান করে।
সমর্থিত Pixel 6/6 Pro Android প্ল্যাটফর্ম এবং কার্নেল সমন্বয়
পিক্সেল কার্নেল ম্যানিফেস্ট শাখা | GKI শাখা | অ্যান্ড্রয়েড প্ল্যাটফর্ম বিল্ড | aosp-main সমর্থন? |
---|---|---|---|
gs-android-gs-raviole-mainline | অ্যান্ড্রয়েড-মেইনলাইন ( v6.8 ) | AP1A.240505.004 (11583682) | হ্যাঁ |
android14-gs-pixel-6.1 | android14-6.1 | AP1A.240505.004 (11583682) | হ্যাঁ |
gs-android13-gs-raviole-5.15 | android13-5.15 | TQ1A.230205.002 (9471150) | না |
আপনার Pixel ডিভাইস প্রস্তুত করুন
নিম্নলিখিত ফ্লো চার্ট Pixel 6 এবং পরবর্তী ডিভাইসে কার্নেল আপডেট করার প্রক্রিয়া বর্ণনা করে:
flash.android.com ব্যবহার করে ডিভাইস ফ্ল্যাশ করুন
- flash.android.com- এ নেভিগেট করুন
- সমর্থিত অ্যান্ড্রয়েড প্ল্যাটফর্ম এবং কার্নেল সমন্বয়ের উপর ভিত্তি করে অ্যান্ড্রয়েড বিল্ড বেছে নিন।
- নিম্নলিখিত বিকল্পগুলি নির্বাচন করুন:
- ডিভাইস মুছা
- ফোর্স ফ্ল্যাশ সব পার্টিশন
- যাচাইকরণ অক্ষম করুন
- ডিভাইসটি ফ্ল্যাশ করতে ইনস্টল বিল্ড বোতাম টিপুন।
কার্নেল ডাউনলোড এবং কম্পাইল করুন
কার্নেল সংগ্রহস্থল সিঙ্ক করুন
কার্নেল সোর্স কোড ডাউনলোড করতে নিম্নলিখিত কমান্ডগুলি চালান। Pixel KERNEL_MANIFEST_BRANCH এর জন্য সমর্থিত Pixel 6/6 Pro Android প্ল্যাটফর্ম এবং কার্নেল কম্বিনেশন টেবিল দেখুন।
repo init -u https://android.googlesource.com/kernel/manifest -b KERNEL_MANIFEST_BRANCH
repo sync -c --no-tags
বিক্রেতা রামডিস্ক আপডেট করুন
ডিভাইসে ফ্ল্যাশ করা অ্যান্ড্রয়েড প্ল্যাটফর্ম বিল্ডের সাথে মেলে কার্নেল রিপোজিটরিতে vendor_ramdisk- DEVICE .img
ফাইলটি আপডেট করুন। আপনি অনুসরণ করতে পারেন কয়েকটি বিকল্প আছে.
অপশন 1) Pixel ফ্যাক্টরি ইমেজ থেকে ভেন্ডর রামডিস্ক ইমেজ বের করুন।
https://developers.google.com/android/images থেকে আপনার ডিভাইসের জন্য সমর্থিত ফ্যাক্টরি ছবি ডাউনলোড করুন।
vendor_boot.img
বের করুন:- নিম্নলিখিত কমান্ডগুলি উদাহরণ হিসাবে Pixel 6 Pro AP1A.240505.004 ব্যবহার করে৷ আপনার ডাউনলোড করা ফ্যাক্টরি ইমেজের ফাইলের নাম দিয়ে জিপফাইল নামটি প্রতিস্থাপন করুন।
unzip raven-ap1a.240505.004-factory-9d783215.zip
cd raven-ap1a.240505.004
unzip image-raven-ap1a.240505.004.zip vendor_boot.img
ভেন্ডর রামডিস্ক পেতে
vendor_boot.img
আনপ্যাক করুন।KERNEL_REPO_ROOT/tools/mkbootimg/unpack_bootimg.py --boot_img vendor_boot.img \ --out vendor_boot_out
Pixel কার্নেল সংগ্রহস্থলে নিষ্কাশিত
vendor-ramdisk-by-name/ramdisk_
ফাইলটি কপি করুন।ডিভাইস DEVICE_RAMDISK_PATH পিক্সেল 6 (ওরিওল)
Pixel 6 Pro (Raven)prebuilts/boot-artifacts/ramdisks/vendor_ramdisk- oriole.img Pixel 6a (ব্লুজে) private/devices/google/bluejay/vendor_ramdisk- bluejay.img cp vendor_boot_out/vendor-ramdisk-by-name/ramdisk_ \ KERNEL_REPO_ROOT/DEVICE_RAMDISK_PATH
বিকল্প 2) স্থানীয়ভাবে নির্মিত অ্যান্ড্রয়েড প্ল্যাটফর্ম সংগ্রহস্থল থেকে vendor_ramdisk
কপি করুন।
ডিভাইস | DEVICE_RAMDISK_PATH |
---|---|
পিক্সেল 6 (ওরিওল) Pixel 6 Pro (Raven) | prebuilts/boot-artifacts/ramdisks/vendor_ramdisk- oriole.img |
Pixel 6a (ব্লুজে) | private/devices/google/bluejay/vendor_ramdisk- bluejay.img |
cp ANDROID_ROOT/out/target/product/DEVICE/vendor_ramdisk-debug.img \
KERNEL_REPO_ROOT/DEVICE_RAMDISK_PATH/vendor_ramdisk-DEVICE.img
কার্নেল কম্পাইল করুন (ক্লিফ)
অ্যান্ড্রয়েড 13-এ, build.sh
স্ক্রিপ্টটি ক্লিফ নামে একটি নতুন কার্নেল বিল্ড সিস্টেম দিয়ে প্রতিস্থাপিত হয়েছিল। android13-5.15
এবং তার পরের ডিভাইসগুলির জন্য, Kleaf ব্যবহার করে কার্নেল তৈরি করা উচিত।
android14
এবং পরবর্তী কার্নেলের সাথে Pixel 6 এবং 6 Pro-এর জন্য Kleaf build কমান্ডটি চালান:
tools/bazel run --config=fast --config=stamp //private/google-modules/soc/gs:slider_dist
android13-5.15
কার্নেল সহ Pixel 6 এবং 6 Pro-এর জন্য Kleaf build কমান্ডটি চালান:
tools/bazel run --lto=thin //gs/google-modules/soc-modules:slider_dist
অন্যান্য সমস্ত পিক্সেল কার্নেলের জন্য, KERNEL_REPO_ROOT
এ পাওয়া build_ DEVICE .sh
স্ক্রিপ্টটি চালান। বেশিরভাগ ক্ষেত্রে, DEVICE
এমন কোড নাম হতে হবে যা GKI সমর্থিত পিক্সেল কার্নেল শাখার টেবিলের AOSP ট্রি কলামের বাইনারি পাথে ব্যবহৃত কোড নামের সাথে মেলে। এটি একটি ডিভাইসের কোড নাম হতে পারে, যেমন "akita" (Pixel 8a), অথবা একটি কোড নাম যা একটি কার্নেল ভাগ করে এমন সম্পর্কিত ডিভাইসগুলির একটি গ্রুপকে প্রতিনিধিত্ব করে, যেমন "caimito" যার অর্থ Pixel 9 (tokay), Pixel 9 Pro (caiman), এবং Pixel 9 Pro XL (komodo)। android14
এবং তার আগের রিলিজের জন্য, Pixel 6 এবং Pixel 6 Pro-এর জন্য build_slider.sh
এবং Pixel 7 এবং Pixel 7 Pro-এর জন্য build_cloudripper.sh
ব্যবহার করুন।
উদাহরণস্বরূপ, android-gs-raviole-5.10-android14
শাখায় Pixel 6 এর জন্য কার্নেল তৈরি করতে, আপনি কমান্ডটি চালাবেন:
build_slider.sh
ডিফল্টরূপে, build_ DEVICE .sh
স্ক্রিপ্টগুলি বিল্ড প্রক্রিয়ার গতি বাড়াতে পূর্বনির্মাণ করা GKI কার্নেল ব্যবহার করে। আপনি যদি মূল কার্নেল পরিবর্তন করতে চান, তাহলে স্থানীয় উৎস থেকে কার্নেল তৈরি করতে পরিবেশ পরিবর্তনশীল BUILD_AOSP_KERNEL=1
সেট করুন।
কার্নেল বিল্ড সিস্টেম এবং কীভাবে বিল্ডটি কাস্টমাইজ করা যায় সে সম্পর্কে আরও বিশদ বিবরণের জন্য, ক্লিফ - বিল্ডিং অ্যান্ড্রয়েড কার্নেল সহ Bazel দেখুন।
কার্নেলের ছবি ফ্ল্যাশ করুন
দ্রষ্টব্য: আপনি যদি যাচাইকরণ নিষ্ক্রিয় না করে থাকেন তবে কাস্টম কার্নেলটি ফ্ল্যাশ করার আগে আপনাকে এটি করতে হবে। এটি করার জন্য এখানে আদেশ রয়েছে:fastboot oem disable-verification
সতর্কতা: যদি আপনি একটি প্ল্যাটফর্ম বিল্ডের উপরে একটি কাস্টম কার্নেল ফ্ল্যাশ করছেন, তাহলে নতুন কার্নেলের সাথে সম্পর্কিত নিরাপত্তা প্যাচ লেভেল (SPL) ডাউনগ্রেড থাকলে আপনাকে আপনার ডিভাইসটি মুছতে হতে পারে। এই প্রক্রিয়াটি আপনার সমস্ত ব্যক্তিগত ডেটা মুছে দেয়। মোছার আগে আপনার ডেটা ব্যাক আপ করতে ভুলবেন না।fastboot -w
কার্নেল ইমেজ ফ্ল্যাশ করতে, আপনার ডিভাইসের জন্য তালিকাভুক্ত প্রতিটি কার্নেল পার্টিশনের জন্য fastboot flash
কমান্ড চালান। গতিশীল পার্টিশনের জন্য, আপনাকে ফ্ল্যাশ করার আগে fastbootd
মোডে রিবুট করতে হবে।
ডিভাইস | কার্নেল পার্টিশন |
---|---|
পিক্সেল 6 (ওরিওল) Pixel 6 Pro (Raven) Pixel 6a (ব্লুজে) | বুট dtbo বিক্রেতা_বুট vendor_dlkm (ডাইনামিক পার্টিশন) |
পিক্সেল 8 (শিবা) Pixel 8 Pro (হুস্কি) পিক্সেল ফোল্ড (ফেলিক্স) পিক্সেল ট্যাবলেট (ট্যাংগোরপ্রো) Pixel 7a (lynx) Pixel 7 (প্যান্থার) Pixel 7 Pro (চিতা) | বুট dtbo vendor_kernel_boot vendor_dlkm (ডাইনামিক পার্টিশন) system_dlkm (ডাইনামিক পার্টিশন) |
android-mainline
পিক্সেল 6-এর জন্য ফ্ল্যাশিং কমান্ডগুলি এখানে রয়েছে:
fastboot flash boot out/slider/dist/boot.img
fastboot flash dtbo out/slider/dist/dtbo.img
fastboot flash vendor_boot out/slider/dist/vendor_boot.img
fastboot reboot fastboot
fastboot flash vendor_dlkm out/slider/dist/vendor_dlkm.img
কার্নেলের ছবিগুলি DIST_DIR এ পাওয়া যাবে।
কার্নেল শাখা | DIST_DIR |
---|---|
v5.10 | out/mixed/dist |
v5.15 এবং পরবর্তী | out/ DEVICE /dist |
দ্রষ্টব্য: আপনার যদি সিরিয়াল ডঙ্গল থাকে এবং সিরিয়াল লগগুলি সক্ষম করতে চান তবে কমান্ডটি হল:হোস্ট থেকে সংযোগ করার জন্য উদাহরণ কমান্ড: fastboot oem uart enable
fastboot oem uart config 3000000
screen -fn /dev/ttyUSB* 3000000
কারখানার ছবি পুনরুদ্ধার করুন
আপনার ডিভাইসটিকে কারখানার চিত্রগুলিতে ফিরিয়ে আনতে, আপনি flash.android.com ব্যবহার করতে পারেন৷
লিগ্যাসি পিক্সেল কার্নেল
একটি রেফারেন্স হিসাবে, লিগ্যাসি Pixel কার্নেল শাখা টেবিল Pixel 5 এবং পূর্ববর্তী ডিভাইসগুলির জন্য কার্নেল সংগ্রহস্থলের শাখা প্রদান করে। এগুলি নন-GKI সমর্থিত ডিভাইস।
লিগ্যাসি পিক্সেল কার্নেল শাখা
ডিভাইস | AOSP গাছে বাইনারি পথ | সংগ্রহশালা শাখা |
---|---|---|
Pixel 5a (বারবেট) Pixel 4a (5G) (ব্রম্বল) Pixel 5 (redfin) | device/google/redbull-kernel | android-msm-redbull-4.19-android14-qpr3 |
Pixel 4a (সানফিশ) | device/google/sunfish-kernel | android-msm-sunfish-4.14-android13-qpr3 |
পিক্সেল 4 (শিখা) Pixel 4 XL (প্রবাল) | device/google/coral-kernel | android-msm-coral-4.14-android13 |
Pixel 3a (সারগো) Pixel 3a XL (বোনিটো) | device/google/bonito-kernel | android-msm-bonito-4.9-android12L |
Pixel 3 (ব্লুলাইন) Pixel 3 XL (ক্রসশ্যাচ) | device/google/crosshatch-kernel | android-msm-crosshatch-4.9-android12 |
পিক্সেল 2 (ওয়ালে) Pixel 2 XL (টাইমেন) | device/google/wahoo-kernel | android-msm-wahoo-4.4-android10-qpr3 |
পিক্সেল (সেলফিশ) পিক্সেল এক্সএল (মার্লিন) | device/google/marlin-kernel | android-msm-marlin-3.18-pie-qpr2 |