更换system.img后无法启动Android设备

时间:2016-05-19 16:33:06

标签: android image boot

我正在使用恩智浦(原飞思卡尔)的i.MX53主板开发自定义Android设备。我有操作系统源代码,各种中间文件,以及由其他开发人员(定制操作系统,但此后离开我们公司)生成的最终结果文件。我现在需要修改这些设备上的系统分区的内容。我尝试使用make_ext4fs.exe构建和加载新的system.img文件,并且该目录包含先前开发人员必须使用的原始文件集合。我相信我已经创建了一个几乎相同的系统映像,就像之前使用的那样。它们都是ext4,200MB。

此电路板有一个实用程序(称为MfgTool),只需单击一下按钮即可自动复制和安装图像。 MfgTool成功将我的图像写入设备。但是,当我尝试启动时,它会失败,只是循环显示自定义启动映像。如果我换出新系统映像并在此过程中恢复之前的系统映像,则一切都会再次运行。因此,只需要正确构建系统映像即可。

可能是什么原因?图像有什么区别可能会导致这种情况?是否有可能需要签名,或者其他一些我未能解释的保护?

2 个答案:

答案 0 :(得分:2)

将一个系统映像服务可执行文件替换为将kmsg和logcat转储到文件的shell(例如,在数据分区或外部存储中),然后调用原始可执行文件。然后,启动到以前的系统并收集这些日志。

答案 1 :(得分:0)

原来我的主要问题是我需要将图像的挂载点设置为" system" NOT" / system"虽然它是通过make_ext4fs创建的,尽管所有文档都相反!我通过仔细阅读ASOP源代码来解决这个问题:... build \ tools \ releasetools \ img_from_target_files。

值得注意的是,在这个障碍之后,我遇到了另一个问题,那就是设备表现得很时髦。结果证明是图像中没有任何符号链接的结果。似乎至少你通常会有象征性的链接指导你的" bash"命令到system / bin中的工具箱二进制文件。我不知道你通常如何获得这些,但创建这些链接,然后将它们捆绑到图像中修复它。如果您手动创建这样的系统映像,我建议检查bin目录中的符号链接。