|
我是新手,错误之处,还请大家指教!之所以标题写这么繁琐,我是想多一些关键词,这样如果有人需要,搜索起来就快多了.
大家如果在uClinux下面调试应用程序,如果每次更改都连内核一起下载的话,我想调试过程中好多时间都花在了等待上.于是,就想用网络调试,我不在乎不知道市面上有多少资料是介绍这个的,反正我弄的时候,在网上查了好多天都没有搞通,可能新手的原因吧
1.首先说明,我的潜入式操作系统的IP:192.168.0.99,上面的PC机IP:192.168.0.16
2.如果现在我想把PC上/home/debug共享,并且可以直接调试应用程序,那么需要执行
chmod -R 777 /home/debug,设置这个文件夹下所有文件可读可写可执行
3.配置NFS服务器端
3.1确认主机安装了NFS服务
方法是查看/etc/rc.d/init.d目录下是否有nfs文件,如果有说明主机已经安装了nfs服务。
3.2编辑/etc/exports文件
服务器端在文件/etc/exports中设定允许被访问的文件、目录以及访问的权限。设定格式如下:
欲分享出去的目录 主机名称 或者IP (参数1,参数2)
可以设定的参数主要有以下这些:
rw:可读写的权限;
ro:只读的权限;
sync:资料同步写入存储器中。
async:资料会先暂时存放在内存中,不会直接写入硬盘。
本例中编辑/etc/exports为:
/home/debug 192.168.0.99/255.255.255.0(rw)
3.3使/etc/exports文件的修改生效
在启动了NFS之后又修改了/etc/exports,是不是还要重新启动nfs呢?这个时候我们就可以用exportfs命令来使改动立刻生效,该命令格式如下:
exportfs [-aruv]
-a :全部mount或者unmount /etc/exports中的内容
-r :重新mount /etc/exports中分享出来的目录
-u :umount 目录
-v :在 export 的時候,将详细的信息输出到屏幕上。
具体例子:
exportfs –rv
这个命令行要求全部重新输出一次。我们在每次修改了/etc/exports文件后都要运行一次该命令,或者直接restart nfs也可以,如下所述.
3.4启动NFS服务
现在就可以启动NFS服务了:
/etc/rc.d/init.d/nfs start
如果要停止NFS服务:
/etc/rc.d/init.d/nfs stop
重新启动(停止后再启动,在修改/etc/exports之后使用)命令:
/etc/rc.d/init.d/nfs restart
4.配置客户端
4.1配置内核
进入File Systems --->选项
选中:
NFS file system support
Provide NFSv3 client support
4.2配置用户选项
进入Network Applications ---> 选项
选中:
portmap
进入BusyBox --->选项
选中:
mount
mount:support NFS mounts
完成以上配置后,即可编译产生映像文件。
5.挂载到主机
通过以下命令行,挂载到主机上:
/>mount –o nolock 192.168.0.16:/home/debug /var/nfs (这里的nfs文件夹当然要自己事先建好的)
命令行的参数是必要的,能够改善NFS下应用程序运行的速度。
当出现下一个/>时,mount成功。
接下来,你就可以直接运行应用秤杆程序了,修改了也不用重新下载的
6.运行主机的应用程序
运行mount目录下的可执行程序,程序输入:
/>cd /var/nfs
/>./demo (注意前面要加上“./”)
Hello World!
还有要注意的C 上的防火墙一定要关掉.setup里面关,虽然每次setup它又恢复了,\但是实际上关掉过的.
上面可不是我的原创,东抄西抄的,反正最后能用了,有的贴子发的新手看不懂,苦煞我也.
还要问一个问题:我在uClinux下用ftp下载,get ,, ,是在可写的文件夹下,可是总是下不了,还会死机,请大侠指教!
比如我下载一个general.o文件,
ftp> get general.o
提示信息:
local: general.o remote:general.o
227 Entering Passive Mode (192.168.0.16,32,82)
No Primary connection |
|