संदर्भ बोर्डों का उपयोग करना

आप Android ओपन सोर्स प्रोजेक्ट (AOSP) बिल्ड और संबंधित हार्डवेयर-विशिष्ट बायनेरिज़ का उपयोग करके Nexus और Pixel डिवाइस के लिए बिल्ड बना सकते हैं। उपलब्ध Android बिल्ड और लक्षित डिवाइस के लिए, स्रोत कोड टैग और बिल्ड देखें।

आप DragonBoard 845c , HiKey 960 , Khadas VIM3 , और Qualcomm रोबोटिक्स बोर्ड RB5 Android संदर्भ बोर्ड के लिए बिल्ड भी बना सकते हैं, जो गैर-मोबाइल घटक विक्रेताओं को विकसित करने और Android रिलीज़ के लिए ड्राइवरों को पोर्ट करने में मदद करने के लिए डिज़ाइन किए गए हैं। एक संदर्भ बोर्ड का उपयोग करने से अपग्रेड प्रयासों को आसान बनाया जा सकता है, नए एंड्रॉइड डिवाइसों के लिए बाजार में समय कम हो सकता है, ओडीएम/ओईएम को संगत घटकों की एक विस्तृत श्रृंखला से चुनने के लिए डिवाइस की लागत कम हो सकती है, और घटक आपूर्तिकर्ताओं के बीच नवाचार की गति में वृद्धि हो सकती है।

Google DragonBoard 845c , HiKey 960 , Khadas VIM3 और क्वालकॉम रोबोटिक्स बोर्ड RB5 Android संदर्भ बोर्डों का समर्थन करता है। एओएसपी इन बोर्डों के लिए कर्नेल स्रोत और बोर्ड समर्थन प्रदान करता है, इसलिए डेवलपर्स आसानी से परिधीय ड्राइवर बना सकते हैं और डिबग कर सकते हैं, कर्नेल विकास कर सकते हैं, और कम ओईएम भार के साथ अन्य कार्य कर सकते हैं।

ड्रैगनबोर्ड 845सी

DragonBoard 845c RB3 प्लेटफॉर्म का हिस्सा है और 96boards.org से उपलब्ध है।

ड्रैगनबोर्ड छवि

चित्र 1. ड्रैगनबोर्ड 845c

उपयोगकर्ता स्थान संकलित करना

DragonBoard 845c पर Android डाउनलोड करने और बनाने के लिए निम्न कमांड का उपयोग करें।

  1. Android स्रोत ट्री डाउनलोड करें:

    repo init -u https://android.googlesource.com/platform/manifest -b master
    repo sync -j8
    
  2. वर्तमान विक्रेता पैकेज डाउनलोड करें:

    ./device/linaro/dragonboard/fetch-vendor-package.sh
    
  3. एओएसपी बनाएं:

    . ./build/envsetup.sh
    lunch db845c-userdebug
    make -j24
    

स्थानीय छवियों को स्थापित करना

  1. db845c को फास्टबूट मोड में बूट करें।

  2. निम्न आदेश चलाएँ:

    ./device/linaro/dragonboard/installer/db845c/flash-all-aosp.sh
    

यदि आवश्यक हो, तो आप USB फ्लैशिंग मोड में db845c को बूट करने के बाद निम्न स्क्रिप्ट चलाकर QDL बोर्ड रिकवरी कर सकते हैं (देखें DragonBoard Recovery ):

./device/linaro/dragonboard/installer/db845c/recovery.sh

कर्नेल का निर्माण

