android - 需要帮助编译适用于 Android 的 mkbootimg 二进制文件

标签 android c

首先发布新成员,所以如果我在错误的部分,请告诉我。

我正在尝试编译 mkbootimg 二进制文件,以便可以从 Android 设备上的终端执行它,我已经从 github 下载了 BootTools 源代码并在 backtrack 5 chroot 环境中编译了它,二进制文件已编译,但是当我解压时启动镜像并重新打包,然后将其刷新到我的设备,重新启动后,我的设备卡在启动屏幕上,然后重新启动进入恢复状态。

我在桌面和镜像启动上尝试了相同的方法,我已在设备上解压镜像,然后将文件复制到我的桌面,并使用桌面上的 mkbootimg 将它们打包,然后将镜像复制到我的桌面上。设备并刷新它,设备正常启动,所以我猜测这一定与我编译的 mkbootimg 有错误或我做错了什么有关,非常感谢任何帮助,谢谢马克。

最佳答案

可能是因为为 ARM 编译时,struct boot_img_hdr header 中字段的字节序有所不同(与为 x86 编译的相同代码相比)。引导加载程序希望通过为 x86 编译的 mkbootimg 写入它们的字节序来找到它们。

您可以在十六进制编辑器中比较这两个二进制文件来确认这一点。

关于android - 需要帮助编译适用于 Android 的 mkbootimg 二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15573917/

相关文章:

c - 示例 : scanf and char errors

C编程: testing oversized shift

c - C语言中的答案有歧义

c - 如何在c程序中避免 "Segmentation Fault"

java - 在 Fragment LifeCycle 期间何时调用 onAttach?

android - 更改设置 Android 后重新加载或重新创建旧 Activity

android - 发现GPU。供应商 ID 10de 设备(如果 0x1f07 检查错误的 AMD Vulkan 驱动程序版本)

java - 无法从字符串创建 JSON 对象

android - 递归 startActivity()

c++ - C - 读取文件并计算行数和列数