Steward
分享是一種喜悅、更是一種幸福
手機 - F(x)tec Pro1 - Sailfish OS - Build Kernel 4.4.153
參考資料:
https://github.com/sailfish-on-fxtecpro1/kernel-fxtec-pro1/tree/hybris-msm-aosp-9.0
build.sh
#!/bin/bash
if [ ! -d "gcc" ]; then
git clone --depth=1 https://github.com/LineageOS/android_prebuilts_gcc_linux-x86_aarch64_aarch64-linux-android-4.9 gcc
fi
if [ ! -d "gcc32" ]; then
git clone --depth=1 https://github.com/LineageOS/android_prebuilts_gcc_linux-x86_arm_arm-linux-androideabi-4.9 gcc32
fi
KERNEL_DIR=$(pwd)
IMAGE="${KERNEL_DIR}/out/arch/arm64/boot/Image"
TANGGAL=$(date +"%Y%m%d-%H")
PATH="${KERNEL_DIR}/gcc/bin:${KERNEL_DIR}/gcc32/bin:${PATH}"
export ARCH=arm64
export KBUILD_BUILD_HOST=debian
export KBUILD_BUILD_USER=steward
O=out ARCH=arm64 CC=clang CLANG_TRIPLE=aarch64-linux-gnu- CROSS_COMPILE=aarch64-linux-android- CROSS_COMPILE_ARM32=arm-linux-androideabi- make pro1_defconfig
O=out ARCH=arm64 CC=clang CLANG_TRIPLE=aarch64-linux-gnu- CROSS_COMPILE=aarch64-linux-android- CROSS_COMPILE_ARM32=arm-linux-androideabi- make menuconfig
O=out ARCH=arm64 CC=clang CLANG_TRIPLE=aarch64-linux-gnu- CROSS_COMPILE=aarch64-linux-android- CROSS_COMPILE_ARM32=arm-linux-androideabi- make Image.gz modules dtbs -j4
O=out INSTALL_MOD_PATH=mod ARCH=arm64 CC=clang CLANG_TRIPLE=aarch64-linux-gnu- CROSS_COMPILE=aarch64-linux-android- CROSS_COMPILE_ARM32=arm-linux-androideabi- make modules_install -j4
由於qca_cld3_wlan.ko沒有找到程式碼,因此,需要改成Forced module loading

Debian 10(x64)
$ cd $ git clone https://github.com/sailfish-on-fxtecpro1/kernel-fxtec-pro1 $ cd kernel-fxtec-pro1 $ ./build.sh $ wget https://github.com/steward-fu/website/releases/download/pro1/repack.tar.gz $ tar xvf repack.tar.gz $ cd repack $ cp out/arch/arm64/boot/Image.gz . $ ./run.sh $ fastboot flash boot_a boot_new.img
改成強制載入qca_cld3_wlan.ko
$ sudo mount -o remount,rw /vendor
$ sudo vim /vendor/etc/init/hw/init.target.rc +131
insmod -f /vendor/lib/modules/qca_cld3_wlan.ko
$ sudo mount -o remount,ro /vendor