正点原子IMX6ULL开发板-busybox rootfs移植-Cannot open root device "nfs" or unknown-block(2,0): error -6 问题
环境
VMware 17.0.0
Ubuntu16
NXP提供的U-boot与Linux版本:
u-boot:uboot-imx-rel_imx_4.1.15_2.1.0_ga.tar.bz2
linux:linux-imx-rel_imx_4.1.15_2.1.0_ga.tar.bz2
开发板: 正点原子-IMX6ULL_EMMC版本,底板版本v2.2
busybox版本:busybox-1.29.0.tar.bz2
问题描述
参考【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.8.pdf第38章-根文件系统构建,移植完后,使用NFS挂载,在kernel启动后,提示Cannot open root device "nfs" or unknown-block(2,0): error -6,详细log如下:
原因分析
通过上图的log,可以得到一下几点信息:
1、eth0网卡驱动没有问题,state从not ready转为了ready。
2、开发板的ip、服务器ip和网关均没有问题。
3、Cannot open root device "nfs"表示有可能是路径配置有问题。
重点看第3点,重启开发板,在u-boot命令行下,打印环境变量如下:
通过对环境变量bootargs的值分析,发现nfsroot的路径错了,在我虚拟机中Ubuntu的配置,alientek/tftp文件夹,应用的是tftp命令;alientek/nfs文件夹,应用的是nfs命令。
更正环境变量bootargs的nfsroot路径(将tftp改为nfs)后,重启开发板进入kernel,rootfs挂载成功,如下图(使用ls命令,可查看rootfs下的文件夹信息)。
总结
1、初学时应大致理解每个步骤的原理,以免出现异常情况。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构