इस पेज पर, Cuttlefish डिवाइसों पर Android के कर्नेल बनाने का तरीका बताया गया है.
इस्तेमाल किए जा सकने वाले kernel मेनिफ़ेस्ट
Cuttlefish, मुख्य और AOSP GSI रिलीज़ पर, इन कर्नेल मेनिफ़ेस्ट के साथ काम करता है.
aosp-main
कोcommon-android-mainline
common-android16-6.12
common-android15-6.6
common-android14-6.1
common-android14-5.15
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
Cuttlefish डिवाइसों पर, कर्नेल डेवलपमेंट के लिए कर्नेल सोर्स यहां दिए गए हैं.
kernel/common-android-mainline
kernel/common-android16-6.12
kernel/common-android15-6.6
kernel/common-android14-6.1
kernel/common-android14-5.15
kernel/common-android13-5.15
kernel/common-android13-5.10
Android के कर्नेल डेवलप करना
Cuttlefish डिवाइसों पर कर्नेल डेवलप करने के लिए, यह तरीका अपनाएं:
अपने Cuttlefish डिवाइस के लिए, सही कर्नेल रिपॉज़िटरी मेनिफ़ेस्ट को क्लोन करें और उसमें कोई बदलाव करें.
mkdir common-android-mainline
cd common-android-mainline
repo init -u https://android.googlesource.com/kernel/manifest -b common-android-mainline
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 पर जाकर ज़रूरी आर्टफ़ैक्ट डाउनलोड किए जा सकते हैं. ऐसा करने से, आपको कर्नेल सोर्स डाउनलोड करने और कर्नेल डेवलपमेंट एनवायरमेंट सेट अप करने की ज़रूरत नहीं पड़ेगी.
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