迅为RK3568开发板在u-boot中通过网络启动

既然要使用网络启动开发板,那么双方(开发板、ubuntu)就要确保网络是联通的,假设 ubuntu IP 为 192.168.1.16,开发板的 IP 为 192.168.1.30。
开发板 uboot 使用光盘资料中最新源码,Net:
eth1: ethernet@fe010000, eth0:
ethernet@fe2a0000,iTOP-3568 开发板有俩个网口,都支持 uboot 网络,作者选择使用 eth1,如下图所示:
 
首先,在 U-boot 中设置开发板 IP 为 192.168.1.16,ubuntu 服务器 IP 地址为 192.168.1.30,设置网关的
地址为 192.168.1.1,这里的地址要根据自己的实际情况进行设置,如下所示:
setenv ipaddr 192.168.1.16
setenv serverip 192.168.1.30
setenv gateway 192.168.1.1
然后,在 U-boot 中使用 ping 命令测试开发板与 NFS 服务器是否连通(出现“alive”就表示联通):
=> ping 192.168.1.30

 

最后,在 U-Boot 模式下输入以下命令
我们输入以下命令烧写 boot.img 和设备树文件,注意!!!设备树的文件名字要根据实际的屏幕来设
置成对应的设备树文件。
setenv bootcmd "tftpboot 0x0027f800 boot.img ; tftpboot 0x08300000
rk3568-evb1-ddr4-v10-linux.dtb;bootm 0x0027f800 - 0x08300000" 我们再输入以下命令挂载文件系统,注意 nfs 挂载目录要根据实际情况进行修改。
setenv bootargs "root=/dev/nfs root=/dev/nfs nfsroot=${serverip}:/home/topeet/ubuntu20desktop,v3 rw
ip=${ipaddr}:${serverip}:${gateway}:255.255.255.0::eth1:off" 然后我们输入 saveenv 保存环境变量。


最后输入以下命令,等待网络下载内核和设备树,然后挂载文件系统。
env run bootcmd

 
在开机内核日志出现如下日志,说明已经挂载上了网络根文件系统。

文件系统起来以后,在 ubuntu 的/home/topeet/ubuntu20desktop 目录下新建一个文件,你会发现在开
发板也会有相同的文件,这样可以方便调试。
更多内容关注:北京迅为
posted @ 2022-05-20 10:49  心底狂像  阅读(577)  评论(0编辑  收藏  举报