嵌入式uboot,内核启动通过nfs挂载根文件系统
来源:互联网 发布:php 字符串替换 编辑:程序博客网 时间:2024/05/28 23:11
概述
嵌入式移植学习第二个内容,通过nfs挂载根文件系统。也是自己第一次做,也遇到了一些问题,但最后还是都解决了。在此记录一下整个流程,也希望能够给别的初学者一个参考。
系统环境
PC端 linux :ubuntu 14.04
嵌入式端 君正: halley2开发板(x1000)
总体思路
pc端搭建nfs服务———->开发板端uboot配置内核加载根文件系统方式为nfs挂载方式———->完成挂载,测试
具体步骤流程
1,pc端搭建nfs服务
(1)安装及配置nfs服务器
//安装nfs服务器$ sudo apt-get install nfs-kernel-server//配置nfs服务,打开/etc/expors 文件$ sudo vim /etc/exports//添加如下内容,/home/sky/test/nfs_test是我设置的挂载目录,可能你是/home/user(你用户名)/***(自己创建的一个目录)。保存退出,如下图所示/home/sky/test/nfs_test *(rw,sync,insecure,no_root_squash,no_subtree_check)//重启该服务$ sudo /etc/init.d/nfs-kernel-server restart
(2)测试nfs服务搭建是否成功
//挂载我们设置的目录到/mnt文件夹下,若mnt文件夹内容与nfs_test内容相同表示搭建成功$ sudo mount 127.0.0.1:/home/sky/test/nfs_test /mnt
2,uboot设置内核加载文件系统方式为nfs方式
(1)uboot设置
进入uboot命令行界面,设置bootargs
$ set bootargs 'console=ttyS2,115200n8 mem=31M@0x0 ip=192.168.10.199 root=/dev/nfs nfsroot=192.168.10.197:/home/sky/test/nfs_test rw'
console=ttyS2,115200n8 //表示设置虚拟终端串口,调试串口。
mem=31M@0x0 //表时指定内存大小
ip=192.168.10.199 //设置设备ip
root=/dev/nfs //表示指定文件系统位置
nfsroot=192.168.10.197:/home/sky/test/nfs_test rw //表示nfs文件系统挂载位置
(2)保存和查看配置
//保存配置$ saveenv//查看配置,内容如下图所示$ pri
3,完成挂载及测试
(1)pc端将做好的文件系统复制到我们设置的挂载目录,用于开发板挂载。如下图所示:
(2)重启开发板,内核打印如下信息
进入到文件系统,如下图所示,可以看到和我们pc端完全一致
(3)测试挂载
在pc端挂载文件夹下touch一个test文件,我们可以在开发板马上看到也有一个tese文件。如图所示:
pc端
开发板
4,遇到的问题及解决方法
VFS: Cannot open root device “nfs” or unknown-block(0,255): error -6
在/dev目录下面没有nfs,打不开。具体错误如下所示:
通过资料知道,原来我们内核镜像编译时,没有将nfs挂载文件系统功能编译进去,内核根本不支持nfs操作,所以造成如上错误。
遇到问题就要解决啊,我们就编译一个有支持nfs挂载文件系统的内核镜像。我们通过make menuconfig 配置使其支持此功能。
(1)进入文件系统配置
(2)启动网络文件系统功能
(3)开启nfs功能
(4)网络配置,启动Networking support
(5)进入网络支持,里面的Networking options(网络配置选项)
(6)保存配置,重新编译内核,大功告成,哈哈哈。。。。
- 嵌入式uboot,内核启动通过nfs挂载根文件系统
- mini6410基于linux2.6.36内核通过NFS启动根文件系统总结(二uboot移植)
- u-boot通过nfs从服务器下载内核,并且启动内核,挂载根文件系统的方法
- TQ2416通过nfs挂载根文件系统启动
- 嵌入式 hi3518平台uboot引导nfs文件系统
- 嵌入式 hi3518平台uboot引导nfs文件系统
- 通过NFS挂载根文件系统
- 通过nfs挂载根文件系统
- NFS ROOT 启动内核的配置(UBoot)
- NFS ROOT 启动内核的配置(UBoot)
- NFS ROOT 启动内核的配置(UBoot)
- NFS ROOT 启动内核的配置(UBoot)
- NFS ROOT 启动内核的配置(UBoot)
- uboot启动ramdisk和nfs文件系统,Ubuntu 配置nfs .
- uboot启动ramdisk和nfs文件系统 Ubuntu 配置nfs
- mini6410基于linux2.6.36内核通过NFS启动根文件系统总结(三编译linux内核)
- Tiny6410基于linux2.6.36内核通过NFS启动根文件系统总结(成功挂载nfs根文件系统)
- mini6410基于linux2.6.36内核通过NFS启动根文件系统总结(五 内核测试 四 通过NFS成功启动根文件系统)
- kolla部署的openstack配置https
- 【腾讯云开发中的坑2】Unsupported major.minor version 52.0
- 【JS数据类型】JS中的判断数据类型函数
- Extjs6.2 继承与扩展
- infinite-scroll插件使用
- 嵌入式uboot,内核启动通过nfs挂载根文件系统
- 暑假训练总结反思
- 66. Plus One
- ps流来封装h.264数据
- 可并堆-STL-pbds详解
- JavaScript-字符串转成拖峰的写法
- HIVE 统计商品访问的top10 数据不能插入的问题
- 多进程实现并发服务器