linux uboot nfs启动,嵌入式uboot,内核启动通过nfs挂载根文件系统
概述 嵌入式移植学习第二个内容,通过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)保存配置,重新编译内核,大功告成,哈哈哈。。。。
linux uboot nfs启动,嵌入式uboot,内核启动通过nfs挂载根文件系统相关推荐
- 嵌入式linux开发,开机NFS文件系统启动,使用nfs挂载根文件系统
NFS( Network File System)即网络文件系统,是 FreeBSD 支持的文件系统中的一种,它允许网络中的计算机之间通过 TCP/IP 网络共享资源.在 NFS 的应用中, NFS ...
- 用Qemu模拟vexpress-a9 (四) --- u-boot引导kernel,用nfs挂载根文件系统
环境介绍 Win7 64 + Vmware 11 + ubuntu14.04 32 u-boot 版本:u-boot-2015-04 Linux kernel版本:linux-3.16.y busyb ...
- linux开发 | nfs挂载根文件系统失败、处理过程
NFS挂载根文件系统失败 [ 5.552903] s5p-tvout s5p-tvout: hpd status is cable removed [ 5.563919] DBUG_PORT must ...
- BootLoader、Linux Kernel(linux内核)、RootFile(根文件系统)
这3部分是怎么相互协作来构成这个系统的呢? 各自有什么用呢? 三者有什么联系? 怎么联系? 系统的执行流程又是怎么样的呢? 搞清楚这个问题你对整个系统的运行就很清楚了,对于下一步制作这个linux系统 ...
- Linux通过nfs挂载根文件系统失败:VFS: Unable to mount root fs via NFS, trying floppy.
简介: 本文主要介绍一种nfs挂载失败的情况,即在根文件系统中dev文件下没有设置console和null节点.如果你的文件系统中没有这种情况,这篇文章可能对你帮助不大.不过我也会将我在查找这个问题时 ...
- linux内核开文件系统,新手,Linux内核无法挂载根文件系统
新手求助,Linux内核无法挂载根文件系统 一块开发板,厂商已经提供好了uboot,kernel,ramdisk文件系统跟安卓镜像 有:uboot.bin, zImage, ramdisk-uboot ...
- 【linux kernel】linux内核如何挂载根文件系统
文章目录 一.前世今生 二.kernel_init线程入口 三.重磅角色-prepare_namespace 一.前世今生 在kernel_init线程函数中会调用kernel_init_freeab ...
- 【问题解决】Linux通过nfs挂载根文件系统报错:VFS: Unable to mount root fs via NFS, trying floppy
问题: NFS配置没问题:NFS服务开启与使用.目录挂载与卸载 使用 NFS 挂载文件系统的时候报错: [ 101.800373] VFS: Unable to mount root fs via N ...
- AT91SAM9260——NFS挂载根文件系统
NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源.在NFS的应用中,本地NFS的客户端应用可 ...
最新文章
- Chrome浏览器打开异常慢的解决办法
- 学python可以干嘛-学完Python可以做什么?
- win7实用技巧之十——卷影副本
- Operating System Concepts--chap9 Memory Management;
- SQL Server date、datetime、smalldate区别
- ExtJs 滚动条问题
- 标准物模型:设备无缝对接,IOT界的福音
- linux7本地yum安装,RHEL7安装本地离线yum源仓库
- node link 踩坑记录
- bazel 链接第三方动态库_C/C++编程知识:Linux 动态库相关知识整理
- spark通过合理设置spark.default.parallelism参数提高执行效率
- 让我们准备祭奠小米帝国
- 步进电机驱动器电压是多少?
- ubuntu下adb的使用以及开启黑域
- 伯朗特机器人编程语言_机器人十大流行编程语言
- R语言学习笔记(二)——回归分析
- redis解除(删除)主从关系
- 免线圈高频无线充电IC无线供电芯片方案芯片XKT-511
- AD20设计规则检查设置(DRC检查设置)
- R语言统计学DOE实验设计:用平衡不完全区组设计(BIBD)分析纸飞机飞行时间实验数据...
热门文章
- Nobody's Perfect-But It Won't Stop Us Trying
- YOLO V3 一步步训练自己的目标检测
- 载波聚合解决方案的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
- php代码缩进,PHPStorm PHP代码缩进
- 2020年你要知道:10道精选阿里+华为Java面试题(附答案)
- 分数序列的求和java_中国电信Java开源练习题之分数序列求和
- LTE 的一些基础知识 【转】
- 【ABAQUS】模态分析
- android中的深度学习——快速风格迁移
- 小红书7W粉丝美女大V被盗号了,前来咨询乔戈里,封面就是她