这篇文章是对之前的一个小结,涉及到的东西是从事嵌入式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 # SELINUX= can 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 # SELINUXTYPE= can 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编译程序,在板端轻松运行的效果。