目标手机:Google pixel 4XL 我使用的Mac + VMware Fusion + Kali 2020.4 的方式去编译安卓的aosp和安卓的内核,但是我在编译过程中遇到了一个问题就是我直接使用aosp编译的img刷写进设备是正常的,用我编译的内核(clone下来的代码未做任何改动)替换掉/aosp/device/google/coral-kernel/Image.lz4然后重新编译aosp发现屏幕触控失灵,但是音量键正常。 拉取的aosp分支: repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-10.0.0_r41 拉取的内核分支: repo init -u https://android.googlesource.com/kernel/manifest -b android-msm-coral-4.14-android10
触摸屏的模块名字:fts_touch
aosp自带的Image.lz4: https://cowtransfer.com/s/1f3eb60f8cc945 我编译的Image.lz4: https://cowtransfer.com/s/00689c3e89e043 光看体积一个20MB一个15MB,但是我实在不知道是哪里出现了问题。 附上dmesg: https://cowtransfer.com/s/a9c83e82d8be46
wifi是不是也失效了🤣 coral-kernel下面的那些ko文件是内核模块 内核模块必须保证和内核本体一起编译才能被正常挂载 也就是说 现在你使用的内核模块和内核镜像并不是一起编译的 因此挂载模块会被拒绝 解决方案可以是把config里原来编译成模块的东西直接改成=y来 build-in kernel 或者是从out目录下把新编译的ko文件拿出来替换老的
当然 以上纯粹是推测 对于为什么image尺寸会有差异 我完全no idea
LibXZR 我触屏没法用,不知道怎么测试Wi-Fi是否失效。但是我之前是把/android-kernel/out/android-msm-floral-4.14/dist/ 目录下所有的文件,包括ko文件,都复制粘贴到/aosp/device/google/coral-kernel/目录下也无法使用触屏,之前也尝试改过内核配置,这两个注释掉,但是发现还是不行。 CONFIG_MODULE_SIG=y CONFIG_MODULE_SIG_FORCE=y
tututu 似乎并不是模块的问题…谷歌的这些东西好像都是在树外的.. https://github.com/celtare21/kernel_google_coral/commits/R/drivers/input/touchscreen/fts_touch 参考第三方内核把谷歌的那堆树外的东西全部合进内核树吧…. 谷歌的kernel build system我还真的玩不来… 包括
<project path="private/msm-google/techpack/audio" name="kernel/msm-extra" /> <project path="private/msm-google-modules/data-kernel" name="kernel/msm-modules/data-kernel" /> <project path="private/msm-google-modules/wlan/qca-wifi-host-cmn" name="kernel/msm-modules/qca-wfi-host-cmn" /> <project path="private/msm-google-modules/wlan/qcacld-3.0" name="kernel/msm-modules/qcacld" /> <project path="private/msm-google-modules/wlan/fw-api" name="kernel/msm-modules/wlan-fw-api" /> <project path="private/msm-google-modules/touch/fts" name="kernel/msm-modules/fts_touch" />
简单来说就是复制粘贴到对应位置 然后include一下(
是吧内核整合进aosp然后一起编译的意思么
tututu 你现在是怎么编译的? 是用的谷歌的kernel build工具还是直接在内核目录里make
LibXZR 内核是用./build/build.sh进行编译的,aosp是用source ./build/endsetup.sh lunch 14 然后make -j4编译的
LibXZR 大佬方便teamviewer帮我看看么
tututu 就把哪些树外仓库合进内核树吧..这是最直接的解决办法..至于这个编译系统为什么不认树外仓库 我也不知道
合并了还是不行
问一下,你这个触摸屏的模块名字是在哪里看到的。
你只需要去linux的make menuconfig把TOUCHSCREEN_FTS打开就行
设置成Y
GGboom 不行
同pixel4xl 安卓12 4.19内核 一样的问题
maru7777
不行吗
解决了没,我也遇到了
dorry2015 解决了Magic_version的问题
GGboom 怎么解决的,发点教程呀大哥