यह पृष्ठ वर्णन करता है कि कटलफिश डिवाइस पर एंड्रॉइड बूटलोडर सुविधाओं को कैसे बनाया जाए, चलाया जाए और विकसित किया जाए।
एओएसपी स्रोत
एंड्रॉइड बूटलोडर सुविधाओं को विकसित करने के लिए, एंड्रॉइड 11 या उच्चतर के लिए aosp-main
या जेनेरिक सिस्टम इमेज (जीएसआई) शाखाओं में कटलफिश के साथ यू-बूट के कटलफिश कॉन्फ़िगरेशन का उपयोग करें। AOSP में निम्नलिखित स्रोत हैं:
एक बूटलोडर विकसित करें
बूटलोडर सुविधाओं को स्थानीय रूप से बनाने, चलाने और विकसित करने के लिए, इन चरणों का पालन करें:
यू-बूट के एंड्रॉइड फोर्क के लिए मेनिफेस्ट को क्लोन करें:
$ mkdir u-boot-mainline $ cd u-boot-mainline $ repo init -u https://android.googlesource.com/kernel/manifest -b u-boot-mainline $ repo sync -j$(nproc) -q
अपने कटलफिश आर्किटेक्चर के लिए उपयुक्त बूटलोडर लक्ष्य बनाएं। उदाहरण के लिए:
x86_64
$ tools/bazel run //u-boot:crosvm_x86_64_dist
अराजकता64
$ tools/bazel run //u-boot:crosvm_aarch64_dist
परिणामी बूटलोडर बाइनरी (arm64 के लिए
u-boot.bin
और x86_64 के लिएu-boot.rom
)$PATH_TO_REPO/out/u-boot-mainline/dist
में पाया जाता है।बूटलोडर के साथ कटलफिश डिवाइस लॉन्च करें। ऑटोबूट को अक्षम करने और आपको बूटलोडर के साथ इंटरैक्ट करने के लिए
pause_in_bootloader
पैरामीटर शामिल करें।$ launch_cvd \ -bootloader /$PATH/$TO/u-boot-mainline/out/u-boot-mainline/dist/u-boot.rom \ -pause_in_bootloader -console=true
बूटलोडर के साथ इंटरैक्ट करने के लिए, बूटलोडर कंसोल से कनेक्ट करें।
$ screen ~/cuttlefish_runtime/console
जब बूटलोडर इंटरैक्शन पूरा हो जाए, तो कंसोल में
boot
टाइप करके बूट जारी रखें।
विभिन्न कर्नेल के साथ बूटलोडर प्रवाह का परीक्षण करें
विभिन्न कर्नेल या कर्नेल मॉड्यूल के साथ बूटलोडर प्रवाह का परीक्षण करने के लिए, --kernel_path
और --initramfs_path
तर्कों का उपयोग करके लक्ष्य कलाकृतियों (कर्नेल और कर्नेल मॉड्यूल) में पास करें। असेंबलर तर्कों में पारित कलाकृतियों के आधार पर बूट छवियों को दोबारा पैक करता है।
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
अधिक जानकारी के लिए, Android कर्नेल विकसित करें देखें।