在Sony Xperia NXT系列(U,Sola,P,S)中安装自定义Android内核

时间:2012-07-20 10:21:56

标签: android linux-kernel kernel android-source

我有一台索尼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刷新内核吗?

2 个答案:

答案 0 :(得分:2)

最后我确实设法安装了自定义内核。猜猜这个程序适用于所有索尼Xperia NXT系列手机(Xperia U,Sola,P,S)。我就这样做了 -

  1. 从以下链接下载股票内核 -

    Sony Xperia U

    Sony Xperia Sola

    Sony Xperia P

    Sony Xperia S

    这些将是ELF格式。

  2. here下载图像生成脚本。

  3. 解压股票内核。

    7z e kernel.elf

    这会产生三个文件 -

    0 - Kernel

    1 - RAMDisk

    2 - Resource Power Manager (only for Xperia S)

  4. 用自定义编译的内核(zImage)替换内核。请注意,zImage已重命名为0。由于我们打算只更改内核,因此请保留RAMDisk和Resource Power Manager(如果有)。

  5. 使用之前下载的脚本生成内核映像

    对于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

  6. 按住音量调高按钮,然后在关闭状态下按电源按钮,重启手机进入快速启动模式。

  7. 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是否到位。