इस गाइड में सिलसिलेवार निर्देश दिए गए हैं कि किसी रिपोर्ट को डाउनलोड, कंपाइल, और
डेवलपमेंट के लिए कस्टम Pixel कर्नेल फ़्लैश करें. जीकेआई की वजह से, अब ऐसा किया जा सकता है
कर्नेल को Android प्लैटफ़ॉर्म बिल्ड से अलग अपडेट कर सकता है. यह तरीका अपनाया गया है:
यह सुविधा सिर्फ़ Pixel 6 और उसके बाद के वर्शन वाले डिवाइसों पर लागू होती है. ऐसा इसलिए है, क्योंकि Pixel 5 और
पहले के डिवाइसों को vendor
पार्टिशन में कर्नेल मॉड्यूल अपडेट करने की ज़रूरत होती है,
यह Android प्लैटफ़ॉर्म के बिल्ड पर निर्भर करता है. जीकेआई
काम करने वाली Pixel Kernel ब्रांच की टेबल में,
kernel रिपॉज़िटरी मेनिफ़ेस्ट ब्रांच में बदल सकते हैं. इससे संदर्भ लें
Pixel 5 और Pixel 5 के लिए, लेगसी Pixel Kernel सेक्शन
पहले की कर्नेल मेनिफ़ेस्ट ब्रांच.
GKI के साथ काम करने वाली Pixel kernel ब्रांच
डिवाइस | एओएसपी ट्री में बाइनरी पाथ | डेटा स्टोर करने की जगह की शाखाएं | जीकेआई कर्नेल |
---|---|---|---|
Pixel 9 Pro Fold (कॉमेट) | device/google/comet-kernel | android-gs-comet-6.1-android14-qpr3-d1 | Android14-6.1 |
Pixel 9 (टोके)
Pixel 9 Pro (केमैन)
Pixel 9 Pro XL (Kkomod) | device/google/caamito-kernel | android-gs-caimeto-6.1-android14-qpr3-d1 | Android14-6.1
Pixel 8a (akita) | device/google/akita-kernel | android-gs-akita-5.15-android14-qpr3 | Android14-5.15
Pixel 8 (शिबा)
Pixel 8 Pro (हस्की) | device/google/shusky-kernel | android-gs-shusky-5.15-android14-qpr3 | Android14-5.15
Pixel Fold (फ़ेलिक्स) | device/google/फ़ेलिक्स-कर्नेल | android-gs-gelix-5.10-android14-qpr3 | Android13-5.10
Pixel Tablet (टैंगोरप्रो) | 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 (bluejay) | device/google/bluejay-kernel | android-gs-bluejay-5.10-android14-qpr3 | Android13-5.10
Pixel 6 (ऑरिओल)
Pixel 6 Pro (रेवन) | device/google/raviole-kernel | android-gs-raviole-5.10-android14-qpr3 | Android13-5.10
फ़ैक्ट्री में काम करने वाले कर्नेल के अलावा, Pixel 6 और 6 Pro डिवाइस यह सुविधा सिर्फ़ Android Common कर्नेल पर, GKI (जीकेआई) डेवलपमेंट के लिए काम करती है Pixel 6/6 Pro Android Platform और Kernel में शामिल ब्रांच कॉम्बिनेशन टेबल. वेंडर के यूएपीआई में अंतर की वजह से Android प्लैटफ़ॉर्म HAL और Pixel कर्नेल ड्राइवर के बीच की टेबल में, इस्तेमाल किए जा सकने वाले बिल्ड कॉम्बिनेशन इस्तेमाल किए जा सकते हैं.
साथ काम करने वाले Pixel 6/6 Pro Android प्लैटफ़ॉर्म और कर्नेल के कॉम्बिनेशन
Pixel कर्नेल मेनिफ़ेस्ट ब्रांच | जीकेआई ब्रांच | Android प्लैटफ़ॉर्म बिल्ड | aosp-main की सहायता टीम से संपर्क करना है? |
---|---|---|---|
gs-android-gs-raviole-mainline | android-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 पर जाएं
- साथ काम करने वाले Android प्लैटफ़ॉर्म और Kernel के हिसाब से Android बिल्ड चुनें कॉम्बिनेशन.
- नीचे दिए गए विकल्पों को चुनें:
- डिवाइस वाइप करें
- सभी पार्टीशन को फ़्लैश के लिए चालू करें
- पुष्टि करने की सुविधा बंद करें
- डिवाइस को फ़्लैश करने के लिए बिल्ड इंस्टॉल करें बटन दबाएं.
कर्नेल को डाउनलोड और कंपाइल करें
कर्नेल डेटा स्टोर करने की जगह को सिंक करें
कर्नेल सोर्स कोड डाउनलोड करने के लिए, नीचे दिए गए कमांड चलाएं. देखें Pixel 6/6 Pro के साथ काम करने वाला Android प्लैटफ़ॉर्म और Kernel Pixel के लिए कॉम्बिनेशन टेबल KERNEL_MANIFEST_BRANCH.
repo init -u https://android.googlesource.com/kernel/manifest -b KERNEL_MANIFEST_BRANCH
repo sync -c --no-tags
वेंडर के रैम को अपडेट करें
इसमें फ़ाइल vendor_ramdisk-DEVICE.img
को अपडेट करें:
कर्नेल डेटा संग्रह स्थान
डिवाइस. यहां कुछ विकल्प दिए गए हैं, जिन्हें फ़ॉलो किया जा सकता है.
पहला विकल्प) Pixel की फ़ैक्ट्री इमेज से वेंडर रैमडिस्क की इमेज एक्सट्रैक्ट करें.
अपने डिवाइस के लिए समर्थित फैक्ट्री इमेज यहां से डाउनलोड करें https://developers.google.com/android/images पर जाकर Google Play डेवलपर ने साइन इन किया है.
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
निकाली गई
vendor-ramdisk-by-name/ramdisk_
फ़ाइल को Pixel kernel रिपॉज़िटरी में कॉपी करें.डिवाइस DEVICE_RAMDISK_PATH Pixel 6 (ऑरिओल)
Pixel 6 Pro (रेवन)पहले से बनाया गया/बूट-आर्टफ़ैक्ट/ramdisks/vendor_ramdisk-oriole.img Pixel 6a (bluejay) private/devices/google/bluejay/vendor_ramdisk-bluejay.img cp vendor_boot_out/vendor-ramdisk-by-name/ramdisk_ \ KERNEL_REPO_ROOT/DEVICE_RAMDISK_PATH
दूसरा विकल्प) स्थानीय रूप से बनाए गए Android प्लैटफ़ॉर्म का डेटा स्टोर करने की जगह से vendor_ramdisk
को कॉपी करें.
डिवाइस | DEVICE_RAMDISK_PATH |
---|---|
Pixel 6 (ऑरिओल) Pixel 6 Pro (रेवन) |
पहले से बनाया गया/बूट-आर्टफ़ैक्ट/ramdisks/vendor_ramdisk-oriole.img |
Pixel 6a (bluejay) | 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
कर्नेल (Kleaf) को कंपाइल करें
Android 13 में, build.sh
स्क्रिप्ट को नए कर्नेल बिल्ड सिस्टम से बदल दिया गया है
इसे क्लीफ़ कहते हैं. android13-5.15
और उसके बाद के वर्शन का इस्तेमाल करने वाले डिवाइसों के लिए,
कर्नेल को Kleaf का इस्तेमाल करके बनाया जाना चाहिए.
android14
और उसके बाद के वर्शन के कर्नेल के साथ Pixel 6 और 6 Pro के लिए, Kleaf बिल्ड चलाएं
आदेश:
tools/bazel run --config=fast --config=stamp //private/google-modules/soc/gs:slider_dist
android13-5.15
कर्नेल के साथ Pixel 6 और 6 Pro के लिए, Kleaf बिल्ड इस्तेमाल करें
आदेश:
tools/bazel run --lto=thin //gs/google-modules/soc-modules:slider_dist
अन्य सभी Pixel कर्नेल के लिए, KERNEL_REPO_ROOT पर मिली build_DEVICE.sh
स्क्रिप्ट चलाएं. इसके लिए
उदाहरण के लिए, ब्रांच पर Pixel 6 के लिए कर्नेल बनाने के लिए
android-gs-raviole-5.10-android14
, आपको यह निर्देश मिलेगा:
build_slider.sh
डिफ़ॉल्ट रूप से, build_DEVICE.sh
स्क्रिप्ट
बनाने की प्रोसेस को तेज़ करने के लिए, पहले से बनाया गया GKI कर्नेल. अगर आप
कोर कर्नेल, इसके बाद एनवायरमेंट वैरिएबल BUILD_AOSP_KERNEL=1
को बनाने के लिए सेट करें
के बजाय स्थानीय स्रोतों से कर्नेल का उपयोग करें.
कर्नेल बिल्ड सिस्टम के बारे में ज़्यादा जानकारी और बिल्ड को पसंद के मुताबिक बनाने के लिए, Kleaf - Basel की मदद से Android कर्नेल बनाना देखें.
कर्नेल इमेज को फ़्लैश करें
ध्यान दें: अगर आपने पुष्टि करने की सुविधा बंद नहीं की है, तो आपको ऐसा करना होगा कस्टम कर्नेल को फ़्लैश करने से पहले. ऐसा करने के लिए यहां निर्देश दिया गया है:अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया हैfastboot oem disable-verification
चेतावनी: यदि आप अपने Chrome के ऊपर कस्टम कर्नेल फ़्लैश कर रहे हैं तो आपको अपना डिवाइस वाइप करना पड़ सकता है. अगर सुरक्षा से जुड़ी कोई समस्या है नए कर्नेल के साथ जुड़ा पैच लेवल (SPL) डाउनग्रेड करें. इस प्रोसेस के दौरान, आपका सारा निजी डेटा हमेशा के लिए मिट जाता है. अपने डेटा का बैक अप ज़रूर लें साफ़ करने से पहले.fastboot -w
कर्नेल इमेज को फ़्लैश करने के लिए, हर कर्नेल के लिए fastboot flash
निर्देश चलाएं
आपके डिवाइस के लिए सूची में मौजूद पार्टिशन. डाइनैमिक पार्टिशन के लिए, आपको फिर से चालू करना होगा
फ़्लैश करने से पहले fastbootd
मोड में.
डिवाइस | कर्नेल पार्टिशन |
---|---|
Pixel 6
(ऑरिओल) Pixel 6 Pro (रेवेन) Pixel 6a (ब्लूजे) |
बूट dtbo vendor_boot vendor_dlkm (डाइनैमिक पार्टीशन) |
Pixel 8 (शिबा) Pixel 8 Pro (हस्की) Pixel फ़ोल्ड (फ़ेलिक्स) Pixel टैबलेट (टैंगोरप्रो) Pixel 7a (lynx) Pixel 7 (पैन्थर) Pixel 7 Pro (चीता) |
बूट dtbo vendor_kernel_boot vendor_dlkm (डाइनैमिक पार्टीशन) system_dlkm (डाइनैमिक पार्टीशन) |
android-mainline
पर Pixel 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 |
---|---|
वर्शन 5.10 | out/mixed/dist |
v5.15 और उसके बाद के वर्शन | out/DEVICE/dist |
ध्यान दें: अगर आपके पास सीरियल डोंगल है और आपको इसकी सुविधा चालू करनी है, तो लॉग रिकॉर्ड करता है, तो आदेश यह होता है:होस्ट से कनेक्ट करने के लिए दिए गए निर्देश का उदाहरण:fastboot oem uart enable
fastboot oem uart config 3000000
screen -fn /dev/ttyUSB* 3000000
फ़ैक्ट्री इमेज वापस लाएं
अपने डिवाइस को वापस फ़ैक्ट्री इमेज में लाने के लिए, इसका इस्तेमाल किया जा सकता है फ़्लैश.android.com.
लेगसी Pixel कर्नेल
रेफ़रंस के तौर पर, Pixel के लेगसी कर्नेल ब्रांच टेबल में, Pixel 5 और इससे पहले के वर्शन के लिए कर्नेल डेटा स्टोर करने की जगह की ब्रांच दी गई हैं. इन डिवाइसों पर GKI (जीकेआई) के साथ काम नहीं करता.
लेगसी Pixel कर्नेल ब्रांच
डिवाइस | एओएसपी ट्री में बाइनरी पाथ | डेटा स्टोर करने की जगह की शाखाएं |
---|---|---|
Pixel 5a (barbet) Pixel 4a (5G) (ब्रैंबल) Pixel 5 (रेडफ़िन) |
device/google/redbull-कर्नेल | android-msm-redbull-4.19-android14-qpr3 |
Pixel 4a (सनफ़िश) | डिवाइस/google/सनफ़िश-कर्नेल | android-msm-sunफ़िश-4.14-android13-qpr3 |
Pixel 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 (क्रॉसहैच) |
डिवाइस/google/क्रॉसहैच-कर्नेल | android-msm-क्रॉसहैच-4.9-android12 |
Pixel 2 (वॉलआई) Pixel 2 XL (टाइमन) |
device/google/wahoo-कर्नेल | android-msm-wahoo-4.4-android10-qpr3 |
Pixel (सेलफ़िश) Pixel XL (मार्लिन) |
डिवाइस/google/marlin-kernel | android-msm-marlin-3.18-pie-qpr2 |