1

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

4

2 回答 2

2

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

  1. 从以下链接下载 Stock Kernel -

    索尼 Xperia U

    索尼 Xperia Sola

    索尼 Xperia P

    索尼 Xperia S

    这些将是 ELF 格式。

  2. 从这里下载图像生成脚本。

  3. 解压 Stock Kernel。

    7z e kernel.elf

    这会产生三个文件 -

    0 - Kernel

    1 - RAMDisk

    2 - Resource Power Manager (only for Xperia S)

  4. 用自定义编译的内核(zImage)替换内核。注意zImage重命名为0. 由于我们打算只更改内核,因此请保持 RAMDisk 和资源电源管理器(如果有)不变。

  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. 刷入新内核

    android-sdk-linux/platform-tools/fastboot -i 0x0fce flash boot new_kernel.elf

    重启手机。

    android-sdk-linux/platform-tools/fastboot -i 0x0fce reboot

于 2012-08-01T19:36:53.783 回答
0

当您使用 anykernel 更新程序时,会发生以下情况。

updater-script 运行并从您当前的 ROM 中提取 boot.img。它将 boot.img 解压缩到内核和 ramdisk 中。它使用新内核和相同的 ramdisk 重新打包 newboot.img。它会闪烁新创建的引导映像。

现在,您的 boot.img 与旧内核的相同。只有您的 zImage 已更改。

现在该脚本可能与您现有的内核不兼容。

uname -a使用终端模拟器之类的工具从控制台检查以确认带有时间戳的内核版本。检查时间戳以查看新的 zImage 是否到位。

于 2012-07-20T10:37:28.583 回答