使用nfs作为根文件系统启动,(3)
通过设置u-boot的bootargs来更改开机自动进入nfs远端服务器,不需要mount指令,实现虚拟机编译程序后直接通过u-boot烧写程序
1 使用nfs作为根文件系统启动
1.1 print 打印并查看根文件系统root启动地址
从下图看出root根目录启动是在flash上,接下来改为root=/dev/nfs,使用网络文件系统。

1.2 设置bootargs启动网络文件系统
1.2.1 打开linux-2.6.22.6(也就是开发板内核)内核文件目录,在"/documentation"找到"nfsroot.txt"资料文件。

1.2.2 打开nfsroot.txt 找到 "nfsroot=[<server-ip>:]<root-dir>[,<nfs-options>]" 这个阐述的nfs服务器参数设置。
server-ip:服务器(虚拟机)IP地址
root-dir:nfs根目录位置
nfs-options:选项,默认可以不填
这里填的nfs服务器参数是(用冒号隔开): nfsroot=192.168.1.106:/work/nfs_root/tmp/fs_mini_mdev

1.2.3 继续找到 "ip=<client-ip>:<server-ip>:<gw-ip>:<netmask>:<hostname>:<device>:<autoconf>" 这个阐述的nfs客户端链接的参数设置。
client-ip:客户端(开发板)IP地址
server-ip:服务器(虚拟机)IP地址
gw-ip:网关地址,一般都是192.168.1.1
netmask:子网掩码,255.255.255.0
hostname:主机名,可以不填
device:网卡设备,默认一个网卡就填eth0
autoconf:自动连接,填off不自动连接
这里填的nfs客户端参数是(用冒号隔开): ip=192.168.1.199:192.168.1.106:192.168.1.1:255.255.255.0::eth0:off

最后将上面两个参数,代入到bootargs中,步骤:
set bootargs noinitrd root=/dev/nfs nfsroot=192.168.1.106:/work/nfs_root/tmp/fs_mini_mdev ip=192.168.1.199:192.168.1.106:192.168.1.1:255.255.255.0::eth0:off init=/linuxrc console=ttySAC0 设置nfs根目录
save 保存
重启开发板后,可以看到" VFS: Mounted root (nfs filesystem). ",已经登录了nfs文件系统,输入ls可以看到远端虚拟机目录

2. 使用NFS初试编译好的驱动
2.1 先将驱动程序拷贝到虚拟机与2440共享的网络文件目录里" /work/nfs_root/tmp/fs_mini_mdev".

2.2 在Linux中编译驱动,这里以LED程序为例.
步骤:
cd drivers_and_test/first_drv 进入驱动目录,进入LED程序文件夹,其中LED程序文件名为“first_drv”.

vi Makefile 查看Makefile的指定的内核源码路径是否正确。(下图中看到的路径是正确的,然后在vi编辑器下按"ESC:q"退出)

make make编译 ,生成first_drv.ko文件 (ko文件用来insmod命令加载)
arm-linux-gcc -o firstdrvtest firstdrvtest.c 测试程序编译
3. uboot通过NFS 初试第一个驱动
uboot通过nfs将刚刚编译好的LED程序,加载到开发板2440里。
步骤:
cd drivers_and_test/first_drv/
insmod first_drv.ko 加载first_drv.ko 驱动到内核
./firstdrvtest 查看测试程序怎么使用,如下图所示,后面加on/off,表示开或关。

