इस पेज में Cuttleफ़िश डिवाइस पर Android बूटलोडर की सुविधाएं बनाने, चलाने, और उन्हें डेवलप करने का तरीका बताया गया है.
AOSP सोर्स
Android बूटलोडर की सुविधाएं बनाने के लिए, aosp-main
में Cuttlefish के साथ U-boot के Cuttlefish कॉन्फ़िगरेशन का इस्तेमाल करें. इसके अलावा, Android 11 या इसके बाद के वर्शन के लिए, सामान्य सिस्टम इमेज (GSI) शाखाओं पर भी ऐसा किया जा सकता है. एओएसपी के सोर्स यहां दिए गए हैं:
U-boot (
u-boot-mainline
) के Cuttlefish कॉन्फ़िगरेशन के लिए मेनिफ़ेस्ट.
बूटलोडर डेवलप करना
स्थानीय तौर पर बूटलोडर की सुविधाएं बनाने, चलाने, और उन्हें डेवलप करने के लिए, यह तरीका अपनाएं:
U-boot के Android फ़ॉर्क के लिए मेनिफ़ेस्ट को क्लोन करें:
$ 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
अपने Cuttlefish आर्किटेक्चर के हिसाब से, बूटलोडर टारगेट बनाएं. उदाहरण के लिए:
x86_64
$ tools/bazel run //u-boot:crosvm_x86_64_dist
aarch64
$ 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
में मिलती है.बूटलोडर के साथ Cuttlefish डिवाइस लॉन्च करें. ऑटोबूट की सुविधा बंद करने और बूटलोडर के साथ इंटरैक्ट करने के लिए,
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 create \
-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 के लिए कर्नेल डेवलप करना लेख पढ़ें.