2011-03-02
我用过很久的Ubuntu,不过也是Linux下开发的新手,我在使用Linux做交叉编译环境时候遇到不少麻烦,一顿“google、百度”发现有用的文章没几个,都是互相抄,还抄的显得很专业,嗬嗬,所以想这里写些经验体会,加以分享!:-)
不多说,直奔正题!
关于嵌入式LINUX开发环境主要有以下几个方案:
1、直接安装 LINUX 操作系统;
2、在 WINDOWS 下安装虚拟机后,再在虚拟机中安装LINXUX操作系统;
3、两台电脑,一台 Linux 服务器,一台 Windows 客户端。
三种方案各有各的好处, 第三种方案,这种方式适合多人同时开发。可是需要以下设备:
1台 Linux 服务器
服务器,用来交叉编译 bootlaoder、内核以及应用程序等,
1台 Windows 机器
机器,SSH远程登陆至 Linux 服务器进行操作。
考虑到开发人员并不是那么多,也为了节省一台服务器,我们选择第一种方案:直接安装 LINUX 操作系统。
一、安装Ubuntu 10.10
至于以前使用Windows XP的选手,突然让我们换装Linux系统构成双系统,会有许多麻烦,因为Linux文件系统为EXT2、EXT3等文件系统,如果我们直接安装Linux,将使Linux系统文件与原Windows XP系统文件隔离,访问起来麻烦。而且Linux的安装很容易破坏原XP的启动,为此,我们选择Ubuntu的简单安装方式,在Windows环境下,像安装软件一样使用WUBI安装Ubuntu 10.10,简单方便,至于具体安装步骤,网上有的是,不多罗嗦,也不是本文的重点`````至此Ubuntu 10.10算是安装结束。
二、Ubuntu 10.10的基本设置
为了接下来的配置方便,这里先对Ubuntu进行一些简单的配置。
1、右键增加“以管理员身份打开“。
在终端输入sudo apt-get install nautilus-gksu,然后回车就可以了。
2、修改root账户的密码。
在终端键入“sudo passwd root” ,然后两次输入密码,即可。
以后在终端需要转换root账户的时候,只需键入”su root“,输入密码。
请牢记密码哈,当然如果实在忘了,可以通过$sudo passwd root 进行更改。
三、Ubuntu 10.10下的NFS服务器配置
1、安装Ubuntu NFS
Ubuntu上默认是没有安装Ubuntu NFS 服务器的,因此我们首先安装Ubuntu NFS服务器端:
NFS(Network File System, 网络文件系统)可以通过网络将分享不同主机(不同的OS)的目录——可以通过NFS挂载远程主机的目录,访问该目录就像访问本地目录一样!因此,我们交叉编译以后,可以让开发板共享Ubuntu下编译好的文件目录,来运行程序。
(一般而言,使用nfs能够方便地使各unix-like系统之间实现共享.但如果需要在unix-like和windows系统之间共享,就得使用samba了!)
NFS运行在SUN的RPC(Remote Procedure Call, 远程过程调用)基础上, RPC定义了一种与系统无关的方法来实现进程间通信.由此, NFS server也可以看作是RPC server.
正因为NFS是一个RPC服务程序,所以在使用它之前,先要映射好端口——通过portmap设定.比如:某个NFS client发起NFS服务请求时,它需要先得到一个端口(port).所以它先通过portmap得到port number. (不仅NFS,所有的RPC服务程序启动之前,都需要设定好portmap,不过一般情况下,使用默认的即可)。
$ sudo apt-get install nfs-kernel-server
在一些文档中,提出还需要使用apt-get来手动安装NFS的客户端nfs-common,以及端口映射器portmap,但其实这是没有必要的,因为在安装nfs-kernel-server时,apt会自动为我们把它们安装好。Nfs-common和nfs-kernel-server都依赖于portmap。
2、配置portmap
方法1:编辑/etc/default/portmap,将 -i 127.0.0.1去掉.
方法2:$ sudo dpkg-reconfigure portmap ,对Should portmap be bound to the loopback address?选N.
配置/etc/hosts.deny
(禁止任何host(主机)能和你的NFS服务器进行NFS连接),加入:
### NFS DAEMONS
portmap:ALL
lockd:ALL
mountd:ALL
rquotad:ALL