最近在学习Linux驱动,字符设备驱动第一个实验失败,对于新手,有点打击学习的积极性。好在慢慢排除原因,解决了问题,现总结一下。
出现的问题:在生成xxx.ko文件后,并且cp 到nfs挂载的根文件系统下。在Ubuntu里面可以看到拷贝过去的文件,但在开发板上就是看不到。
原因是bootargs设置错误了:
需要重新设置
设置完成后一定要记得使用saveenv保存环境变量。好吧,我就是因为没记得保存导致我以为更改了结果找原因找了半天。
使用 nfs 挂载根文件系统的时候发现并没有进入根文件系统,那么可能的原因有
一下几点:
1、bootargs设置错误(单词错误或者IP地址设置错误),可通过print bootargs打印输出检测;
2、设置的bootargs在uboot启动内核时被改写了,可先用命令eraseenv一下,然后手动设置环境变量;
3、网络原因。