Rockchip Android平台打开GKI无法开机问题
Rockchip Android平台打开GKI无法开机问题
问题描述
Rockchip Android平台由于编译环境对pahole版本有要求,如果版本不对会导致ko无法加载从而导致系统无法开机。pahole的版本具体要求如下:
Android版本 | pahole版本 |
Android12/13版本 | pahole v1.21 |
Android14及以上版本 | pahole v1.25 |
ko无法加载log如下:
[ 0.712136][ T1] rockchip_iommu: disagrees about version of symbol module_layout
[ 0.712917][ T1] init: Failed to insmod '/lib/modules/rockchip_iommu.ko' with args '': Exec format error
[ 0.713873][ T1] init: LoadWithAliases was unable to load rockchip_iommu
解决方法
更新pahole版本
- 下载最新版本pahole
git clone https://git.kernel.org/pub/scm/devel/pahole/pahole.git
- 代码切换到v1.25的tag
git checkout v1.25 -b v1.25
- 编译pahole
安装编译依赖库
sudo apt-get install cmake
sudo apt-get install libdw-dev
如果之前有安装过pahole,需要先卸载
sudo apt-get --purge remove dwarves
- 开始编译
ahole目录下执行
mkdir build
cd build/
cmake -D__LIB=lib -DBUILD_SHARED_LIBS=OFF ..
sudo make install
pahole --version 查看版本确认是否安装成功
如果以上安装编译失败可以直接下载我们编译好的pahole,并替换到 /usr/local/bin/pahole
链接:https://pan.baidu.com/s/1JP1F0EjzSn25ZVUsbO89Zg
提取码:zy6z