如前文(https://bbs.elecfans.com/jishu_2006319_1_1.html)所述,我们已经在uboot中把网络搭建成功了,接下来我们可以尝试用tftp服务器上的系统,启动一下试试。
首先在系统中搭建tftp服务器。
Windows中下载一个叫做tftpd32的软件
从网站https://device.harmonyos.com/cn/home/上找到AI Camera的系统:
https://repo.huaweicloud.com/harmonyos/os/1.0/ipcamera_hi3516dv300-1.0.tar.gz
下载,并解压,找到系统文件OHOS_Image.bin
放到目标目录中(本文是e:tftp),可以在程序中点击“显示目录”查看
从uboot的env中可以看到
推测需要将系统装入0x80000000位置。
使用
tftpboot 80000000 192.168.137.1:OHOS_Image.bin
go 0x80000000
命令,可以启动系统。
命令行输入还有点问题(提示[ERR]Unsupport syscall ID: 518 nArgs: 0),不过至少可以确认,从网络启动功能是支持的,接下来我们可以尝试修改uboot的环境配置文件,使其直接从网络启动。
首先备份启动命令
bootcmd=sf probe 0;mmc read 0x0 0x80000000 0x800 0x4800; go 0x80000000
在前一节的尝试中,我们已经知道在华为AI Camera的uboot中没有做sf支持,所以sf probe 0是无意义的。
重设环境变量bootcmd并保存,命令为
setenv bootcmd ‘tftpboot 0x80000000 192.168.137.1:OHOS_Image.bin;go 0x80000000’
saveenv
可以看到已设置成功
重启,可以看到屏幕可以点亮,但输入命令依然有
[ERR]Unsupport syscall ID: 518 nArgs: 0的提示
比较系统启动信息,同一版本,但编译时间不同,原生系统在左,下载的系统在右
debug居然在release之后???,看起来是有点蹊跷。。。
继续研究中,带着问题学习,才会有进步!