我有一台索尼Xperia P.它运行在6_0_B_1_564内核和Andriod 2.3.7上。我从源代码编译了一个自定义内核。我改变了外向等等我得到了zImage。如何在手机上安装它?
我已经尝试过Anykernel.zip方法。当我尝试使用Clockworkmod安装它时,我得到了
--Installing: /sdcard/new_kernel.zip
Finding update package...
Opening update package...
Installing update...
AnyKernel Updater by Koush.
Extracting System Files...
Extracting Kernel files...
Changing device name...
Done!
Install from sdcard complete.
但是,当我启动手机时,它是同样的旧内核
当我通过zip文件的内容时,我发现其中没有boot.img。
我可以使用Fastboot刷新内核吗?
答案 0 :(得分:2)
最后我确实设法安装了自定义内核。猜猜这个程序适用于所有索尼Xperia NXT系列手机(Xperia U,Sola,P,S)。我就这样做了 -
从以下链接下载股票内核 -
这些将是ELF格式。
从here下载图像生成脚本。
解压股票内核。
7z e kernel.elf
这会产生三个文件 -
0 - Kernel
1 - RAMDisk
2 - Resource Power Manager (only for Xperia S)
用自定义编译的内核(zImage
)替换内核。请注意,zImage
已重命名为0
。由于我们打算只更改内核,因此请保留RAMDisk和Resource Power Manager(如果有)。
使用之前下载的脚本生成内核映像
对于Xperia U,Sola和P -
python mkelf.py -o new_kernel.elf 0@0x00200000 1@0x01200000,ramdisk
对于Xperia S -
python mkelf.py -o new_kernel.elf 0@0x40208000 1@0x41200000,ramdisk 2@0x20000,rpm
这将生成一个新内核new_kernel.elf
按住音量调高按钮,然后在关闭状态下按电源按钮,重启手机进入快速启动模式。
Flash新内核
android-sdk-linux/platform-tools/fastboot -i 0x0fce flash boot new_kernel.elf
重新启动手机。
android-sdk-linux/platform-tools/fastboot -i 0x0fce reboot
答案 1 :(得分:0)
使用anykernel更新程序时,会发生以下情况。
updater-script运行并从当前ROM中提取boot.img。它 将boot.img解压缩到内核和ramdisk中。它重新打包newboot.img 使用新内核和相同的ramdisk。它闪现新创建的 启动图像。
现在,你的boot.img与你的旧内核相同。只有你的zImage发生了变化。
现在脚本可能与您现有的内核不兼容。
使用终端仿真器之类的东西从控制台检查uname -a
以确认带有时间戳的内核版本。检查时间戳以查看新的zImage是否到位。