前言
-  开发板型号: 【正点原子】 的 RK3568 开发板 
-  使用 虚拟机 ubuntu 20.04 收到单独 编译 RK3568 u-boot 
-  【问题】u-boot 千兆网络无法ping 通?Linux 下千兆网络正常,说明:开发板硬件正常 
-  u-boot 下网络如果通了,后面直接烧写更新 u-boot 本身 或者 Linux 系统镜像、根文件系统等,可以直接在 u-boot 模式使用网络功能,如 tftp 进行烧写,甚至使用 nfs 共享进行启动Linux 
为何无法 ping 通 PC
-  u-boot 下网络设备识别正常了,这里有个前提:如果完整烧写 官方的 镜像,包括 resource.img 等,u-boot 网络就可以正常ping 通,如果自己修改了 emmc 分区,并且只烧写 u-boot,发现无法 ping 通。 
-  u-boot 可能并且提示 resource.img 镜像找不到,那么看一下 rockchip u-boot 的代码,确认这个 resource.img 的作用。 
-  大体看了一下,得到一个初步的结论: 这个 resource.img镜像,在 u-boot 阶段需要使用,里面保存了设备树 dtb 等,并且【Linux 的 设备树 dtb】
-  这就是说明: u-boot 的 设备树其实没有使用,或者启动时被 resource.img镜像 【替换了】
更新 u-boot 设备树
-  这里直接把 Linux 设备树相关的文件替换 u-boot 下的设备树源文件,由于比较多,需要替换一些 rk3568 相关的dtsi、dt-bindings 头文件,最终编译 u-boot 通过后,就可以了 
-  【需要关闭 u-boot 下】的使用 resource.img 镜像的配置,否则还是无法使用 u-boot 本身的 设备树 dtb。 
-  设置一下gcc 交叉编译工具链的环境变量,先全新编译一遍 ./make.sh atk_dlrk3568,然后 进入make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu- atk_dlrk3568_defconfig进行图形配置

- 取消勾选 [ ] Enable support for rockchip resource image,保存后重新编译 u-boot,./make.sh
烧写与运行
- 烧写后,发现 u-boot 网络可以 ping 通了。问题解决
=> setenv ipaddr 192.168.10.8
=> setenv netmask 255.255.255.0
=> setenv gatewayip 192.168.10.1
=> setenv serverip 192.168.10.10
小结
-  u-boot 默认使用 Linux 设备树 dtb,并且需要放在 resource.img 分区,如果自己分区,需要关闭 【rockchip】u-boot 的 resource 镜像配置,使用 u-boot 的设备树 
-  u-boot 默认的设备树 gmac 无法ping 通,需要更新到 Linux 内核的设备树,可能是 时钟、晶振、配置或者复位、电源引起的,后面抽时间定位一下区别