考虑到固件修改与 Android 操作系统本身一样古老,对于新手来说进入游戏可能会相当困难。例如,刷新某些自定义 ROM 需要多个步骤,例如提取官方启动映像并将其刷新到设备上,然后最终完成该过程并刷新文件随之而来。
虽然在某些指南中您会发现在线包含 boot.img 文件,但有时您可能需要自己修改启动映像,然后重新打包它。由于手机的操作系统是Android,唯一的方法是使用基于 Linux 的平台或在 Windows PC 上模拟一个平台。
用于解压和重新打包 boot.img 文件的脚本
XDA用户CNexus通过互联网查找并编译了一系列用于解压和重新打包启动映像文件的工具,所有这些工具都可以使用下面给出的链接下载。
你应该知道的命令
- 启动信息包中包含的文件允许您获取 boot.img 文件的基址和 ramdisk 地址,稍后您将需要重新打包该文件。
- 分割引导(split_bootimg.pl) 帮助您将 ramdisk 和 zImage 从 boot.img 文件提取到单独的文件夹中。
- 解压虚拟磁盘允许您使用以下命令解压 ramdisk 文件:
用法:unpack_ramdisk<ramdiskFile> - 重新打包虚拟磁盘该功能将允许您使用以下命令从给定目录重新打包 ramdisk 文件:
用法:repack_ramdisk<ramdiskDirectory> [输出文件] - MKBootimg命令可以帮助您从您拥有的 ramdisk 和 zImage 文件创建一个全新的 boot.img 文件(对于创建修改后的 boot.img 文件很有用)。
- umkbootimg其作用恰恰相反,将内核和启动映像分开。
- 打开包装为了方便起见,将简单地将 boot.img 文件提取到一个目录中,并将 ramdisk 提取到一个单独的目录中。
Windows 兼容性:须知事项
- 如果您没有启动并运行 Linux 操作系统,您可以使用以下命令在 Windows PC 上模拟它这个官方指南。
- 该工具已经过测试,可以与 Debian 一起使用,但尚未确认是否可以与 Cygwin 一起使用。
- .ZIP 文件中的所有脚本必须保存在您正在运行的 Linux 系统路径中的文件夹中,以便检测到它们(例如:~/bin)
如何使用解包和重新打包启动并提取 ramdisk 文件
好吧,我们必须使用 split_boot 文件,因为它包含首先解压 boot.img 文件、从中获取 ramdisk 文件的脚本,然后提取 ramdisk 文件。
- 下载启动工具来自这里。
- 现在,提炼它到一个单独的文件夹来获取这些文件。
- 现在,为这些文件提供所需的权限。因此,在包含所有文件的文件夹中运行以下命令。
chmod +x boot_info mkbootimg repack_ramdisk split_boot unpack_ramdisk
- 将要解压的 boot.img 文件放在 PC 上与这些文件相同的文件夹中。
- 要提取启动映像文件和 ramdisk 文件,请运行以下命令。
./split_boot boot.img
- 这将创建一个名为的新文件夹启动在您当前的文件夹中。启动文件夹将包含启动映像内核文件、ramdisk 文件以及包含从 ramdisk 文件中提取的数据的 ramdisk 文件夹。
- 就是这样。做出改变根据需要添加到 ramdisk 文件夹的文件中。
- 复制该工具的所有主文件(boot_info、mkbootimg、repack_ramdisk、split_boot 和 unpack_ramdisk)到包含 ramdisk 文件夹的 boot 文件夹。
- 重新打包ramdisk文件使用下面的命令。这将在启动文件夹中创建一个名为 new-boot.img-ramdisk.cpio.gz 的新 ramdisk 文件。 (您可以将输出文件名从 new-boot.img-ramdisk.cpio.gz 更改为您选择的任何文件名。)
./repack_ramdisk ramdisk new-boot.img-ramdisk.cpio.gz
- 重新打包启动文件使用下面的命令。这将在启动文件夹中创建一个名为 new-boot.img 的新启动映像文件。
./mkbootimg --kernel /var/www/html/dl/boot-tool/boot/boot.img-kernel --ramdisk new-boot.img-ramdisk.cpio.gz -o new-boot.img
- 就是这样。工作完成了!您已成功解压并重新打包 boot 和 ramdisk 文件。您的目录现在看起来像这样。请注意下面屏幕截图中的新启动文件和 ramdisk 文件。
那么,怎么样?您能够轻松使用这些工具吗?
虽然大多数主流用户很少会发现需要解压、修改和重新打包 boot.img 文件,即使在刷新自定义固件时也是如此,但无论如何,使用此工具都很方便。