DragonBoard db845c Android जेनेरिक कर्नेल इमेज (GKI) कर्नेल आर्टिफ़ैक्ट्स बनाने के लिए:

  1. कर्नेल स्रोत को क्लोन करने के लिए निम्नलिखित कमांड चलाएँ और Android टूलचेन को प्रीबिल्ट करें और स्क्रिप्ट बनाएँ।

    mkdir repo-common
    cd repo-common
    repo init -u https://android.googlesource.com/kernel/manifest -b common-android-mainline
    repo sync -j8 -c
    rm -rf out
    BUILD_CONFIG=common/build.config.db845c ./build/build.sh
    
  2. ${AOSP_TOPDIR}device/linaro/dragonboard-kernel/android-mainline/ में सभी ऑब्जेक्ट हटाएं और फिर out/android-mainline/dist/ से ${AOSP_TOPDIR}/device/linaro/dragonboard-kernel/android-mainline/ में बिल्ड कलाकृतियों को कॉपी करें ${AOSP_TOPDIR}/device/linaro/dragonboard-kernel/android-mainline/ फिर इसके साथ उपयोगकर्ता स्थान का पुनर्निर्माण करें:

    make TARGET_KERNEL_USE=mainline -j24
    

    और परिणामी boot.img और super.img के साथ डिवाइस को फ्लैश करें (यूज़रस्पेस का संकलन देखें)।

  3. GKI कर्नेल का परीक्षण करें:

    1. नवीनतम kernel_aarch64 बिल्ड देखें।

    2. कलाकृतियों में, छवि डाउनलोड करें।

    3. छवि को गज़िप करें

      gzip Image
      
    4. इसे ${AOSP_TOPDIR}/device/linaro/dragonboard-kernel/android-mainline/ पर कॉपी करें।

    5. AOSP का पुनर्निर्माण करें और डिवाइस को नए boot.img के साथ फ्लैश करें (देखें कंपाइलिंग यूज़रस्पेस )।

हाईकी 960 बोर्ड

HiKey 960 बोर्ड Amazon और Lenovator पर उपलब्ध है।

हाईके 960 बोर्ड छवि

चित्रा 2. लेनोवो द्वारा हाईके 960 बोर्ड

उपयोगकर्ता स्थान संकलित करना

HiKey 960 बोर्ड पर Android डाउनलोड करने और बनाने के लिए निम्न कमांड का उपयोग करें।

  1. Android स्रोत ट्री डाउनलोड करें

    repo init -u https://android.googlesource.com/platform/manifest -b master
    repo sync -j8
    
  2. वर्तमान विक्रेता पैकेज डाउनलोड करें

    ./device/linaro/hikey/fetch-vendor-package.sh
    
  3. निर्माण

    . ./build/envsetup.sh
    lunch hikey960-userdebug
    make -j24
    

स्थानीय छवियों को स्थापित करना

  1. स्विच 3 चालू करके फास्टबूट मोड का चयन करें (विवरण के लिए, HiKey 960 प्रारंभ करना मार्गदर्शिका देखें)।

  2. बोर्ड को पावर दें।

  3. स्थानीय छवियों को फ्लैश करें:

    ./device/linaro/hikey/installer/hikey960/flash-all.sh
    
  4. स्विच 3 को बंद करें और बोर्ड को पावर साइकिल करें।

कर्नेल का निर्माण

