一个量产项目用香橙派cm4做核心板,遇到很多问题,集中写一下。
客观的讲,香橙派的硬件还算可以,经过2个月的不间断运行都还稳定,但是这家公司服务就不行了,好歹我也是对公客户,也没有专人对接,都是在淘宝找客服。
技术问题也是问淘宝客服,客服转问技术。如果是pcb的问题他们还偶尔回答一下,软件问题基本就是石沉大海,或者客服转来转去的问技术,很久才能回复。看官方论坛基本也只有提问的,没有解答的。幸亏rk的东西比较通用,靠自己搜也能搜的到。
先讲一下系统备份不行的方法:
- orange pi cm4是用的板载emmc,所以那些基于tf卡的方法,或者用win32image的方法都不行。
- 用gparted先缩分区需要先卸载分区,这需要你先从tf卡或者u盘启动,才能裁emmc分区。
- 下面连接中的第三个方法,rsync方法:rsync -avx root@192.168.1.239:/ ubuntuBoard,我试了一下似乎会导致文件乱码,最后写入的时候也没有成功。而且这个方法说白了也是要用dd,那不如一步到位了。
- rk有通用方法是用rkdevtool,填扇区数,点导出镜像,如下文第三部分讲的。但是这个估计需要进loader模式,但是香橙派似乎不能进loader模式,它只能进maskrom。
瑞芯微RK3399K固件备份三种方式_瑞芯微固件备份-CSDN博客
如何使用dd备份:
所以我最后还是用的dd大法。之前我在pc上试过在运行中的系统中dd再恢复,似乎不行,所以我测试的时候没有第一时间用dd大法。但是在香橙派上是可以的。命令如下:
dd if=/dev/mmcblk0 of=/media/root/DEF0A80EF0A7EACB/backup.img count=320 bs=100M conv=sync
of参数是导出到U盘上的位置。我的香橙派是32G的,所以count是320。bs=100M其实也不用这么大,写入速度也就12MB/s。这个大小不用严格的计算,可以稍微大一点也没关系,下面会讲到为什么。
写回到目标板上:
- 可以用dd方法,我只讲一下思路,测试是可行的。买香橙派cm4带底板,底板上可以插tf卡。tf卡先搞个系统进去,启动时会优先tf卡启动。然后在tf卡的系统里,将这个镜像dd到/dev/mmcblk0里,即emmc中。这种方法最后会报一个错,说mmcblk0的大小不够,这是因为我们镜像比磁盘大,不过没关系,本来大的那些地方就是空的。
- 由于批产的时候操作人员对linux不熟悉,所以我还是希望使用在win中的方法。rkdevtools是可以写的。但是如果直接烧这个img,因为它比emmc大,rkdevtools会直接报错不让你写,所以就需要给img瘦身。
- 使用pishrink.sh裁剪img。树莓派官方的pishrink可以给香橙派用。我看有人开发了给香橙派专用的,不知道有什么区别,如果各位看官看到我的文章,麻烦先试一下下面这个香橙派专用的连接,回来告诉我行不行,在此感谢各位。如果不行,自己搜一下github上的pishrink就好了。
keyboardkiller/OrangePiShrink - 码云 - 开源中国 (gitee.com)
用rkdevtools写回,按照使用手册里的方法配置即可,只不过第二个镜像选为我们裁剪过的镜像。
写完后重启过程中,系统会自动扩容,方便的很。