Android बूटलोडर की सुविधाएं डेवलप करना

इस पेज पर, वेबसाइट बनाने, चलाने, और उसे डेवलप करने का तरीका बताया गया है Android बूटलोडर की सुविधाएं एक कटलफ़िश डिवाइस पर मौजूद रहेगा.

AOSP सोर्स

Android बूटलोडर की सुविधाएं बनाने के लिए, aosp-main में Cuttlefish के साथ U-boot के Cuttlefish कॉन्फ़िगरेशन का इस्तेमाल करें. इसके अलावा, Android 11 या इसके बाद के वर्शन के लिए, सामान्य सिस्टम इमेज (GSI) शाखाओं पर भी ऐसा किया जा सकता है. AOSP में ये सोर्स शामिल हैं:

बूटलोडर डेवलप करना

स्थानीय तौर पर बूटलोडर की सुविधाएं बनाने, चलाने, और उन्हें डेवलप करने के लिए, यह तरीका अपनाएं:

पर जाकर देखें
  1. 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
  2. अपने 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 में मिलती है.

  3. बूटलोडर से कटलफ़िश डिवाइस लॉन्च करें. यह शामिल करें ऑटोबूट की सुविधा को बंद करने और आपको इंटरैक्ट करने की अनुमति देने के लिए pause_in_bootloader पैरामीटर को भी लोड किया जा सकता है.

    $ launch_cvd \
        -bootloader /$PATH/$TO/u-boot-mainline/out/u-boot-mainline/dist/u-boot.rom \
        -pause_in_bootloader -console=true
  4. बूटलोडर के साथ इंटरैक्ट करने के लिए, बूटलोडर कंसोल से कनेक्ट करें.

    $ screen ~/cuttlefish_runtime/console
  5. बूटलोडर के इंटरैक्शन पूरा होने के बाद, कंसोल में 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 के लिए कर्नेल डेवलप करना लेख पढ़ें.