2 votes

Construction du noyau AOSP Android 11 pour l'écran tactile de Pixel3a/Sargo ne fonctionne pas

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).

1voto

Kevin Points 161

J'aimerais savoir comment un tel problème peut encore exister, mais voici la solution :

Dossier : aosp-kernel \private\msm -google \arch\arm64\configs\bonito_defconfig

Changez-les en "y" et reconstruire :

CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_CORE_v27=m CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_RMI_DEV_v27=m CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_FW_UPDATE_v27=m CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_TEST_REPORTING_v27=m

Vous trouverez également ici : https://github.com/facebookexperimental/ExtendedAndroidTools/issues/3

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X