本文为看雪论坛优秀文章
看雪论坛作者ID:seeeseee
一、前言 在之前尝试ptach内核时,配置CONFIG_KRETPROBES后遇到了触摸和WIFI失效的问题。后经missking指导,发现修改内核编译选项的操作不正确。正确的步骤如下:
cd private/msm-google make ARCH=arm64 floral_defconfig make ARCH=arm64 menuconfig make ARCH=arm64 savedefconfig cp defconfig arch/arm64/configs/floral_defconfig rm .config 但即便如此,编译出的内核仍然导致触摸和WIFI失效。后续参考多个帖子,解决了触摸问题,但WIFI问题未能解决。
刷自编译内核导致的触摸屏失灵问题、正确的自编译内核操作及解决触摸屏问题的步骤、内核编译问题、单独编译内核的方法、解决触摸屏失灵问题的实践篇、内核编译内文以及相关补丁操作等,均被提及。在一系列操作后,触摸功能得以修复,但WIFI问题仍然悬而未决。
经过进一步探索,发现单独编译内核且包含boot.img的正确方式,这与之前的操作有所区别。对于BUILD_BOOT_IMG的设定和其中的GKI_RAMDISK_PREBUILT_BINARY、VENDOR_RAMDISK_BINARY的理解,以及boot.img解包和生成所需文件的过程,都有了更深入的了解。
通过分析build/build.sh脚本,明确当BOOT_IMAGE_HEADER_VERSION为3时,需指定GKI_RAMDISK_PREBUILT_BINARY和KERNEL_VENDOR_CMDLINE。解包boot.img后,根据文件信息调整BUILD_BOOT_IMG、BASE_ADDRESS、PAGE_SIZE、KERNEL_CMDLINE和KERNEL_BINARY的值,确保正确生成initramfs.cpio和VENDOR_RAMDISK_BINARY。补丁添加bpf_probe_read_user功能,确保内核能正常读取用户空间数据。
进行内核编译配置调整,包括修改内核编译配置选项,确保触摸屏和WIFI功能正常。操作步骤包括进入内核源码目录、生成floral_defconfig、打开内核编译配置界面、保存并退出配置、覆盖floral_defconfig文件、删除.config文件等。最终,通过正确编译命令生成可正常使用的boot.img文件,解决触摸屏和WIFI失效问题。
二、环境 搭建环境时,请根据需要添加代理连接。首先,根据官方指南安装所需库和软件,并创建工作目录。选择与手机内核版本对应的分支(如Pixel 4XL对应的android-msm-coral-4.14-android13),同步内核源代码并使用官方说明操作。注意,如果没有设置编译工具,可手动同步代码或使用官方提供的工具。
三、步骤 操作步骤包括:
根据官方指南准备环境并同步代码 创建工作目录,存放后续操作文件 选择与手机内核版本对应的分支,同步代码并检查是否已包含编译工具 进入private/msm-google文件夹,切换到与手机内核版本一致的commit 修改编译脚本和准备文件,包括脚本分析、文件准备及补丁操作 编译命令执行 添加bpf_probe_read_user补丁,确保内核读取用户空间数据功能 修改内核编译配置并编译 四、总结 通过解决触摸屏失灵和WIFI失效问题,了解到单独编译内核并生成boot.img的正确方法。在内核编译过程中,明确相关选项和参数的重要性,确保生成的内核能正常运行触摸和WIFI功能。通过实践操作,内核可实现正常启动、触摸和WIFI功能正常,同时支持eBPF设定。
看雪论坛作者ID:seeeseee
一、前言 在之前尝试ptach内核时,配置CONFIG_KRETPROBES后遇到了触摸和WIFI失效的问题。后经missking指导,发现修改内核编译选项的操作不正确。正确的步骤如下:
cd private/msm-google make ARCH=arm64 floral_defconfig make ARCH=arm64 menuconfig make ARCH=arm64 savedefconfig cp defconfig arch/arm64/configs/floral_defconfig rm .config 但即便如此,编译出的内核仍然导致触摸和WIFI失效。后续参考多个帖子,解决了触摸问题,但WIFI问题未能解决。
刷自编译内核导致的触摸屏失灵问题、正确的自编译内核操作及解决触摸屏问题的步骤、内核编译问题、单独编译内核的方法、解决触摸屏失灵问题的实践篇、内核编译内文以及相关补丁操作等,均被提及。在一系列操作后,触摸功能得以修复,但WIFI问题仍然悬而未决。
经过进一步探索,发现单独编译内核且包含boot.img的正确方式,这与之前的操作有所区别。对于BUILD_BOOT_IMG的设定和其中的GKI_RAMDISK_PREBUILT_BINARY、VENDOR_RAMDISK_BINARY的理解,以及boot.img解包和生成所需文件的过程,都有了更深入的了解。
通过分析build/build.sh脚本,明确当BOOT_IMAGE_HEADER_VERSION为3时,需指定GKI_RAMDISK_PREBUILT_BINARY和KERNEL_VENDOR_CMDLINE。解包boot.img后,根据文件信息调整BUILD_BOOT_IMG、BASE_ADDRESS、PAGE_SIZE、KERNEL_CMDLINE和KERNEL_BINARY的值,确保正确生成initramfs.cpio和VENDOR_RAMDISK_BINARY。补丁添加bpf_probe_read_user功能,确保内核能正常读取用户空间数据。
进行内核编译配置调整,包括修改内核编译配置选项,确保触摸屏和WIFI功能正常。操作步骤包括进入内核源码目录、生成floral_defconfig、打开内核编译配置界面、保存并退出配置、覆盖floral_defconfig文件、删除.config文件等。最终,通过正确编译命令生成可正常使用的boot.img文件,解决触摸屏和WIFI失效问题。
二、环境 搭建环境时,请根据需要添加代理连接。首先,根据官方指南安装所需库和软件,并创建工作目录。选择与手机内核版本对应的分支(如Pixel 4XL对应的android-msm-coral-4.14-android13),同步内核源代码并使用官方说明操作。注意,如果没有设置编译工具,可手动同步代码或使用官方提供的工具。
三、步骤 操作步骤包括:
根据官方指南准备环境并同步代码 创建工作目录,存放后续操作文件 选择与手机内核版本对应的分支,同步代码并检查是否已包含编译工具 进入private/msm-google文件夹,切换到与手机内核版本一致的commit 修改编译脚本和准备文件,包括脚本分析、文件准备及补丁操作 编译命令执行 添加bpf_probe_read_user补丁,确保内核读取用户空间数据功能 修改内核编译配置并编译 四、总结 通过解决触摸屏失灵和WIFI失效问题,了解到单独编译内核并生成boot.img的正确方法。在内核编译过程中,明确相关选项和参数的重要性,确保生成的内核能正常运行触摸和WIFI功能。通过实践操作,内核可实现正常启动、触摸和WIFI功能正常,同时支持eBPF设定。
