Vous pouvez créer des builds pour les appareils Nexus et Pixel à l'aide des builds Android Open Source Project (AOSP) et des fichiers binaires spécifiques au matériel. Pour les builds Android disponibles et les appareils ciblés, consultez Balises et builds de code source .
Vous pouvez également créer des builds pour les cartes de référence Android DragonBoard 845c , HiKey 960 , Khadas VIM3 et Qualcomm Robotics Board RB5 , qui sont conçues pour aider les fournisseurs de composants non mobiles à développer et à porter des pilotes vers des versions Android. L'utilisation d'une carte de référence peut faciliter les efforts de mise à niveau, réduire les délais de mise sur le marché des nouveaux appareils Android, réduire les coûts des appareils en permettant aux ODM/OEM de choisir parmi une plus large gamme de composants compatibles et augmenter la vitesse d'innovation parmi les fournisseurs de composants.
Google prend en charge les cartes de référence Android DragonBoard 845c , HiKey 960 , Khadas VIM3 et Qualcomm Robotics Board RB5 . AOSP fournit une prise en charge de la source du noyau et de la carte pour ces cartes, afin que les développeurs puissent facilement créer et déboguer des pilotes de périphériques, effectuer le développement du noyau et effectuer d'autres tâches avec moins d'encombrements OEM.
DragonBoard 845c
La DragonBoard 845c fait partie de la plate-forme RB3 et est disponible sur 96boards.org .
Figure 1. DragonBoard 845c
Compilation de l'espace utilisateur
Utilisez les commandes suivantes pour télécharger et compiler Android sur la DragonBoard 845c.
Téléchargez l'arborescence des sources Android :
repo init -u https://android.googlesource.com/platform/manifest -b master
repo sync -j8
Téléchargez le package fournisseur actuel :
./device/linaro/dragonboard/fetch-vendor-package.sh
Construire AOSP :
. ./build/envsetup.sh
lunch db845c-userdebug
make -j24
Installation d'images locales
Démarrez db845c en mode de démarrage rapide.
Exécutez la commande suivante :
./device/linaro/dragonboard/installer/db845c/flash-all-aosp.sh
Si nécessaire, vous pouvez effectuer une récupération de la carte QDL en exécutant le script suivant après avoir démarré db845c en mode flash USB (voir DragonBoard Recovery ):
./device/linaro/dragonboard/installer/db845c/recovery.sh
Construire le noyau
Pour créer les artefacts de noyau DragonBoard db845c Android Generic Kernel Image (GKI) :
Exécutez les commandes suivantes pour cloner la source du noyau et les chaînes d'outils Android prédéfinies et créer des scripts.
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
Supprimez tous les objets dans
${AOSP_TOPDIR}device/linaro/dragonboard-kernel/android-mainline/
puis copiez les artefacts de construction deout/android-mainline/dist/
vers${AOSP_TOPDIR}/device/linaro/dragonboard-kernel/android-mainline/
puis reconstruisez l'espace utilisateur avec :make TARGET_KERNEL_USE=mainline -j24
et flashez le périphérique avec boot.img et super.img résultants (voir Compilation de l'espace utilisateur).
Testez le noyau GKI :
Affichez la dernière version de kernel_aarch64 .
Dans les artefacts , téléchargez Image.
Gzippez l'image
gzip Image
Copiez-le dans
${AOSP_TOPDIR}/device/linaro/dragonboard-kernel/android-mainline/
.Reconstruisez AOSP et flashez le périphérique avec le nouveau boot.img (voir Compilation de l'espace utilisateur).
Cartes HiKey 960
La carte HiKey 960 est disponible sur Amazon et Lenovator .
Figure 2. Carte HiKey 960 de Lenovator
Compilation de l'espace utilisateur
Utilisez les commandes suivantes pour télécharger et créer Android sur la carte HiKey 960.
Télécharger l'arborescence des sources Android
repo init -u https://android.googlesource.com/platform/manifest -b master
repo sync -j8
Télécharger le package fournisseur actuel
./device/linaro/hikey/fetch-vendor-package.sh
Construire
. ./build/envsetup.sh
lunch hikey960-userdebug
make -j24
Installation d'images locales
Sélectionnez le mode de démarrage rapide en activant le commutateur 3 (pour plus de détails, reportez-vous au guide de démarrage du HiKey 960 ).
Alimentez la carte.
Flasher les images locales :
./device/linaro/hikey/installer/hikey960/flash-all.sh
Éteignez l'interrupteur 3 et redémarrez la carte.
Construire le noyau
Pour créer les artefacts du noyau HiKey960 Android GKI :
Exécutez les commandes suivantes :
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
Supprimez tous les objets dans
${AOSP_TOPDIR}device/linaro/hikey-kernel/hikey960/5.4/
puis copiez les artefacts de construction du noyau build inout/android12-5.4/dist/
vers${AOSP_TOPDIR}/device/linaro/hikey-kernel/hikey960/5.4/
Concaténez le DTB :
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
Créer un espace utilisateur Android
lunch hikey960-userdebug
make TARGET_KERNEL_USE=5.4 HIKEY_USES_GKI=true -j24
et flashez le périphérique avec le nouveau noyau (voir Compilation de l'espace utilisateur)
Tester le noyau Generic Kernel Image (GKI)
Affichez la dernière version de kernel_aarch64 .
Dans les artefacts , téléchargez le fichier
Image
et copiez-le dans${AOSP_TOPDIR}/device/linaro/hikey-kernel/hikey960/5.4/
.Compresser l'image et concaténer le 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
- Construisez et flashez le périphérique avec le nouveau noyau (voir Compilation de l'espace utilisateur).
Définition du numéro de série
Pour définir le numéro de série aléatoire, exécutez :
fastboot getvar nve:SN@16\_DIGIT\_NUMBER
Bootloader exporte le numéro de série généré vers le noyau en utilisant androidboot.serialno=
. Ce paramètre est transmis via la ligne de commande du noyau dans Android 11 et versions antérieures, et via bootconfig dans Android 12 avec la version 5.10 ou supérieure du noyau.
Réglage de la résolution du moniteur
Modifiez le device/linaro/hikey/hikey960/BoardConfig.mk
BOARD_KERNEL_CMDLINE
et configurez le paramètre video
. Par exemple, le paramètre pour un moniteur 24 pouces est video=HDMI-A-1:1280x800@60
.
Cartes VIM3 et VIM3L
Les cartes Vim3 et VIM3L de Khadas sont disponibles sur le site de Khadas
Figure 3. Carte VIM3 par Khadas
Compilation de l'espace utilisateur
Utilisez les commandes suivantes pour télécharger et compiler Android sur la carte VIM3.
Téléchargez l'arborescence des sources Android :
repo init -u https://android.googlesource.com/platform/manifest -b master
repo sync -j8
Construire:
. ./build/envsetup.sh
lunch yukawa-userdebug
make TARGET_USE_TABLET_LAUNCHER=true TARGET_VIM3=true -j24
Par défaut, Android est construit avec le noyau 5.10. Pour utiliser les précompilations du noyau 5.4 :
make TARGET_USE_TABLET_LAUNCHER=true TARGET_VIM3=true TARGET_KERNEL_USE=5.4 -j24
Pour VIM3L, utilisez :
make TARGET_USE_TABLET_LAUNCHER=true TARGET_VIM3L=true -j24
Installation des images initiales
Mettez la carte en mode de mise à niveau USB en suivant les instructions de clignotement VIM3 .
Flasher les images initiales vers la 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
- Si vous rencontrez des problèmes d'autorisation, reportez-vous à la section des règles udev pour ajouter les règles USB appropriées.
- Si les
tools/update
ne fonctionnent pas, utilisez l' outil pyamlboot pour flasher la carte à la place.
Une fois U-Boot démarré et exécuté fastboot, exécutez les commandes suivantes :
fastboot oem format
fastboot flash bootloader u-boot_kvim3_noab.bin
fastboot erase bootenv
fastboot reboot bootloader
Débranchez et branchez le câble d'alimentation.
La carte doit démarrer dans le U-boot qui vient d'être flashé et entrer en mode de démarrage rapide.
Images clignotantes
Entrez en mode de démarrage rapide (voir la section précédente pour les instructions).
Flashez toutes les images 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
Construire le noyau
Pour compiler les artefacts du noyau pour VIM3 ou VIM3L :
Téléchargez des chaînes d'outils supplémentaires :
git clone https://android.googlesource.com/platform/prebuilts/gas/linux-x86 ${AOSP_TOPDIR}/prebuilts/gas/linux-x86
Clonez la source du noyau :
# 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
Exporter les variables de compilation :
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
Compilez le noyau :
cd hikey-linaro
make meson_defconfig
make DTC_FLAGS="-@" -j24
Compressez le noyau et copiez build_artifacts dans
${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
Reconstruisez l'espace utilisateur Android (voir Compilation de l'espace utilisateur ) et flashez le nouveau noyau (voir Flasher les images ).
Carte robotique Qualcomm RB5
La carte robotique RB5 est disponible sur 96boards.org .
Figure 4. Carte robotique RB5
Compilation de l'espace utilisateur
Utilisez les commandes suivantes pour télécharger et créer Android sur le RB5.
Téléchargez l'arborescence des sources Android :
repo init -u https://android.googlesource.com/platform/manifest -b master
repo sync -j8
Téléchargez le package fournisseur actuel :
./device/linaro/dragonboard/fetch-vendor-package.sh
Construire AOSP :
. ./build/envsetup.sh
lunch rb5-userdebug
make -j24
Installation d'images locales
Démarrez RB5 en mode de démarrage rapide.
Exécutez la commande suivante :
./device/linaro/dragonboard/installer/rb5/flash-all-aosp.sh
Si nécessaire, vous pouvez effectuer une récupération de la carte QDL en exécutant le script suivant après avoir démarré RB5 en mode flash USB (voir RB5 Recovery ):
./device/linaro/dragonboard/installer/rb5/recovery.sh
Construire le noyau
Pour créer les artefacts de noyau RB5 Android Generic Kernel Image (GKI) :
Exécutez les commandes suivantes pour cloner la source du noyau et les chaînes d'outils Android prédéfinies et les scripts de génération :
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
Supprimez tous les objets dans
${AOSP_TOPDIR}device/linaro/dragonboard-kernel/android-mainline/
, puis copiez les artefacts de construction deout/android-mainline/dist/
vers${AOSP_TOPDIR}/device/linaro/dragonboard-kernel/android-mainline/
, puis reconstruisez l'espace utilisateur avec :make TARGET_KERNEL_USE=mainline -j24
et flashez le périphérique avec boot.img et super.img résultants (voir Compilation de l'espace utilisateur).
Testez le noyau GKI :
- Affichez la dernière version de kernel_aarch64 .
- Dans les artefacts , téléchargez Image.
Gzippez l'image
gzip Image
Copiez-le dans
${AOSP_TOPDIR}/device/linaro/dragonboard-kernel/android-mainline/
.Reconstruisez AOSP et flashez le périphérique avec le nouveau boot.img (voir Compilation de l'espace utilisateur).