1 votes

Comment puis-je pointer la version `rtl8188eus` vers la source du noyau Android clonée au lieu de celle du système ?

Je m'efforce de construire le https://github.com/aircrack-ng/rtl8188eus pilote pour android afin de pouvoir le charger dans l'émulateur.

Jusqu'à présent, j'ai installé à la fois le sdk android, ensuite j'ai installé ndk

sdkmanager "ndk;27.0.11902837"

Et j'ai exporté les variables environnementales suivantes:

export ANDROID_SDK_ROOT=/home/pcmagas/Android
export ANDROID_HOME=/home/pcmagas/Android

export PATH=$PATH:$ANDROID_SDK_ROOT/cmdline-tools/latest/bin
export PATH=$PATH:$ANDROID_SDK_ROOT/emulator

export NDK_HOME=$ANDROID_HOME/ndk/27.0.11902837
export PATH=$PATH:$NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin

Ensuite j'ai cloné le noyau commun:

git clone https://android.googlesource.com/kernel/common.git
cd common
git checkout android14-6.1-2024-04_r11

Ensuite j'ai cloné la source du pilote:

cd ~
git clone https://github.com/aircrack-ng/rtl8188eus.git
cd rtl8188eus
 make ARCH=x86_64 CROSS_COMPILE=x86_64-linux-android- CC=$TOOLCHAIN/x86_64-linux-android25-clang 

Mais j'obtiens l'erreur:

make[1]: Entering directory '/usr/src/linux-headers-5.15.0-112-generic'
arch/x86/Makefile:142: CONFIG_X86_X32 enabled but no binutils support
make[1]: /x86_64-linux-android25-clang:      
warning: the compiler differs from the one used to build the kernel
  The kernel was built by: gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
  You are using:           
/bin/sh: 1: /x86_64-linux-android25-clang: not found
(standard_in) 1: syntax error
  CC [M]  /home/pcmagas/dlink-decompile/rtl8188eus/core/rtw_cmd.o
/bin/sh: 1: /x86_64-linux-android25-clang: not found
make[2]: *** [scripts/Makefile.build:297: /home/pcmagas/dlink-decompile/rtl8188eus/core/rtw_cmd.o] Error 127
make[1]: *** [Makefile:1911: /home/pcmagas/dlink-decompile/rtl8188eus] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-5.15.0-112-generic'
make: *** [Makefile:2065: modules] Error 2

Comme vous pouvez le voir, il est dirigé vers le noyau linuxc et non vers le noyau android. Comment puis-je corriger cela?

0voto

Jusqu'à présent, j'ai construit mon kernel de cette manière :

mkdir -p /home/pcmagas/rtlwifiand
cd /home/pcmagas/rtlwifiand

git clone https://android.googlesource.com/kernel/common.git
cd common
git checkout android14-6.1-2024-04_r11

make clean
make mrproper
make ARCH=x86_64 defconfig
make menuconfig
make scripts
make

cd ..

git clone https://github.com/aircrack-ng/rtl8188eus.git
cd rtl8188eus

make -C /home/pcmagas/rtlwifiand/common ARCH=x86_64 KSRC=~/rtlwifiand/common KDIR=~/rtlwifiand/common

Cela a abouti à la création d'un fichier nommé bzImage à l'emplacement ~/rtlwifiand/common/arch/x86/boot/bzImage. Je suppose que c'est le noyau final avec le pilote.

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