आप Android Open Source Project (AOSP) बिल्ड और प्रासंगिक हार्डवेयर-विशिष्ट बायनेरिज़ का उपयोग करके Nexus और पिक्सेल उपकरणों के लिए बिल्ड बना सकते हैं। उपलब्ध Android बिल्ड और लक्षित उपकरणों के लिए, स्रोत कोड टैग और बिल्ड देखें।
आप DragonBoard 845c , HiKey 960 , Khadas VIM3 , और Qualcomm Robotics Board RB5 Android सन्दर्भ बोर्ड के लिए बिल्ड भी बना सकते हैं, जो गैर-मोबाइल घटक विक्रेताओं को विकसित करने और ड्राइवरों को Android रिलीज़ में पोर्ट करने में मदद करने के लिए डिज़ाइन किए गए हैं। एक संदर्भ बोर्ड का उपयोग अपग्रेड प्रयासों को आसान बना सकता है, नए Android उपकरणों के लिए बाजार में समय कम कर सकता है, संगत घटकों की एक विस्तृत श्रृंखला से चुनने के लिए ODM/OEM को सक्षम करके डिवाइस की लागत कम कर सकता है, और घटक आपूर्तिकर्ताओं के बीच नवाचार की गति को बढ़ा सकता है।
Google DragonBoard 845c , HiKey 960 , Khadas VIM3 और Qualcomm Robotics Board RB5 Android संदर्भ बोर्डों का समर्थन करता है। एओएसपी इन बोर्डों के लिए कर्नेल स्रोत और बोर्ड समर्थन प्रदान करता है, इसलिए डेवलपर्स परिधीय ड्राइवरों को आसानी से बना और डिबग कर सकते हैं, कर्नेल विकास कर सकते हैं, और कम ओईएम बाधाओं के साथ अन्य कार्य कर सकते हैं।
ड्रैगनबोर्ड 845 सी
DragonBoard 845c RB3 प्लेटफॉर्म का हिस्सा है और 96boards.org पर उपलब्ध है।
चित्र 1. ड्रैगनबोर्ड 845c
उपयोक्ता स्थान का संकलन
DragonBoard 845c पर Android को डाउनलोड करने और बनाने के लिए निम्न आदेशों का उपयोग करें।
Android स्रोत ट्री डाउनलोड करें:
repo init -u https://android.googlesource.com/platform/manifest -b master
repo sync -j8
वर्तमान विक्रेता पैकेज डाउनलोड करें:
./device/linaro/dragonboard/fetch-vendor-package.sh
एओएसपी बनाएं:
. ./build/envsetup.sh
lunch db845c-userdebug
make -j24
स्थानीय छवियों को स्थापित करना
फास्टबूट मोड में बूट डीबी 845 सी।
निम्नलिखित आदेश चलाएँ:
./device/linaro/dragonboard/installer/db845c/flash-all-aosp.sh
यदि आवश्यक हो, तो आप USB फ्लैशिंग मोड में db845c को बूट करने के बाद निम्न स्क्रिप्ट चलाकर QDL बोर्ड रिकवरी कर सकते हैं ( DragonBoard Recovery देखें):
./device/linaro/dragonboard/installer/db845c/recovery.sh
कर्नेल का निर्माण
DragonBoard db845c Android Generic Kernel Image (GKI) कर्नेल कलाकृतियाँ बनाने के लिए:
कर्नेल स्रोत को क्लोन करने और 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
tools/bazel run //common:db845c_dist -- --dist_dir=$DIST_DIR
${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 के साथ डिवाइस को फ्लैश करें ( कंपाइलिंग यूजरस्पेस देखें)।
GKI कर्नेल का परीक्षण करें:
नवीनतम Kernel_aarch64 बिल्ड देखें।
कलाकृतियों में, छवि डाउनलोड करें।
छवि को गज़िप करें
gzip Image
इसे
${AOSP_TOPDIR}/device/linaro/dragonboard-kernel/android-mainline/
में कॉपी करें।AOSP का पुनर्निर्माण करें और डिवाइस को नए boot.img के साथ फ्लैश करें ( कंपाइलिंग यूजरस्पेस देखें)।
HiKey 960 बोर्ड
HiKey 960 बोर्ड Amazon और Lenovator पर उपलब्ध है।
चित्र 2. लेनोवेटर द्वारा HiKey 960 बोर्ड
उपयोक्ता स्थान का संकलन
HiKey 960 बोर्ड पर Android को डाउनलोड करने और बनाने के लिए निम्न कमांड का उपयोग करें।
Android स्रोत ट्री डाउनलोड करें
repo init -u https://android.googlesource.com/platform/manifest -b master
repo sync -j8
वर्तमान विक्रेता पैकेज डाउनलोड करें
./device/linaro/hikey/fetch-vendor-package.sh
बनाना
. ./build/envsetup.sh
lunch hikey960-userdebug
make -j24
स्थानीय छवियों को स्थापित करना
स्विच 3 को चालू करके फास्टबूट मोड का चयन करें (विवरण के लिए, HiKey 960 प्रारंभ करना मार्गदर्शिका देखें)।
बोर्ड को शक्ति दें।
फ्लैश स्थानीय छवियां:
./device/linaro/hikey/installer/hikey960/flash-all.sh
स्विच 3 को बंद करें और बोर्ड को चक्रित करें।
कर्नेल का निर्माण
HiKey960 Android GKI कर्नेल कलाकृतियाँ बनाने के लिए:
निम्नलिखित आदेश चलाएँ:
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
${AOSP_TOPDIR}device/linaro/hikey-kernel/hikey960/5.4/
में सभी ऑब्जेक्ट हटाएं, फिर कर्नेल बिल्डout/android12-5.4/dist/
से${AOSP_TOPDIR}/device/linaro/hikey-kernel/hikey960/5.4/
डीटीबी को जोड़ना:
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
एंड्रॉइड यूजरस्पेस बनाएं
lunch hikey960-userdebug
make TARGET_KERNEL_USE=5.4 HIKEY_USES_GKI=true -j24
और डिवाइस को नए कर्नेल के साथ फ्लैश करें ( कंपाइलिंग यूजरस्पेस देखें)
जेनेरिक कर्नेल इमेज (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=
का उपयोग करके कर्नेल को निर्यात करता है। यह पैरामीटर Android 11 और उससे पहले के कर्नेल कमांड लाइन के माध्यम से और Android 12 में बूटकॉन्फिग के माध्यम से कर्नेल संस्करण 5.10 या अधिक के साथ पारित किया गया है।
मॉनिटर रिज़ॉल्यूशन सेट करना
device/linaro/hikey/hikey960/BoardConfig.mk
पैरामीटर BOARD_KERNEL_CMDLINE
संपादित करें और video
सेटिंग कॉन्फ़िगर करें। उदाहरण के लिए, 24 इंच के मॉनिटर की सेटिंग video=HDMI-A-1:1280x800@60
है।
VIM3 और VIM3L बोर्ड
खदास द्वारा Vim3 और VIM3L बोर्ड खदास वेबसाइट पर उपलब्ध हैं
चित्र 3. खदास द्वारा VIM3 बोर्ड
उपयोक्ता स्थान का संकलन
VIM3 बोर्ड पर Android डाउनलोड करने और बनाने के लिए निम्न कमांड का उपयोग करें।
Android स्रोत ट्री डाउनलोड करें:
repo init -u https://android.googlesource.com/platform/manifest -b master
repo sync -j8
बनाना:
. ./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
प्रारंभिक छवियों को स्थापित करना
VIM3 फ्लैशिंग निर्देशों के बाद बोर्ड को USB अपग्रेड मोड में रखें।
प्रारंभिक छवियों को 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
काम नहीं करता है, तो इसके बजाय बोर्ड को फ्लैश करने के लिए pyamlboot टूल का उपयोग करें।
यू-बूट बूट और फास्टबूट चलाने के बाद, निम्नलिखित कमांड चलाएँ:
fastboot oem format
fastboot flash bootloader u-boot_kvim3_noab.bin
fastboot erase bootenv
fastboot reboot bootloader
पावर केबल को अनप्लग और प्लग करें।
बोर्ड को अभी-अभी फ्लैश किए गए यू-बूट में बूट करना चाहिए और फास्टबूट मोड में प्रवेश करना चाहिए।
चमकती छवियां
फास्टबूट मोड दर्ज करें (निर्देशों के लिए पिछला अनुभाग देखें)।
सभी 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 के लिए कर्नेल आर्टिफैक्ट बनाने के लिए:
अतिरिक्त टूलचेन डाउनलोड करें:
git clone https://android.googlesource.com/platform/prebuilts/gas/linux-x86 ${AOSP_TOPDIR}/prebuilts/gas/linux-x86
कर्नेल स्रोत को क्लोन करें:
# 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
बिल्ड चर निर्यात करें:
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
कर्नेल बनाएँ:
cd hikey-linaro
make meson_defconfig
make DTC_FLAGS="-@" -j24
कर्नेल को कंप्रेस करें और 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
एंड्रॉइड यूजरस्पेस का पुनर्निर्माण करें ( कंपाइलिंग यूजरस्पेस देखें) और नया कर्नेल फ्लैश करें ( चमकती छवियां देखें)।
क्वालकॉम रोबोटिक्स बोर्ड RB5
रोबोटिक्स बोर्ड RB5 96boards.org पर उपलब्ध है।
चित्र 4. रोबोटिक्स बोर्ड RB5
उपयोक्ता स्थान का संकलन
RB5 पर Android डाउनलोड करने और बनाने के लिए निम्न कमांड का उपयोग करें।
Android स्रोत ट्री डाउनलोड करें:
repo init -u https://android.googlesource.com/platform/manifest -b master
repo sync -j8
वर्तमान विक्रेता पैकेज डाउनलोड करें:
./device/linaro/dragonboard/fetch-vendor-package.sh
एओएसपी बनाएं:
. ./build/envsetup.sh
lunch rb5-userdebug
make -j24
स्थानीय छवियों को स्थापित करना
फास्टबूट मोड में बूट RB5।
निम्नलिखित आदेश चलाएँ:
./device/linaro/dragonboard/installer/rb5/flash-all-aosp.sh
यदि आवश्यक हो, तो आप USB फ्लैशिंग मोड में RB5 बूट करने के बाद निम्न स्क्रिप्ट चलाकर QDL बोर्ड रिकवरी कर सकते हैं ( RB5 रिकवरी देखें):
./device/linaro/dragonboard/installer/rb5/recovery.sh
कर्नेल का निर्माण
RB5 Android जेनेरिक कर्नेल छवि (GKI) कर्नेल कलाकृतियाँ बनाने के लिए:
कर्नेल स्रोत को क्लोन करने के लिए निम्नलिखित कमांड चलाएँ और 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
${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 के साथ डिवाइस को फ्लैश करें ( कंपाइलिंग यूजरस्पेस देखें)।
GKI कर्नेल का परीक्षण करें:
- नवीनतम Kernel_aarch64 बिल्ड देखें।
- कलाकृतियों में, छवि डाउनलोड करें।
छवि को गज़िप करें
gzip Image
इसे
${AOSP_TOPDIR}/device/linaro/dragonboard-kernel/android-mainline/
में कॉपी करें।AOSP का पुनर्निर्माण करें और डिवाइस को नए boot.img के साथ फ्लैश करें ( कंपाइलिंग यूजरस्पेस देखें)।