开发者社区> 文艺小青年> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

OK6410与Ubuntu 11.10 NFS配置与运行第一个程序

简介:
+关注继续查看

昨天拿到了OK6410的开发板,板子还是不错的,就是资料有点乱,今天通过SD卡和DNW烧写了光盘里给的3.0的Linux系统,晚上打算运行一个简单的交叉编译小程序。

我的开发环境:

开发板:OK6410,Linux 3.0.1

宿主机:VMware Ubuntu 11.10

 

先说一下NFS

      直接说我的个人理解,NFS就是网络文件系统,用NFS可以实现把宿主机的目录挂载到开发板上,这样用宿主机进行交叉编译时就不用用USB或者SD卡将编译好的文件拷贝到开发板上运行了,调试程序非常方便。常用的NFS有两种,一种是做NFS根文件系统,及Linux的根文件系统就是网络上的NFS,也就是说开发板的启动文件全部是通过NFS从宿主机读取的,没有网络系统都启动不起来,目前网上找了很多都是这一种。这一种需要在U-boot中设置好同事还需要在内核中进行相应的配置。

      第二种是将宿主机的某个目录映射到开发板的某个目录,这个操作是在linux系统中配置的,比较之下先用第二种,本文就介绍这一种。

IP设置

由于nfs是基于网络的,因此ip设置是首要的。首先是主机,虚拟机运行的linux要把网络改为桥接的方式。如图所示。

image

然后通过ifconfig查看地址。

开发板进入linux系统后连接网络通过ifconfig查看地址。如果不和主机在一网段内需要设置

ifconfig eth0 121.248.202.168 netmask 255.255.255.0 up

或者可以通过DHCP自动分配

超级终端里面输入:
udhcpc –i eth0
命令,用来动态获取IP 地址,-i 参数用来指定网卡名称。

板子默认的配置适合连接路由使用,刚开始也纳闷是不是必须使用路由,实际上只要是一个网段内的都可以。

设置好之后互相ping一下。

开发板ping宿主机,如图所示。按ctrl+C结束,如图所示,表示ping通。

SNAGHTML2481678

主机ping开发板也一样。

互相能够ping通是前提,这一步搞不通一是查看网络,是不是防火墙啥的,为了确定不是虚拟机的问题,可以用虚拟机ping同一网段其他电脑试试,来排除虚拟机的问题。

如果这个不同就看看板子的内核和网卡设置。

 

宿主机nfs配置

     ubuntu中默认是没有安装nfs的,安装非常简单,联网情况下运行

apt-get install nfs-kernel-server

如果安装不成功在试试安装nfs-common和portmap,我是装这一个就可以了。

接下来需要编辑一下配置文件:

修改/etc/exports,在末尾添加:/armnfs  *(rw,sync,no_root_squash)可以使用vi修改,vi怎么使用这里就不说了自己百度一下。

/armnfs 表示我需要设置的宿主机共享目录

* 和前面中间有个空格,*表示任意ip均可连接,同理可以设置成某一个ip段,如192.168.0.*

rw 表示可读可写

no_root_squash允许客户机享有主机root身份

保存后在根目录下对应新建armnfs文件夹

mkdir armnfs

修改目录权限

chmod 777 -R /armnfs

好了,启动nfs

service nfs-kernel-server start

开发板挂载

开发板上挂载nfs

mount –t nfs –o nolock 121.248.202.163:/armnfs /mnt

含义为宿主机IP:宿主机nfs目录 开发板挂载目录

挂载之后在宿主机上的目录下新建个文件看看是否在开发板中能够看到。

 

下面可以在宿主机上利用交叉编译工具链编译个小程序在板子上跑了。

image

 

至此,第一个小程序就这样了,继续研究!

重启后IP地址又恢复默认了,找到一个方法,更改配置文件,设置固定ip

vi /etc/eth0-setting

打开后更改对应的设置,保存即可。


本文转自emouse博客园博客,原文链接:http://www.cnblogs.com/emouse/archive/2012/03/26/2418496.html,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
在Ubuntu 和 CentOS 中不用密码运行sudo命令
通常,不建议所有没有权限的用户在没有密码的情况下运行 sudo。建议您创建一个新的 sudoers 文件并单独分配命令必须运行没有密码的 sudo 命令!
0 0
window下的子系统ubuntu 运行docker遇到的坑
<p>  1.启动mysql容器后,使用docker ps 查看时是没有启动起来 ,使用docker logs 容器id 时,查看报错信息如下:</p> <p>  mysql_ssl_rsa_setup: Can't change permissions of the file 'ca-key.pem' (Errcode: 1 - Operation not permitted)</p> <p>  2021-06-27 11:56:04 [ERROR] Error setting file permissions forca-key.pem and ca.pem</p>
0 0
开发者可以在 Windows 10 上运行 Bash Shell 和用户模式 Ubuntu Linux Binaries 啦!
开发者可以在 Windows 10 上运行 Bash Shell 和用户模式 Ubuntu Linux Binaries 啦!
0 0
Windows 将支持运行 Linux Bash 和 Ubuntu
以下是一则来自微软的意想不到的公告:微软今天宣布,Windows 操作系统将支持 GNU 项目的 Bash shell。 Bash(Bourne Again shell)长期以来是 OS X 和许多 Linux 系统的标配,而 Windows 系统的开发人员默认的终端是微软自己的 PowerShell。
0 0
Ubuntu安装Logstash 并运行
一、下载 官网:https://www.elastic.co/downloads/logstash 二、安装 1、解压 tar -zxvf logstashxxx.
859 0
Ubuntu运行GitHub获取的Django项目
经常在github看到一些优秀的Django项目,但Django的运行需要大量的依赖,这里分享一下,从github获取Django项目,并在本地运行项目的小经验.
821 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
《LinuxShell训练营》
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载