打开/关闭搜索
搜索
打开/关闭菜单
通知
打开/关闭个人菜单
查看“Magiskboot”的源代码
来自Uotan Wiki · 刷机百科
查看
阅读
查看源代码
查看历史
associated-pages
页面
讨论
更多操作
←
Magiskboot
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
== 什么是Magiskboot == magiskboot是magisk提供的一个解包boot/recovery的工具,magisk通过magiskboot来解包boot 相对于其他解包工具(如AIK)而言,magiskboot的拆分较为简单 你可以从[https://mrzzoxo.lanzoui.com/b02r7q0dg 来自KernelSU中文网的链接]下载magiskboot == 用法 == 输入magiskboot可直接查看用法 '''注意,下文用法中,带<尖括号>的为必需参数,带[中括号]的为可选参数,传入参数时不要带上括号''' === 解包 === <pre>magiskboot unpack [-n] [-h] 镜像路径</pre> 解包镜像 这将会把镜像解包成以下几个部分(如果有的话):<code>kernel</code>, <code>kernel_dtb</code>, <code>ramdisk.cpio</code>, <code>second</code>, <code>dtb</code>, <code>extra</code>, <code>recovery_dtbo</code> 若指定<code>-n</code>参数,则每个部分都不会解压缩,保留原数据(如kernel会变成原有的压缩格式而不解压) 若指定<code>-h</code>参数,则镜像头会被单独dump出来成为一个文件header,里面记录了<code>cmdline</code>,<code>android版本</code>和<code>android补丁</code>级别等数据 可以查看程序输出以获得镜像的相关信息,如内核压缩方式等 注意,即使指定了-h参数,打包时仍然需要传入原boot镜像路径 程序返回值: 0:成功 1:错误 2:镜像来源为chromeos === 打包 === <pre>magiskboot repack [-n] <原镜像路径> [输出镜像路径]</pre> 将解包出的数据重新打包成镜像 magiskboot将会从传入的boot路径读取相关信息(如cmdline)并打包 若不指定输出boot路径,则输出到当前目录下的<code>new-boot.img</code> 若指定<code>-n</code>参数,则数据将不经过压缩操作就直接打包 若unpack时未指定-n参数,则repack时也不应指定,反之亦然 若在环境变量中设置<code>PATCHVBMETAFLAG</code>为true,则打包时会自动修补镜像中的'''vbmeta''',添加禁用验证标识 === 验证 === <pre>magiskboot verify <镜像路径> [x509.pem式的证书路径]</pre> 验证镜像是否被AVB1.0签名 若传入证书路径,则会用证书验证镜像签名 === 签名 === <pre>magiskboot sign <镜像路径> [name] [x509.pem/pk8私钥文件]</pre> 签名boot镜像 若不传入私钥文件,则使用magiskboot内部的AOSP私钥签名 TODO: <code>name</code>作用未知,默认为<code>/boot</code> 此操作将会直接覆写镜像 === 解包payload.bin === <pre>magiskboot extract <payload.bin路径> [分区名] [输出路径]</pre> 解包payload.bin中的指定分区 如果不指定分区,则解包init_boot.img(存在则解包这个)或boot.img 默认输出路径为当前目录下<code>分区名.img</code> 可以通过将'''payload.bin路径'''传入<code>-</code>以接收标准输入,如在linux下可以 <code>cat payload.bin | magiskboot extract -</code> === 十六进制修补 === <pre>magiskboot hexpatch <文件路径> <hexpattern1> <hexpattern2></pre> 这将在文件中寻找<code>hexpattern1</code>,并替换为<code>hexpattern2</code> 示例: magiskboot hexpatch boot.img FE8067E4 A2586F7A 这将直接覆写文件 === DTB相关 === <pre>magiskboot dtb <文件> <动作> [参数]</pre> magiskboot dtb相关功能 动作: * <code>print</code> 以树的形式输出dtb内容,添加-f参数以仅输出<code>fstab</code>节点 * <code>patch</code> 修补dtb,移除verity/avb验证,可通过环境变量<code>KEEPVERITY</code>控制 * <code>test</code> 检测dtb中fstab的合法性,若程序返回值为0则合法,1则不合法 === 分割附加dtb的kernel === <pre>magiskboot split [-n] <文件路径></pre> 将Image.*-dtb分割开为'''kernel'''和'''kernel_dtb''' 若指定<code>-n</code>参数,则Image不会解压缩 === 输出文件sha1 === <pre>magiskboot sha1 <文件路径></pre> 输出文件的sha1值 === 清理工作目录 === <pre>magiskboot cleanup</pre> 清除magiskboot解包等操作的产物 === 压缩 === <pre>magiskboot compress[=格式] <文件路径> [输出文件路径]</pre> 进行压缩操作 文件路径与输出文件路径均可为<code>-</code>以接收标准输入/标准输出 如果不指定格式,默认为gzip 如果不指定输出文件路径,则为当前目录下'''文件路径加上该压缩格式的扩展名''' 支持格式: gzip zopfli xz lzma bzip2 lz4 lz4_legacy lz4_lg === 解压缩 === <pre>magiskboot decompress <文件路径> [输出文件路径]</pre> 进行解压缩操作 文件路径与输出文件路径均可为<code>-</code>以接收标准输入/标准输出 若不指定输出文件路径,则为当前目录下'''文件路径去掉该压缩格式的扩展名''' '''注:如果要解压缩的文件无扩展名,则可能报错''' 支持格式同压缩
返回
Magiskboot
。