Intro : J'ai eu un problème pour compiler le fichier, mais j'ai finalement réussi à le compiler et à l'installer sur mon téléphone, comme indiqué ici : La commande mkbootfs n'a pas été trouvée lors de la construction d'un noyau aosp. J'ai suivi le guide ici : https://source.Android.com/setup/build/building-kernels
MAIS... j'ai fait PAS DE CHANGEMENTS dans le noyau car je veux que ça marche d'abord. Mon téléphone démarre bien, mais l'écran tactile ne fonctionne pas ! Est-ce qu'il me manque quelque chose ?
Je le répète si je n'ai pas été clair, j'ai un Android 11 vanille AOSP, je n'ai fait aucun changement, j'ai compilé le noyau, je l'ai flashé sur mon téléphone, et l'écran tactile ne fonctionne pas.
Si je ne parviens pas à résoudre ce problème, je partage au moins un guide complet sur la façon de le construire... sans écran tactile fonctionnel !
Voici exactement ce que j'ai fait :
PREREQS :
Unlock bootloader (not covered here)
Install kernel-build-tools (not included in repo for some reason):
cd ~/
mkdir kernel-build-tools
git clone https://android.googlesource.com/kernel/prebuilts/build-tools
ls -l kernel-build-tools
nano ~/.profile
Add lines to path: (this will work as current user NOT SUDO!!)
# add Kernel tools to path
if [ -d "$HOME/kernel-build-tools/build-tools/linux-x86/bin" ] ; then
PATH="$HOME/kernel-build-tools/build-tools/linux-x86/bin:$PATH"
fi
Refresh environment: source ~/.profile
Install/Setup adb & fastboot
Download adb & fastboot & unzip:
wget https://dl.google.com/android/repository/platform-tools-latest-linux.zip
sudo apt-get install unzip
unzip platform-tools-latest-linux.zip -d ~
nano ~/.profile
Add lines:
# add Android SDK platform tools to path
if [ -d "$HOME/platform-tools" ] ; then
PATH="$HOME/platform-tools:$PATH"
fi
Update environment: source ~/.profile
Install build tools:
sudo apt-get update
sudo apt-get install -y bc bison build-essential ccache curl flex g++-multilib gcc-multilib git gnupg gperf imagemagick lib32ncurses5-dev lib32readline-dev lib32z1-dev liblz4-tool libncurses5 libncurses5-dev libsdl1.2-dev libssl-dev libxml2 libxml2-utils lzop pngcrush rsync schedtool squashfs-tools xsltproc zip zlib1g-dev
Create build directories:
mkdir -p ~/bin
mkdir -p ~/android/lineage
Install Repo cmd:
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
Fix Python:
sudo ln -s /usr/bin/python3 /usr/bin/python
Configure Git:
git config --global user.email "[email]"
git config --global user.name "[user]"
Turn on Caching to speed up build:
export USE_CCACHE=1
export CCACHE_EXEC=/usr/bin/ccache
ccache -M 25G
ÉTAPES :
AOSP REPO:
cd ~/
mkdir aosp && cd aosp
repo init -u https://android.googlesource.com/platform/manifest -b android-11.0.0_r38 --depth=1
repo sync
AOSP KERNEL REPO:
cd ~/
mkdir aosp-kernel && cd aosp-kernel
repo init -u https://android.googlesource.com/kernel/manifest -b android-msm-bonito-4.9-android11-qpr2
repo sync
KERNEL CONFIGS: (I did NOT do this; left here for reference for others)
ls -l ~/android/aosp-kernel/build.config -> [symbolic path to actual file]
->~/android/aosp-kernel/private/msm-google/build.config.bonito_no-cfi
Edit this file:
(orig) POST_DEFCONFIG_CMDS="check_defconfig && update_nocfi_config" ->
POST_DEFCONFIG_CMDS="update_nocfi_config"
*Note: This file indicates the kernel config file: bonito_defconfig
Edit & add to: ~/android/aosp-kernel/private/msm-google/arch/arm64/configs/bonito_defconfig
# Kevin added - IPTables TTL support
CONFIG_NETFILTER_XT_TARGET_HL=y
CONFIG_NETFILTER_XT_TARGET_HMARK=y
[Need a blank carriage return at bottom!]
BUILD Image.lz4 via AOSP Kernel repo: (I tried both)
build/build.sh
-OR: BUILD_CONFIG=./private/msm-google/build.config.bonito_no-cfi build/build.sh (if you want to specify a different build that the default)
CONVERT Image.lz4->boot.img via AOSP repo:
Copy newly created \aosp-kernel\out\android-msm-pixel-4.9\dist\Image.lz4
-> \aosp\device\google\bonito-kernel\
cd ~/android/aosp
source build/envsetup.sh
Setup device:
lunch aosp_sargo (Just lunch to get device list)
Make only boot image:
m bootimage
FLASH TO PHONE:
adb reboot bootloader
fastboot flash boot boot.img
fastboot reboot
0 votes
Uh
android-msm-bonito-4.9-android11-qpr2
Pourquoi utilisez-vous une ancienne balise de noyau (bêta ?)? groups.google.com/g/Android-building/c/aOj7GU1X3JI/m/0 votes
LOL, on dirait que vous êtes sur quelque chose... J'ai utilisé cela parce que je suis nouveau dans ce domaine :) J'ai suivi le guide Google source.Android.com/setup/build/building-kernels & ils disent là d'utiliser Android-msm-bonito-4.9-android11-qpr2 pour le Pixel 3a. Ai-je mal lu ? Y a-t-il un meilleur moyen de trouver cette information ? Où ? Merci beaucoup !
0 votes
Ah site web non mis à jour. Je ne sais pas si c'est votre problème ou non. Quoi qu'il en soit, le groupe Google dont le lien figure dans mon commentaire précédent est probablement la meilleure source (pour la construction de Nexus/Pixel/AOSP - tout autre sujet est hors sujet ici).
0 votes
BTW comment "je" peux dire que c'est un ancien tag beta ? Je ne suis pas sûr de ce que je regarde dans ce lien. Est-ce que vous savez quelle "branche" je dois utiliser, Android-msm-bonito-4.9-android11-qpr3 ? Et est-ce l'URL correcte du dépôt, "repo init -u" ? Android.googlesource.com/kernel/manifeste -b BRANCH" ? Merci !
0 votes
Et on dirait que je n'ai pas la permission de poster là-dessus :(
0 votes
Ce fil est le fil d'annonce des Googlers. En général, les versions n'ont pas de suffixe ou bien 'rX' où X est un nombre. 'qpr3' semble être une version bêta. Je vérifierais également la date de création de la balise, mais cela suppose également que vous connaissez le calendrier des versions d'Android. Vous devrez vous connecter avec un compte GMail (et peut-être avoir besoin de l'approbation de l'administrateur).
0 votes
Sur Android.googlesource.com/kernel/manifest/+refs la branche que j'ai utilisée semble être le dernier Android11 pour bonito (que sargo utilise). Encore une fois, je ne suis pas sûr de savoir où regarder, ou ce que je devrais utiliser, si j'utilise la mauvaise branche...
0 votes
En supposant que vous ayez trouvé cette note similaire mais différente sur le pilote de l'écran tactile : groups.google.com/g/Android-building/c/aOj7GU1X3JI/m/ y groups.google.com/g/Android-building/c/ou630PviyDc
0 votes
Je n'avais pas vu ça - WOW, donc Google, pour ses propres appareils, a un guide pour construire un noyau qui est incorrect, et des pilotes manquants/incorrects connus, depuis un certain temps ?! C'est étonnant. MAIS ils compilent ce code et vendent ces appareils, alors ne partagent-ils pas correctement ? Je veux dire, pourquoi devons-nous télécharger leur repo, puis faire des changements juste pour que ça fonctionne ? Je comprendrais parfaitement s'il s'agissait d'un appareil tiers, mais ce n'est pas le cas. Bizaar.
0 votes
J'ai remarqué ce mauvais pilote au premier démarrage, je n'ai pas pu aller plus loin... qui sait combien d'autres problèmes il y a... y a-t-il un endroit où l'on peut télécharger une source de noyau aosp récente et fonctionnelle pour les appareils Google ? !?
0 votes
J'ai passé beaucoup de temps sur les "solutions" sur ces liens - avec une construction de production il est impossible de monter /system comme RW donc cela semble être une impasse. J'ai aussi dû d'abord faire installer Magisk/Root, et naviguer sur l'écran avec ADB pour permettre l'accès su à partir de adb shell su...quelle perte de temps !!!
0 votes
Je viens de tomber sur ça, ça pourrait être la solution : github.com/facebookexperimental/ExtendedAndroidTools/issues/3 dans : aosp-kernel \private\msm -google \arch\arm64\configs\bonito_def config POURQUOI diable Google ferait-il cela ? !? (et comment ont-ils fait pour que cela fonctionne sur les téléphones en magasin ? !)