Android कर्नेल डेवलप करना

इस पेज में Cuttle Fish डिवाइसों पर Android कर्नेल डेवलप करने का तरीका बताया गया है.

इस्तेमाल किए जा सकने वाले कर्नेल मेनिफ़ेस्ट

कटलफ़िश, इन कर्नेल मेनिफ़ेस्ट के साथ काम करती है मुख्य और AOSP जीएसआई रिलीज़.

  • aosp-main को
    • common-android14-6.1
    • common-android14-5.15
    • common-android-mainline
  • aosp-android13-gsi को
    • common-android13-5.15
    • common-android13-5.10
  • aosp-android12-gsi को
    • common-android12-5.10
    • common-android12-5.4
    • common-android-4.19-stable
  • aosp-android11-gsi को
    • common-android11-5.4
    • common-android-4.19-stable
    • common-android-4.14-stable

कटलफ़िश डिवाइस पर कर्नेल के डेवलपमेंट के लिए, कर्नेल सोर्स नीचे दिए गए हैं.

Android कर्नेल डेवलप करना

कटलफ़िश डिवाइस पर कर्नेल डेवलप करने के लिए, यह तरीका अपनाएं:

  1. अपने कटलफ़िश डिवाइस के लिए, सही कर्नेल रेपो मेनिफ़ेस्ट का क्लोन बनाएं और कोई भी बदलाव करें.

    mkdir common-android14-6.1
    cd common-android14-6.1
    repo init -u https://android.googlesource.com/kernel/manifest -b common-android14-6.1
    repo sync -c -j$(nproc) -q
    
  2. कर्नेल और रैमडिस्क बनाएं. ज़्यादा जानकारी के लिए, यह देखें वर्चुअल डिवाइस के लिए वेंडर मॉड्यूल बनाना.

    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 पर देखी जा सकती हैं.

  3. कर्नेल और रैमडिस्क को कटलफ़िश के साथ लॉन्च करें.

    cvd start \
        -kernel_path=/$PATH/$TO/common-android14-6.1/out/android14-6.1/dist/bzImage \
        -initramfs_path=/$PATH/$TO/common-android14-6.1/out/android14-6.1/dist/initramfs.img
    

    अगर कोई गैर-GKI कर्नेल (ऐसे किसी भी कर्नेल के तौर पर) को लॉन्च किया जा रहा है जो 4.19), -initramfs_path आर्ग्युमेंट को छोड़ दें.

    अगर कटलफ़िश के a Arc64 वर्शन पर कर्नेल लॉन्च किया जा रहा है, तो aarch64 कॉन्फ़िगरेशन बनाता है और इसके बजाय Image आर्टफ़ैक्ट का इस्तेमाल करता है bzImage.

    cvd start \
        -kernel_path=/$PATH/$TO/common-android14-6.1/out/android14-5.15/dist/Image \
        -initramfs_path=/$PATH/$TO/common-android14-6.1/out/android14-5.15/dist/initramfs.img