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,如需转载请自行联系原作者

相关文章
|
17天前
|
Ubuntu 安全 Linux
Linux(34)Rockchip RK3568 Ubuntu22.04和Debian 10上配置远程桌面工具
Linux(34)Rockchip RK3568 Ubuntu22.04和Debian 10上配置远程桌面工具
87 0
|
17天前
|
Web App开发 存储 Linux
Linux(33)Rockchip RK3568 Ubuntu22.04上通过SSH运行Qt程序和关闭Chrome的密钥提示
Linux(33)Rockchip RK3568 Ubuntu22.04上通过SSH运行Qt程序和关闭Chrome的密钥提示
79 0
|
11天前
|
Ubuntu 开发工具 git
ubuntu20.04编译安装运行emqx - 蓝易云
以上就是在Ubuntu 20.04上编译安装运行EMQX的步骤。
262 0
|
12天前
|
Ubuntu Python CDN
Ubuntu将自建服务配置开机启动项
在Ubuntu上设置Python Flask应用为开机启动服务,需要通过Systemd进行管理。首先,创建并编辑Systemd服务单元文件,指定`ExecStart`为Python解释器及Flask入口脚本,`WorkingDirectory`为应用目录,`User`和`Group`为运行用户,以及必要的环境变量。然后,使用`systemctl`命令进行daemon-reload,启用并启动服务。最后,检查服务状态以确保启动成功。重启机器测试,确认应用能自动启动。
|
15天前
|
存储 Kubernetes 应用服务中间件
k8s-配置与存储-持久化存储-NFS 挂载、StorageClass 存储类 动态创建NFS-PV案例
k8s-配置与存储-持久化存储-NFS 挂载、StorageClass 存储类 动态创建NFS-PV案例
|
17天前
|
Ubuntu 网络协议
开发板挂载 Ubuntu 的 NFS 目录
开发板挂载 Ubuntu 的 NFS 目录
|
17天前
|
Unix
AIX 配置NFS记要
AIX 配置NFS记要
12 0
|
17天前
|
存储 Kubernetes 数据安全/隐私保护
|
17天前
|
Ubuntu 关系型数据库 MySQL
Ubuntu 20.04 + mysql8 安装以及配置大小写不敏感
Ubuntu 20.04 + mysql8 安装以及配置大小写不敏感
|
17天前
|
Ubuntu Linux 网络安全
Git on Ubuntu 22.04: 终极安装与配置指南
【4月更文挑战第21天】
240 0
Git on Ubuntu 22.04: 终极安装与配置指南