इस पेज पर, 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_distcommon-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