在QQ群里和论坛上看到好多人因为要重新刷固件、换设备、原有设备故障导致已领取到的Bcode失效,因Bcode现在越来越难抢了,所以这些失去Bcode的小伙伴各种生气,我曾经也是因为重新刷机丢失Bcode,感觉错过了一个亿!那么问题来了:如何迁移Bcode呢,经过多次测试,目前已经有完美的解决方案
一、 测试环境:
硬件:斐讯N1、4G优盘
系统:Armbian_5.44_S9xxx_Ubuntu_bionic_3.14.29_server_20180729.img<br/>
二、测试过程:
1 、首先按照正常过程,先将Armbian_5.44_S9xxx_Ubuntu_bionic_3.14.29_server_20180729.img固件烧入优盘,然后斐讯N1降级后插入U盘,电脑adb连接斐讯N1,
并运行
代码: 全选
adb shell reboot update
,推荐直接vi /etc/network/interfaces 文件,在 iface eth0 inet dhcp 后面添加一行:
代码: 全选
pre-up ifconfig eth0 hw ether xx:xx:xx:xx:xx:xx #(要改成的MAC
代码: 全选
apt install net-tools
2 、安装bxc,使用
代码: 全选
mkdir bxc && cd bxc
代码: 全选
chmod +x bxc.sh
3 、启动bxc:输入
代码: 全选
./bxc.sh init
代码: 全选
./bxc.sh start
代码: 全选
./bxc.sh enable
4 、备份证书文件:
正常启动后用winscp将整个bxc文件夹(含bcloud文件夹、bxc-worker、bxc-network、bxc-json.sh、bxc.sh)备份到电脑上
5、 给新设备或者重新刷固件的设备还原文件并按照第1步修改好对应的mac后(这个mac就是你bxc网页上显示的mac或者你要更换的那个设备的mac),将上一步备份的bxc文件夹用winscp拷贝到/root路径下,
进入bxc文件下,然后使用 chmod 755 bxc-json.sh bxc-network bxc.sh bxc-worker给对应文件给与权限(没有这个过程会提示如下错误:./bxc.sh: bxc-network: Permission denied ./bxc.sh: bxc-worker: Permission denied),
再进入bxc/bcloud,然后使用 chmod 600 ca.crt client.crt client.key给对应文件权限(没有这个过程会提示如下错误:WARNING: file '/opt/bcloud/client.key' is group or others accessible),
6、其实分析起来很简单,就是找一个正常运行bxc的设备然后查看权限到底是什么,正常如附件图片所示,接着输入./bxc.sh init进行配置(没有这一步会报错:bxc-worker: error while loading shared libraries: libltdl.so.7: cannot open shar ed object file: No such file or directory),这个过程就是把一些环境变量以及链接文件重新连接,是不会再像新设备一样出现邮箱和Bcode配置的,然后/bxc.sh start启动服务./bxc.sh enable开机自启,至此,完成数据备份及迁移,没有任何故障代码。
7 查看后台即可发现设备上线<br/>
修改mac地址可以让你的bcode不至于时间长不用被消除,做法是将bcloud文件备份后,修改新的mac地址即可以重新绑定,需要恢复原来的绑定恢复bcloud即可另发现,经过测试,发现如果执行./bxc.sh start会将/bxc/bcloud/文件中的三个文件(ca.crt、client.crt、client.key)拷贝到/opt/bcloud里面,如果如果执行./bxc.sh stop会将/opt/bcloud中的三个文件(ca.crt、client.crt、client.key)删除。