【问题标题】:Installing Custom Android Kernel in Sony Xperia NXT series (U, Sola, P, S)在 Sony Xperia NXT 系列(U、Sola、P、S)中安装自定义 Android 内核
【发布时间】:2023-03-16 15:23:01
【问题描述】:

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

【问题讨论】:

    标签: android linux-kernel kernel android-source


    【解决方案1】:

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

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

      Sony Xperia U

      Sony Xperia Sola

      Sony Xperia P

      Sony Xperia S

      这些将是 ELF 格式。

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

    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

    【讨论】:

      【解决方案2】:

      当您使用任何内核更新程序时,会发生以下情况。

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

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

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

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

      【讨论】:

      • Linux localhost 2.6.35.7+ #1 SMP PREEMT Thu Apr 12 11:16:24 2012 armv71 GNU/Limux 在自定义内核时,我已将外向性更改为 .7-anirudh-mod
      • 我建议您从现有内核中提取 RamDisk 并将您编译的 zImage 与它耦合。 anykernel 脚本不适用于尚未支持该模块化方法的内核。
      • 你能指导一下如何去做吗?
      • zImage与Ramdisk耦合后,如何安装?
      • Here。您可以使用 CWM 备份中的 RamDisk。有关如何构建的步骤,请使用 IRC 频道寻求帮助。
      猜你喜欢
      • 1970-01-01
      • 2014-02-20
      • 2012-03-10
      • 1970-01-01
      • 1970-01-01
      • 2013-11-16
      • 1970-01-01
      • 2023-02-22
      • 1970-01-01
      相关资源
      最近更新 更多