यह पृष्ठ बताता है कि कटलफ़िश उपकरणों पर एंड्रॉइड कर्नेल कैसे विकसित किया जाए।
समर्थित कर्नेल मैनिफ़ेस्ट
कटलफिश मुख्य और AOSP GSI रिलीज़ पर निम्नलिखित कर्नेल मैनिफ़ेस्ट का समर्थन करता है।
-
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
-
कटलफिश उपकरणों पर कर्नेल विकास के लिए कर्नेल स्रोत निम्नलिखित हैं।
-
kernel/common-android14-6.1
-
kernel/common-android14-5.15
-
kernel/common-android13-5.15
-
kernel/common-android13-5.10
-
kernel/common-android-mainline
एंड्रॉइड कर्नेल विकसित करें
कटलफिश उपकरणों पर कर्नेल विकसित करने के लिए, इन चरणों का पालन करें:
अपने कटलफिश डिवाइस के लिए उपयुक्त कर्नेल रेपो मेनिफेस्ट को क्लोन करें और कोई भी बदलाव करें।
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
कर्नेल और रैमडिस्क बनाएँ। अधिक जानकारी के लिए, वर्चुअल डिवाइस के लिए विक्रेता मॉड्यूल बनाना देखें।
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 पर डाउनलोड कर सकते हैं।
कटलफिश के साथ कर्नेल और रैमडिस्क लॉन्च करें।
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
यदि गैर-जीकेआई कर्नेल (4.19 पर या उससे कम कुछ भी) लॉन्च कर रहे हैं, तो
-initramfs_path
तर्क को छोड़ दें।यदि आप कटलफिश के aarch64 संस्करण पर कर्नेल लॉन्च कर रहे हैं, तो
aarch64
बिल्ड कॉन्फ़िगरेशन का उपयोग करें औरbzImage
के बजायImage
आर्टिफैक्ट का उपयोग करें।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