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