HiKey960 Android GKI कर्नेल कलाकृतियों को बनाने के लिए:

  1. निम्नलिखित कमांड चलाएँ:

    mkdir repo-common
    cd repo-common
    repo init -u https://android.googlesource.com/kernel/manifest -b common-android12-5.4
    repo sync -j8 -c
    rm -rf out
    BUILD_CONFIG=common/build.config.hikey960 build/build.sh
    
  2. ${AOSP_TOPDIR}device/linaro/hikey-kernel/hikey960/5.4/ में सभी ऑब्जेक्ट हटाएं, फिर कर्नेल बिल्ड से out/android12-5.4/dist/ से ${AOSP_TOPDIR}/device/linaro/hikey-kernel/hikey960/5.4/

  3. डीटीबी को जोड़ना:

    cat device/linaro/hikey-kernel/hikey960/5.4/Image.gz
    device/linaro/hikey-kernel/hikey960/5.4/hi3660-hikey960.dtb  > 
    device/linaro/hikey-kernel/hikey960/5.4/Image.gz-dtb
    
  4. Android उपयोगकर्ता स्थान बनाएँ

    lunch hikey960-userdebug
    make TARGET_KERNEL_USE=5.4 HIKEY_USES_GKI=true -j24
    

    और डिवाइस को नए कर्नेल के साथ फ्लैश करें (देखें कंपाइलिंग यूज़रस्पेस )

  5. जेनेरिक कर्नेल इमेज (GKI) कर्नेल का परीक्षण करें

    • नवीनतम kernel_aarch64 बिल्ड देखें।

    • कलाकृतियों में, Image फ़ाइल डाउनलोड करें और इसे ${AOSP_TOPDIR}/device/linaro/hikey-kernel/hikey960/5.4/ पर कॉपी करें।

    • छवि को संपीड़ित करें और DTB को संयोजित करें

    gzip ${AOSP_TOPDIR}/device/linaro/hikey-kernel/hikey960/5.4/Image
    cat ${AOSP_TOPDIR}/device/linaro/hikey-kernel/hikey960/5.4/Image.gz
    ${AOSP_TOPDIR}/device/linaro/hikey-kernel/hikey960/5.4/hi3660-hikey960.dtb  >
    ${AOSP_TOPDIR}/device/linaro/hikey-kernel/hikey960/5.4/Image.gz-dtb
    

सीरियल नंबर सेट करना

यादृच्छिक क्रमांक सेट करने के लिए, चलाएँ:

  fastboot getvar nve:SN@16\_DIGIT\_NUMBER

बूटलोडर androidboot.serialno= का उपयोग करके जेनरेट किए गए सीरियल नंबर को कर्नेल में निर्यात करता है। यह पैरामीटर एंड्रॉइड 11 और उससे कम में कर्नेल कमांड लाइन के माध्यम से और एंड्रॉइड 12 में कर्नेल संस्करण 5.10 या उच्चतर के साथ बूटकॉन्फिग के माध्यम से पारित किया जाता है।

मॉनिटर रिज़ॉल्यूशन सेट करना

device/linaro/hikey/hikey960/BoardConfig.mk पैरामीटर BOARD_KERNEL_CMDLINE संपादित करें और video सेटिंग कॉन्फ़िगर करें। उदाहरण के लिए, 24 इंच के मॉनिटर की सेटिंग video=HDMI-A-1:1280x800@60 है।

VIM3 और VIM3L बोर्ड

खदास द्वारा विम3 और वीआईएम3एल बोर्ड खदास वेबसाइट से उपलब्ध हैं

VIM3 बोर्ड छवि

चित्र 3. खदास द्वारा VIM3 बोर्ड

उपयोगकर्ता स्थान संकलित करना

VIM3 बोर्ड पर Android डाउनलोड करने और बनाने के लिए निम्न कमांड का उपयोग करें।

  1. Android स्रोत ट्री डाउनलोड करें:

    repo init -u https://android.googlesource.com/platform/manifest -b master
    repo sync -j8
    
  2. निर्माण:

    . ./build/envsetup.sh
    lunch yukawa-userdebug
    make TARGET_USE_TABLET_LAUNCHER=true TARGET_VIM3=true -j24
    

    डिफ़ॉल्ट रूप से, Android 5.10 कर्नेल के साथ बनाया गया है। कर्नेल 5.4 प्रीबिल्ट का उपयोग करने के लिए:

    make TARGET_USE_TABLET_LAUNCHER=true TARGET_VIM3=true TARGET_KERNEL_USE=5.4 -j24
    

    VIM3L के लिए, उपयोग करें:

    make TARGET_USE_TABLET_LAUNCHER=true TARGET_VIM3L=true -j24
    

