|
Firefly 系列,Linux 下单独升级各分区固件技巧
发表于 2017-12-18 15:57:23
浏览:11336
|
回复:1
打印
只看该作者
[复制链接]
楼主
本帖最后由 luvings 于 2017-12-18 16:04 编辑
初始准备: 1. 按照官方教程准备好工具 --> 升级固件
2. 解包官方发布的固件,获取 parameter 文件 --> 定制 Android 固件
这个方法也是可以解包 xubuntu 固件的,不必拘泥于形式
流程:
1. cat parameter,主要查看关注如下信息
- CMDLINE: console=ttyFIQ0 root=/dev/mmcblk1p6 rw 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 文件,就
sudo upgrade_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 所填写的 地址
以上.
新手瞧瞧,老鸟勿笑.
|
|