Kernel kompilieren und flashen

  • 1 Antworten
  • Letztes Antwortdatum
C

cyclon1978

Fortgeschrittenes Mitglied
521
Anleitung zum Kompilieren des X5 Plus Originalkernels.

"Hard way" - BQ git tags auschecken nach BQ Anleitung.

"Easy way":

neues Basisverzeichnis anlegen und rein gehen.

git clone GitHub - cyclon1978/aquaris-X5-plus kernel
git clone GitHub - bq/wlan_module_qcom: Wlan module source code for bq qcom devices wlan
git clone platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.8 - Git at Google

cd wlan
git checkout 1.5.1_20161117-1500

cd ..

mkdir KERNEL_OUT
mkdir kernel-assembly

make -C kernel O=../KERNEL_OUT ARCH=arm CROSS_COMPILE=../arm-eabi-4.8/bin/arm-eabi- gohan_defconfig
make O=../KERNEL_OUT -C kernel ARCH=arm CROSS_COMPILE=../arm-eabi-4.8/bin/arm-eabi- -j 2

# make wlan module
make -C kernel M=../wlan O=../KERNEL_OUT ARCH=arm CROSS_COMPILE=../arm-eabi-4.8/bin/arm-eabi- modules WLAN_ROOT=../wlan/ MODNAME=wlan BOARD_PLATFORM=msm8952 CONFIG_PRONTO_WLAN=m

# strip module of debug code
./arm-eabi-4.8/bin/arm-eabi-strip --strip-debug ./wlan/wlan.ko

./arm-eabi-4.8/bin/arm-eabi-strip --strip-debug ./KERNEL_OUT/crypto/ansi_cprng.ko
./arm-eabi-4.8/bin/arm-eabi-strip --strip-debug ./KERNEL_OUT/arch/arm/mach-msm/dma_test.ko
./arm-eabi-4.8/bin/arm-eabi-strip --strip-debug ./KERNEL_OUT/drivers/input/evbug.ko
./arm-eabi-4.8/bin/arm-eabi-strip --strip-debug ./KERNEL_OUT/drivers/input/misc/gpio_axis.ko
./arm-eabi-4.8/bin/arm-eabi-strip --strip-debug ./KERNEL_OUT/drivers/input/misc/gpio_event.ko
./arm-eabi-4.8/bin/arm-eabi-strip --strip-debug ./KERNEL_OUT/drivers/input/misc/gpio_input.ko
./arm-eabi-4.8/bin/arm-eabi-strip --strip-debug ./KERNEL_OUT/drivers/input/misc/gpio_matrix.ko
./arm-eabi-4.8/bin/arm-eabi-strip --strip-debug ./KERNEL_OUT/drivers/input/misc/gpio_output.ko
./arm-eabi-4.8/bin/arm-eabi-strip --strip-debug ./KERNEL_OUT/drivers/gud/mcDrvModule.ko
./arm-eabi-4.8/bin/arm-eabi-strip --strip-debug ./KERNEL_OUT/drivers/gud/mcKernelApi.ko
./arm-eabi-4.8/bin/arm-eabi-strip --strip-debug ./KERNEL_OUT/drivers/mmc/card/mmc_block_test.ko
./arm-eabi-4.8/bin/arm-eabi-strip --strip-debug ./KERNEL_OUT/drivers/mmc/card/mmc_test.ko
./arm-eabi-4.8/bin/arm-eabi-strip --strip-debug ./KERNEL_OUT/arch/arm/oprofile/oprofile.ko
./arm-eabi-4.8/bin/arm-eabi-strip --strip-debug ./KERNEL_OUT/drivers/spi/spidev.ko
./arm-eabi-4.8/bin/arm-eabi-strip --strip-debug ./KERNEL_OUT/block/test-iosched.ko

# sign module
./kernel/scripts/sign-file sha512 ./KERNEL_OUT/signing_key.priv ./KERNEL_OUT/signing_key.x509 ./wlan/wlan.ko

echo "Building flashable AnyKernel2 zip"

AK2BASE_DIR=./AnyKernel2-master

rm -rf $AK2BASE_DIR

unzip ./AnyKernel2-master.zip