प्रारंभिक छवियों को स्थापित करना

  1. VIM3 फ्लैशिंग निर्देशों का पालन करते हुए बोर्ड को USB अपग्रेड मोड में रखें।

  2. प्रारंभिक छवियों को RAM में फ्लैश करें:

    cd path/to/aosp/device/amlogic/yukawa/bootloader/
    ./tools/update write u-boot_kvim3_noab.bin 0xfffa0000 0x10000
    ./tools/update run 0xfffa0000
    ./tools/update bl2_boot u-boot_kvim3_noab.bin
    
    • यदि आप अनुमति समस्याओं का सामना करते हैं, तो उपयुक्त USB नियम जोड़ने के लिए udev नियम अनुभाग देखें।
    • यदि tools/update काम नहीं करता है, तो इसके बजाय बोर्ड को फ्लैश करने के लिए पाइमलबूट टूल का उपयोग करें।
  3. यू-बूट बूट और फास्टबूट चलाने के बाद, निम्न कमांड चलाएँ:

    fastboot oem format
    fastboot flash bootloader u-boot_kvim3_noab.bin
    fastboot erase bootenv
    fastboot reboot bootloader
    
  4. पावर केबल को अनप्लग और प्लग करें।

बोर्ड को जस्ट-फ्लैश्ड यू-बूट में बूट होना चाहिए और फास्टबूट मोड में प्रवेश करना चाहिए।

चमकती छवियां

  1. फास्टबूट मोड दर्ज करें (निर्देशों के लिए पिछला अनुभाग देखें)।

  2. सभी Android छवियों को फ्लैश करें:

    cd out/target/product/yukawa
    fastboot flash boot boot.img
    fastboot flash super super.img
    fastboot flash cache cache.img
    fastboot flash userdata userdata.img
    fastboot flash recovery recovery.img
    fastboot flash dtbo dtbo-unsigned.img
    fastboot reboot
    

कर्नेल का निर्माण

