इस पेज पर, 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बिल्ड कॉन्फ़िगरेशन का इस्तेमाल करें. साथ ही,bzImageके बजायImageआर्टफ़ैक्ट का इस्तेमाल करें.cvd create \ -kernel_path=./out/virtual_device_aarch64/dist/Image \ -initramfs_path=./out/virtual_device_aarch64/dist/initramfs.img