# cleanup
rm $AK2BASE_DIR/zImage
rm $AK2BASE_DIR/modules/placeholder
rm -rf $AK2BASE_DIR/patch
rm -rf $AK2BASE_DIR/ramdisk

# kernel: use zImage-dtb instead of zImage
cp /home/aquaris-X5-plus/KERNEL_OUT/arch/arm/boot/zImage-dtb $AK2BASE_DIR/

# modules: copy modules
cp /home/aquaris-X5-plus/KERNEL_OUT/crypto/ansi_cprng.ko $AK2BASE_DIR/modules/
### no core_ctl.ko - leave original one
cp /home/aquaris-X5-plus/KERNEL_OUT/arch/arm/mach-msm/dma_test.ko $AK2BASE_DIR/modules/
cp /home/aquaris-X5-plus/KERNEL_OUT/drivers/input/evbug.ko $AK2BASE_DIR/modules/
cp /home/aquaris-X5-plus/KERNEL_OUT/drivers/input/misc/gpio_axis.ko $AK2BASE_DIR/modules/
cp /home/aquaris-X5-plus/KERNEL_OUT/drivers/input/misc/gpio_event.ko $AK2BASE_DIR/modules/
cp /home/aquaris-X5-plus/KERNEL_OUT/drivers/input/misc/gpio_input.ko $AK2BASE_DIR/modules/
cp /home/aquaris-X5-plus/KERNEL_OUT/drivers/input/misc/gpio_matrix.ko $AK2BASE_DIR/modules/
cp /home/aquaris-X5-plus/KERNEL_OUT/drivers/input/misc/gpio_output.ko $AK2BASE_DIR/modules/
cp /home/aquaris-X5-plus/KERNEL_OUT/drivers/gud/mcDrvModule.ko $AK2BASE_DIR/modules/
cp /home/aquaris-X5-plus/KERNEL_OUT/drivers/gud/mcKernelApi.ko $AK2BASE_DIR/modules/
cp /home/aquaris-X5-plus/KERNEL_OUT/drivers/mmc/card/mmc_block_test.ko $AK2BASE_DIR/modules/
cp /home/aquaris-X5-plus/KERNEL_OUT/drivers/mmc/card/mmc_test.ko $AK2BASE_DIR/modules/
cp /home/aquaris-X5-plus/KERNEL_OUT/arch/arm/oprofile/oprofile.ko $AK2BASE_DIR/modules/
mkdir $AK2BASE_DIR/modules/pronto
cp /home/aquaris-X5-plus/wlan/wlan.ko $AK2BASE_DIR/modules/pronto/pronto_wlan.ko
cp /home/aquaris-X5-plus/KERNEL_OUT/drivers/spi/spidev.ko $AK2BASE_DIR/modules/
cp /home/aquaris-X5-plus/KERNEL_OUT/block/test-iosched.ko $AK2BASE_DIR/modules/

# create flashable zip
TARGET=UNMODIFIED-01.001
rm $TARGET.zip
cd $AK2BASE_DIR
zip -r9 ../$TARGET.zip * -x README.md

----------------------------------------------

fertig!

Vorher aber noch AnyKernel2 runterladen (xda), in kernel-assembly/AnyKernel2-master.zip ablegen und das anykernel.sh Skript im Zip bereinigen:
block=/dev/block/bootdevice/by-name/boot;
is_slot_device=0;
do.initd=0
do.modules=1
do.devicecheck=1
device.name1=Aquaris_X5_Plus
device.name2=gohan
device.name3=
device.name4=
device.name5=

und alles zwischen
# begin ramdisk changes
# end ramdisk changes

auskommentieren.
 
  • Danke
Reaktionen: legend-tobi
Der damit erstellte Kernel funktioniert erstmal augenscheinlich wie das Original - Wlan funktioniert, alle Sensoren scheinen da zu sein. Neue Features gibt es so natürlich erstmal nicht ;)
 

Ähnliche Themen

D
  • dorsit
Antworten
1
Aufrufe
535
dorsit
D
N
  • NCLBrownAle
Antworten
8
Aufrufe
2.730
NCLBrownAle
N
Frank84
Antworten
1
Aufrufe
1.466
nik
nik
Zurück
Oben Unten