作者:Eric.wang([email protected])

写于:2012-04-27

签名:清风拂过,掠影斑斑!

备注:此文仅代表个人观点,如有雷同,纯属借鉴。转载请注明出处!

 

这篇文章是对之前的一个小结,涉及到的东西是从事嵌入式linux开发中最基本的环境搭建问题,后续我会把自己总结的东西都放到网上。闲话少说,开始进入主题。

从事嵌入式linux开发,最基本的工具无非就是Host-Windows系统,VisualMachine-VMWare和Board。本文主要是如何将三者有效结合在一起,提高工作效率。

step00 :准备的软件

Host :Windows XP SP3

VM :VMWare8.0

Board :OK6410

Linux :Fedora13

step01 :安装软件

安装好以上软件,是一件很容易的事,在此就略过。

但在安装Fedora13时,记住最好使用定制软件方式,安装常见的开发工具,以免给后续使用带来不必要的麻烦。

step02 :配置Linux

安装Fedora有一个好处,就是可以在安装时选择很多有用的软件,对于不能上网的人来说是一件很好的事。不像Ubuntu,很多东西都需要从网上下载才能安装。

以下是对linux进行配置:

1、关闭Fedora的SElinux

SELinux是Security-Enhanced Linux,linux社区帮NSA开发的一种强制访问控制机制。虽然这种机制给系统本身提高了安全性,但对于开发人员来说,却带来了很多麻烦。所以我们只是在linux开发自己的东西,没必要使用这种安全策略。因此修改系统配置文件/etc/selinux/config,关闭SELinux。

   
   
   
   
  1. # This file controls the state of SELinux on the system. 
  2. SELINUXcan take one of these three values: 
  3. #     enforcing - SELinux security policy is enforced. 
  4. #     permissive - SELinux prints warnings instead of enforcing. 
  5. #     disabled - No SELinux policy is loaded. 
  6. #SELINUX=enforcing 
  7. SELINUX=diabled 
  8. SELINUXTYPEcan take one of these two values: 
  9. #     targeted - Targeted processes are protected, 
  10. #     mls - Multi Level Security protection. 
  11. SELINUXTYPE=targeted 

 2、自动设置IP

如果是在局域网中,可以分配一个固定的IP,以便后续开发。同时将IP配置在开机自启动项中,避免我们每次在开机后都需要使用终端来敲命令。

开机自动设置IP的脚本可以在/etc/rc.d/rc.local中设置。其实对于Fedora13来说,大部分开机自启动脚本应该都在这个配置文件里设置。

1 ifconfig eth0 192.168.0.10 up

3、关闭Linux防火墙

为了开发方便,有必要关闭防火墙。同样是在/etc/rc.d/rc.local中设置。

1 service iptables stop

4、开启NFS服务器

为了在虚拟机中,使Linux与开发板直接连接,最好使用NFS进行挂载。

在/etc/rc.d/rc.local中添加NFS服务器开机自启动脚本。

1 service nfs start

在NFS配置文件/etc/export中配置需要挂载的目录。

/home *(rw,sync,no_root_squash)

在本机可以测试NFS是否配置正确。

1 mount -t nfs -o nolock 192.168.0.10:/home /mnt/nfs

如果在/mnt/nfs目录下出现/home下的目录说明配置正确。

5、开启Samba服务器

如果通过VMTools实现虚拟机与主机之间共享文件,在编译文件时经常会遇到很多文件格式问题。因此我们可以使用Samba来实现linux与Windows的文件共享。

通过命令设置Samba服务器的方法在网上很多,在这里我使用一种最简单也最有效的方法设置Samba服务器。

在Fedora中System->Administration->Samba中可以很容易的配置Samba服务器。

然后在Samba服务器配置框File->Add Share的Base中选择要共享的目录,记得最好要选择左下角的Writable和Visible两项。

接着在Access中选择拥有访问权限的用户。

还要在Preferences->Server Setting中设置workgroup,这个工作组要与Windows的工作组一致。

最后在/etc/rc.d/rc.local中设置开机启动Samba服务器。

1 service smb start 2 service nmb start

到此,几个配置已经完成,然后就是重启Fedora或者用source命令使配置文件中的脚本生效。

配置好这一切,我们就可以很容易做到:

(1)在Windows下轻松访问linux共享的目录;

(2)在共享目录中使用强大的SourceInsight;

(3)通过SSH访问Fedora,编译执行我们的程序;

(4)在Board上挂载linux的NFS文件,轻松的在板子上跑我们最终需要的程序。

 简而言之,就是可以很容易实现:在Windows下编写代码,利用SSH编译程序,在板端轻松运行的效果。