इस पेज पर, Cuttlefish डिवाइसों पर Android कर्नल डेवलप करने का तरीका बताया गया है.
साथ काम करने वाले कर्नल मेनिफ़ेस्ट
Cuttlefish, Android की नई रिलीज़ ब्रांच और AOSP GSI रिलीज़ पर इन कर्नल मेनिफ़ेस्ट के साथ काम करता है.
android-latest-release
कोcommon-android-mainline
android-15.0.0_r36
को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