自己编译buileroot固件,在uboot命令行ping不通虚拟机。无法使用tftp和nfs。
排查流程:
1、启动开发板,进入跟文件系统,参考正点原子的测试。发现tftp和nfs都无问题。
排除,是tftp和nfs配置出错的原因,也排除防火墙原因。
2、换用官方的buildroot固件,同样不能ping通。排除是编译问题。
突发奇想。用ubuntu固件的u-boot,用自己编译的内核和buildroot的跟文件系统启动。
结果,能启动内核,但是不能挂在跟文件系统。
总结,和nfs有关,还未进行排查的地方有:
a、内核和设备树的修改
b、uboot命令行的书写。
①、再次配置内核,编译后,检查发现,在内核中的配置,没有生效。
在网上查找原因,发现是:
firefly的kernel配置,每次make menuconfig之后得把生成的deconfig文件覆盖到它编译的引用config文件,否则每次编译都会被覆盖为原来版本的config.
解决方法:
cp defconfig ./arch/arm64/configs/firefly_linux_defconfig
②、检查设备树的配置。对比网上的配置示例,发现是官方的文档存在问题。
https://blog.csdn.net/Neutionwei/article/details/111397423
再次编译,依旧启动内核,但是,不能挂载内核!!!!
最后,检查uboot命令行,发现,nfs地址不对。
文档中,是在根目录下,而我的是在home目录下。二者的配置有一点区别。大意了,未改过来。