./firstdrvtest on 开灯
./firstdrvtest off 关灯
使用nfs作为根文件系统启动,(3)的更多相关文章
- 从ramdisk根文件系统启动Linux成功,及使用initramfs启动linux
下面两篇文章是ARM9论坛上的讲解ramdisk文件系统的很不错的文章 今天做了个试验,让Linux2.6.29.4从ramdisk根文件系统启动成功,总结一下. 其中涉及的内容较多,很多东西不再详述 ...
- 从ramdisk根文件系统启动Linux 二
今天做了个试验,让Linux2.6.29.4从ramdisk根文件系统启动成功,总结一下.其中涉及的内容较多,很多东西不再详述,如需深入研究请查阅相关资料(百度或谷歌一下一大堆). 开发环境:Fedo ...
- 从ramdisk根文件系统启动Linux成功
这几天参考国嵌的实验手册和网上的资料完成了u-boot定制.内核定制.ramdisk根文件系统的制作,并成功.趁热打铁,总结一下.本文引用了很多网络上的文章,就不一一注明了.感谢各大侠的帮助,如有雷同 ...
- Linux内核3.0移植并基于Initramfs根文件系统启动
Linux内核移植与启动 Target borad:FL2440 Bootloader:U-boot-2010.09 交叉编译器:buildroot-2012.08 1.linux内核基础知识 首先, ...
- uboot、内核、根文件系统启动流程
[1]Uboot的启动流程 Uboot的启动分为两个阶段. 第一阶段:设置异常向量表,设置ARM核为svc模式,关cache和关mmu, 关看门狗,初始化时钟,串口,内存,初始化栈空间,清bss ...
- NFS挂在文件系统启动参数
1.tiny6410(增强版)bootargs启动参数(周学伟)noinitrd console=ttySAC0,115200 lcd=S70 init=/init root=/dev/nfs rw ...
- linux文件系统启动流程、启动脚本
linux文件系统启动流程.启动脚本 下面是一张Linux启动流程图: 在了解启动流程之前,我们应该先知道系统的几个重要脚本和配置文件,他们对应的路径为: 1. /sbin/init 2. /etc/ ...
- 目标板通过nfs挂载根文件系统
目标板挂载根文件系统的方法有两种(这里所说的服务端就是ubuntu,Ubuntu已经成功安装了nfs服务,并且保证服务端与目标板ping 通) 第一种:等待开发板启动之后去挂载,此时文件系统从Flas ...
- mini6410基于linux2.6.36内核通过NFS启动根文件系统总结(一搭建开发环境——建立NFS服务器)
http://blog.csdn.net/yinjiabin/article/details/7489030 建立 nfs 服务器 在嵌入式 linux 开发的时候,常常需要使用 nfs 以方便程序的 ...
随机推荐
- XML 入门 - XML 系统教程(1)
XML (Extensible Markup Language)指可扩展标记语言. 组成 <?xml version="1.0" encoding="UTF-8&q ...
- ubuntu下安装opencv库+Python2.7环境安装及开发摄像头拍照应用
好久没有更新了,今天更一篇最近遇到的问题,及解决办法,后面博客得继续写起来 安装 #使用Python下的lib库直接进行安装 apt-get install python-opencv 测试 #使用如 ...
- Django 最好的缓存memcached的使用 小记
嗯,咳咳咳咳咳,这是在win平台上.linux平台上没折腾 首先你要在win上安装 Memcache 下载 :点我下载 里面有x64 和 x86 的.根据自己的系统版本来选择使用 使用命令行: 1 ...
- svn本地目录结构for window
演示内容: 使用svn目录结构来进行备份正式版和修复版本,最终合并修复版本.主干上的版本. 使用工具: visualSVN server 服务器软件工具 TortoiseSVN客户端工具 1.服务器的 ...
- DynamicXml
/* var xml = @"<root><books><book is_read=""false""><a ...
- Linux - 简明Shell编程11 - 调用脚本(CallTheScript)
脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 主脚本: CallTheScript.sh #!/bi ...
- 重新认识alias:通过alias让rm更安全
rm的悲剧总是发生在不经意之间,所以无论是在shell脚本中还是交互式bash环境下,执行rm命令时总应该三思三思再三思.也因此,很多人想尽办法防止文件误删除,方法也各种各样. 1.1.1 alias ...
- ThinkSNS+ 基于 Laravel master 分支,从 1 到 0,再到 0.1
什么是 ThinkSNS+ 09 年,由北京的团队开发了 ThinkSNS 涉足社交开源行业.这么多年累计不少客户.2014-2016,两年都在维护和开发之前基于 TP 的 ThinkSNS , 慢慢 ...
- Windows Server 2012 删除IIS之后 重新启动 桌面不出来 只出现一个命令提示框 解决方法
今天本来准备卸载 再重新安装一下IIS的,然后卸载的时候 可能是不小心 把 .net framework 给卸掉了 .net framework 带着powershell 所以卸掉之后 桌面快捷程序都 ...
- Charles使用(一)
Charles使用(一) 1.什么是Charles Charles是在MAC下常用的网络封包截取工具,在做移动开发时,是为了调试与服务端的网络通信协议,常常需要截取网络包来分析.Charles是通 ...