使用3516EV200 模组的一些相关问题

使用3516EV200 模组的一些相关问题


前一阵子 公司产品方案可能要更新,使用不同的海思芯片方案,所以买了个模组回来玩玩

遇到下列问题:

3516ev200是 squashfs的压缩文件系统,而且这个模组很蛋疼的是,启动后一些命令是使用不了的会出现
“Applet not found”字样 可能原因是因为厂商在busybox的源码上applet相关做了修改,在uboot模 式下,同样把 tftp功能裁剪了只留下tftpboot 只能下载不能上传。


这个时候我想远程登录这个板子 发现 不知道密码 。。。。。卖家也没给,怎么办?

办法是把密码文件替换,要替换就要把整个文件系统读出来覆盖密码文件再写回去。

怎么替换文件系统? 就把板子信息整个读出来, 怎么读?:
可以用命令cat/proc /mtd 查看每个分区大小
cat /proc/cmdline 查看Uboot配置环境参数查看分区,

在这里插入图片描述
在这里插入图片描述
这样就可以知道每个分区大小,每个分区的物理地址是多少,那知道这些后还有一个问题,我从哪里读出这些分区?
ls /dev/mtdblock* 命令就知道了
在这里插入图片描述
这里每个 mtdblock 对应着 不同分区 ,所以知道读取这几个文件 就可以把整个板子的全部信息读出来修改.

读出来后因为密码文件是在 rootfs ,把读取出来保存为 rootfs.bin 可以利用unsquashfs命令解压 rootfs.bin (unsquashfs命令是在squashfs-tools工具里)

解压后默认生成 Squashfs-root 目录里面就是模组文件系统把密码文件覆盖后重新压缩,压缩用海 思自带的mksquahfs 工具 压缩,压缩前需要知道原先是什么压缩格式块大小,可以利用 -s选项

unmksqushfs -s rootfs.bin查看. 查看到是xz压缩格式 块大小是262144

Mksquashfs squashfs-root/ test.squashfs -comp xz -b 262144

压缩后把 test.squashfs 文件放在tftp服务器文件目录下启动3516ev200进入uboot模式配置好 网络
setenv serverip xx.xx.xx.xx
setenv ipaddr xx.xx.xx.xx
setenv ethaddr xx:xx:xx:xx:xx:xx
setenv netmask xx.xx.xx.xx
setenv gatewayip xx.xx.xx.xx
saveenv
用 tftpboot命令下载文件到内存,默认是下载到0x42000000内存地址之后就开始擦除指定位置即 rootfs的flash地址.再写入 重启ok

你可能感兴趣的:(海思,海思,Linux)