इस पेज पर, Cuttlefish डिवाइसों पर Android कर्नल डेवलप करने का तरीका बताया गया है.
कर्नल के लिए काम करने वाले मेनिफ़ेस्ट
Cuttlefish, Android के सबसे नए रिलीज़ ब्रांच और AOSP GSI रिलीज़ पर, कर्नल के इन मेनिफ़ेस्ट के साथ काम करता है.
android-latest-release- पर
common-android-mainline
android-15.0.0_r36- पर
common-android16-6.12common-android15-6.6common-android14-6.1common-android14-5.15
aosp-android13-gsi- पर
common-android13-5.15common-android13-5.10
aosp-android12-gsi- पर
common-android12-5.10common-android12-5.4common-android-4.19-stable
aosp-android11-gsi- पर
common-android11-5.4common-android-4.19-stablecommon-android-4.14-stable
यहां Cuttlefish डिवाइसों पर कर्नल डेवलप करने के लिए, कर्नल के सोर्स दिए गए हैं.
kernel/common-android-mainlinekernel/common-android16-6.12kernel/common-android15-6.6kernel/common-android14-6.1kernel/common-android14-5.15kernel/common-android13-5.15kernel/common-android13-5.10
Android कर्नल डेवलप करना
Cuttlefish डिवाइसों पर कर्नल डेवलप करने के लिए, यह तरीका अपनाएं:
अपने Cuttlefish डिवाइस के लिए, कर्नल के सही रेपो मेनिफ़ेस्ट का क्लोन बनाएं और उसमें ज़रूरी बदलाव करें.
mkdir common-android-mainlinecd common-android-mainlinerepo init -u https://android.googlesource.com/kernel/manifest -b common-android-mainlinerepo sync -c -j$(nproc) -qकर्नल और रैमडिस्क बनाएं. ज़्यादा जानकारी के लिए, वर्चुअल डिवाइस के लिए वेंडर मॉड्यूल बनाना लेख पढ़ें.
tools/bazel run //common-modules/virtual-device:virtual_device_x86_64_distअगर
common-android-4.19-stable,common-android-4.14-stableयाcommon-android11-5.4कर्नल मेनिफ़ेस्ट का इस्तेमाल किया जा रहा है, तो यह कमांड चलाएं:BUILD_CONFIG=common/build.config.gki.x86_64 build/build.sh && BUILD_CONFIG=common-modules/virtual-device/build.config.cuttlefish.x86_64 build/build.shकर्नल सोर्स डाउनलोड करने और कर्नल डेवलपमेंट एनवायरमेंट सेट अप करने से बचने के लिए, स्थानीय तौर पर बनाने के बजाय, ci.android.com पर जाकर काम के आर्टफ़ैक्ट डाउनलोड किए जा सकते हैं.
Cuttlefish की मदद से, कर्नल और रैमडिस्क लॉन्च करें.
cvd create \ -kernel_path=./out/virtual_device_x86_64/dist/bzImage \ -initramfs_path=./out/virtual_device_x86_64/dist/initramfs.imgअगर GKI के अलावा किसी और कर्नल (4.19 या उससे कम वर्शन) को लॉन्च किया जा रहा है, तो
-initramfs_pathआर्ग्युमेंट को छोड़ दें.अगर Cuttlefish के aarch64 वर्शन पर कर्नल लॉन्च किया जा रहा है, तो
aarch64बिल्ड कॉन्फ़िगरेशन का इस्तेमाल करें. साथ ही,Imageआर्टफ़ैक्ट का इस्तेमाल करें, न किbzImageका.cvd create \ -kernel_path=./out/virtual_device_aarch64/dist/Image \ -initramfs_path=./out/virtual_device_aarch64/dist/initramfs.img