VIM3 या VIM3L के लिए कर्नेल आर्टिफ़ैक्ट बनाने के लिए:

  1. अतिरिक्त टूलचेन डाउनलोड करें:

    git clone https://android.googlesource.com/platform/prebuilts/gas/linux-x86 ${AOSP_TOPDIR}/prebuilts/gas/linux-x86
    
  2. कर्नेल स्रोत को क्लोन करें:

    # for 4.19
    git clone https://android.googlesource.com/kernel/hikey-linaro -b android-amlogic-bmeson-4.19
    # for 5.4
    git clone https://android.googlesource.com/kernel/hikey-linaro -b android-amlogic-bmeson-5.4
    # for 5.10
    git clone https://android.googlesource.com/kernel/hikey-linaro -b android-amlogic-bmeson-5.10
    # for 5.15
    git clone https://android.googlesource.com/kernel/hikey-linaro -b android-amlogic-bmeson-5.15
    
  3. निर्यात निर्माण चर:

    export PATH=${AOSP_TOPDIR}/prebuilts/clang/host/linux-x86/clang-r445002/bin:$PATH
    export PATH=${AOSP_TOPDIR}/prebuilts/gas/linux-x86:$PATH
    export PATH=${AOSP_TOPDIR}/prebuilts/misc/linux-x86/lz4:$PATH
    export ARCH=arm64
    export CROSS_COMPILE=aarch64-linux-gnu-
    export LLVM=1
    
  4. कर्नेल का निर्माण करें:

    cd hikey-linaro
    make meson_defconfig
    make DTC_FLAGS="-@" -j24
    
  5. कर्नेल को संपीड़ित करें और build_artifacts को ${AOSP_TOPDIR}/device/amlogic/yukawa-kernel में कॉपी करें:

    lz4c -f arch/arm64/boot/Image arch/arm64/boot/Image.lz4
    KERN_VER=4.19 # for 4.19 kernel
    KERN_VER=5.4  # for 5.4 kernel
    KERN_VER=5.10 # for 5.10 kernel
    KERN_VER=5.15 # for 5.15 kernel
    for f in arch/arm64/boot/dts/amlogic/*{g12b-a311d,sm1}-khadas-vim3*.dtb; do
        cp -v -p $f ${AOSP_TOPDIR}/device/amlogic/yukawa-kernel/${KERN_VER}/$(basename $f)
    done
    cp -v -p arch/arm64/boot/Image.lz4 ${AOSP_TOPDIR}/device/amlogic/yukawa-kernel/${KERN_VER}/Image.lz4
    
  6. Android उपयोगकर्ता स्थान का पुनर्निर्माण करें (उपयोगकर्ता स्थान का संकलन देखें) और नए कर्नेल को फ्लैश करें (देखें चमकती छवियां )।

क्वालकॉम रोबोटिक्स बोर्ड RB5

रोबोटिक्स बोर्ड RB5 96boards.org पर उपलब्ध है।

rb5_board

चित्र 4. रोबोटिक्स बोर्ड RB5

उपयोगकर्ता स्थान संकलित करना

RB5 पर Android डाउनलोड करने और बनाने के लिए निम्न कमांड का उपयोग करें।

  1. Android स्रोत ट्री डाउनलोड करें:

    repo init -u https://android.googlesource.com/platform/manifest -b master
    repo sync -j8
    
  2. वर्तमान विक्रेता पैकेज डाउनलोड करें:

    ./device/linaro/dragonboard/fetch-vendor-package.sh
    
  3. एओएसपी बनाएं:

    . ./build/envsetup.sh
    lunch rb5-userdebug
    make -j24
    

स्थानीय छवियों को स्थापित करना

  1. RB5 को फास्टबूट मोड में बूट करें।

  2. निम्न आदेश चलाएँ:

    ./device/linaro/dragonboard/installer/rb5/flash-all-aosp.sh
    

यदि आवश्यक हो, तो आप USB फ्लैशिंग मोड में RB5 को बूट करने के बाद निम्न स्क्रिप्ट चलाकर QDL बोर्ड रिकवरी कर सकते हैं ( RB5 रिकवरी देखें):

   ./device/linaro/dragonboard/installer/rb5/recovery.sh

कर्नेल का निर्माण

आरबी5 एंड्रॉइड जेनेरिक कर्नेल इमेज (जीकेआई) कर्नेल आर्टिफैक्ट बनाने के लिए:

  1. कर्नेल स्रोत को क्लोन करने के लिए निम्नलिखित कमांड चलाएँ और Android टूलचेन को प्रीबिल्ट करें और स्क्रिप्ट बनाएँ:

    mkdir repo-common
    cd repo-common
    repo init -u https://android.googlesource.com/kernel/manifest -b common-android-mainline
    repo sync -j8 -c
    rm -rf out
    BUILD_CONFIG=common/build.config.db845c ./build/build.sh
    
  2. ${AOSP_TOPDIR}device/linaro/dragonboard-kernel/android-mainline/ में सभी ऑब्जेक्ट हटाएं, फिर बिल्ड कलाकृतियों को out/android-mainline/dist/ से ${AOSP_TOPDIR}/device/linaro/dragonboard-kernel/android-mainline/ , और फिर इसके साथ उपयोगकर्ता स्थान का पुनर्निर्माण करें:

    make TARGET_KERNEL_USE=mainline -j24
    

    और परिणामी boot.img और super.img के साथ डिवाइस को फ्लैश करें (यूज़रस्पेस का संकलन देखें)।

  3. GKI कर्नेल का परीक्षण करें:

    1. नवीनतम kernel_aarch64 बिल्ड देखें।
    2. कलाकृतियों में, छवि डाउनलोड करें।
    3. छवि को गज़िप करें

      gzip Image
      
    4. इसे ${AOSP_TOPDIR}/device/linaro/dragonboard-kernel/android-mainline/ पर कॉपी करें।

    5. AOSP का पुनर्निर्माण करें और डिवाइस को नए boot.img के साथ फ्लैश करें (देखें कंपाइलिंग यूज़रस्पेस )।