本帖最后由 jstormx 于 2019-5-5 20:28 编辑
爬论坛2周,看了不少帖子,感谢各位大牛的无私分享,此处不一一点名了。
也为论坛做点贡献,把自己折腾绿板小爱自动启动拦截脚本的过程写个教程分享一下,非原创主要参考了90後の插班生同学提到的方法。非小白教程,不懂的对照其他大牛的帖子看看。
原理很简单,就是在其他linux中修改小爱固件的文件系统后再刷回小爱。
1、小爱与电脑串口连接,打开putty
2、获取ssh,把密匙保存在/data目录
3、winscp连接,进/data目录新建init.sh文件,以后需要开机自启动脚本都在此文件中修改
4、输入mount 查看 当前是挂载mtdblock4还是mtdblock5
5、切换启动分区,如果当前是mtdblock4,就输入/usr/bin/fw_env -s boot_part boot1 再reboot 是启动mtdblock5;如果当前是mtdblock5,就输入/usr/bin/fw_env -s boot_part boot0 再reboot 是启动mtdblock4。假设当前是mtdblock4,我们切换到mtdblock5
6、putty中输入:dd if=/dev/mtdblock4 of=/data/m4.img 备份分区
7、将/data/m4.img文件拷贝到电脑任一linux系统中,可以用winscp或scp指令
8、在linux系统中用unsquashfs -s m4.img查看img信息并记录下来,后面自己制作img的信息需一致
9、将m4.img解压到tochang目录,unsquashfs -dest tochang m4.img
10、在tochang目录中修改 /etc/rc.local 文件添加 /data/init.sh
修改/etc/crontabs/root 注释取消自动升级 #* 3 * * * /bin/ota slient # check ota 11、重新打包img:mksquashfs tochang m4rw.img -b 131072 -comp xz -no-xattrs 参数按第7步查看的信息写,可能与我的不同
12、将m4rw.img重新拷回小爱系统中/data目录下
13、写入非当前启动分区:dd if=/data/m4rw.img of=/dev/mtdblock4
14、设置mtdblock4为启动分区:/usr/bin/fw_env -s boot_part boot0;/usr/bin/fw_env -s boot_part boot1 启动mtdblock5
15、再reboot 重启动小爱。好了,需要启动执行的命令开ssh和拦截脚本命令写入/data/init.sh文件中,以后重启小爱就能自动启动了。
在附上我自己修改后的文件,固件版本1.40.14稳定版链接: https://pan.baidu.com/s/1V_vpO5n0ECApbAsKeWPPnA 提取码: j57k
|