我们正在使用 LX2160ARDB 并尝试使用网络引导和网络 rootfs / NFS 设置开发环境。我们可以在我们的构建系统上设置 tftp 和 NFS 服务器。并更新了所需的 u-boot 环境变量。我们能够成功加载内核映像和设备树映像,但是在内核启动后尝试挂载 NFS 导致内核崩溃并且无法挂载 rootfs。
下面是u-boot环境变量设置。
setenv serverip <服务器 ip 地址>
setenv ipaddr
setenv nfs_ethact 'setenv ethact 'DPMAC3@xgmii''
setenv nfs_kernel 'Image.bin'
setenv nfs_dtb '2160ardb.dtb'
setenv nfs_path '/var/nfs/'
setenv nfs_bootargs ' setenv bootargs 'console=ttyAMA0,115200 root=/dev/nfs ip=${ipaddr} nfsroot=${serverip}:${nfs_path},v3,tcp rw''
setenv nfs_boot 'run nfs_ethact;run nfs_bootargs;tftp ${ kernel_addr_r} ${nfs_kernel};tftp ${fdt_addr_r} ${nfs_dtb};booti ${kernel_addr_r} - ${fdt_addr_r}'
构建系统:
--------------
NFS 服务器配置如下。
网络文件系统:
----
文件:/etc/exports
/var/nfs *(rw,no_root_squash,no_all_squash)
# sudo service nfs-kernel-server restart
我们还仔细检查了内核配置。版本 2/3/4 的 NFS 客户端都默认启用。我们正在使用 Yocto 构建系统构建图像,参考 NXP SDK(Yocto 版本:kirkstone(2023 年 1 月 v22.04 4.0 Kirkstone lf-5.15.52-2.1.0))
有人遇到过类似的问题吗?如果需要任何其他配置,有任何指示吗?