luvings 发表于 2017-12-18 15:57:23

Firefly 系列,Linux 下单独升级各分区固件技巧

本帖最后由 luvings 于 2017-12-18 16:04 编辑

初始准备:        1. 按照官方教程准备好工具 -->升级固件
    2. 解包官方发布的固件,获取 parameter 文件--> 定制 Android 固件
      这个方法也是可以解包 xubuntu 固件的,不必拘泥于形式
流程:
    1. cat parameter,主要查看关注如下信息
CMDLINE: console=ttyFIQ0 root=/dev/mmcblk1p6rw rootwait mtdparts=rk29xxnand:0x00002000@0x00002000(uboot),0x00002000@0x00004000(trust),0x00008000@0x00006000(resource),0x0000A000@0x0000E000(kernel),0x00002000@0x00018000(backup),-@0x0001A000(boot)

    说明:
          1)root=/dev/mmcblk1p6-->指定 Ubuntu 根文件系统所在分区
                                                         认真观察 rk29xxnand ,就明白,boot 在第 6个.
          2)在板子连接的串口终端ls /dev/mmcblk*    --> 可确定 mmcblk0还是 mmcblk1
                当然,如果升级个别分区后,板子不能启动了,
                查看串口所有打印的 log,仔细留意,也能找到 有关 mmcblk* 相关的提示
               小白的话,实在没办法,就试,无非就 mmcblk1 和 mmcblk2


   2. 通过步骤1,就可升级单个分区了          * 升级 uboot
            sudo upgrade_tool di uboot uboot.img
          * 升级 trust            sudo upgrade_tool di trust trust.img
          * 升级 kernel
            sudo upgrade_tool di kernel kernel.img
          * 升级 resource
            sudo upgrade_tool di resource resource.img
          * 升级 根文件系统
            sudo upgrade_tool di boot rootfs.img
         此 boot分区, 与 Android boot 分区性质不一样,在这里只是将 根文件系统的分区命名为 boot 分区
             说明:
               1)观察以上指令,往那个分区烧写 .img 文件,就
                     sudoupgrade_tool di + 接parameter ()里面的分区名字 + .img 文件
                2)当然,parameter 括号中的名字,也是可以自己更改的,
                      比如:
                              根文件系统 分区名,修改为 rootfs 也 可,
                              烧写 指令也得更改为sudo upgrade_tool di rootfs rootfs.img
                              但是,
                              首先,你得先将自己修改后的 parameter 烧写进 emmc
                               sudo upgrade_tool di -p paramater
                      就如 一开始说明的不必拘泥于形式

趁此机会 ,AndroidTool
一些注意事项也说明下:
         1)使用此工具烧写分区,需要留意的一点就是 :地址
               一般来说,官网不会随意修改各个分区的起始地址 ,所以,闭着眼睛,看到对应分区,勾选 ,升级也无可厚非
               但是,
               我们还是要多长个心眼,
               还是得 查看 parameter 确定 我们需要的信息,也就是分区地址
               parameter 中,每个逗号 隔开一个分区,如:
               0x00008000@0x00006000(resource),--->@ 前面的 即分区大小,后面的 即分区起始地址
               也就是 AndroidTool所填写的 地址
               
以上.
         
         新手瞧瞧,老鸟勿笑.
                                     
            


宇智波流浪 发表于 2020-10-23 10:49:13

分析的不错
页: [1]
查看完整版本: Firefly 系列,Linux 下单独升级各分区固件技巧