在开发过程中,必然会出现多人同时工作、协着的情况,在嵌入式开发项目中更为平常,这样可以加快项目周期,为产品上市占得时间先机。目前,使用linux作为开发产品的操作系统情况越来越多,使用越来越广泛。为了交叉编译,为了最接近开发目标,我们一般都会自己搭建一台linux开发服务器。linux开发服务器一些常用的功能必须支持,比如Samba、nfs、tftp、httpd等。
首先我们需要选择合适的linux操作系统作为服务器的系统,推荐使用Fedora8、Fedora10等,笔者在长期使用的过程中觉得比较稳定吧!如何安装该操作系统就不多说了。
装好系统后,需要增加linux OS用户,可以使用命令#adduser XXX;增加XXX用户,#passwd XXX给其设置登录密码。当然使用图形化创建用户也很直观、方便。在这个环节值得注意的一定要设置好该用户的home目录,一般都会设置到该用户的工作目录,各个用户的工作目录需要私有化、独立开来,这样方便些、安全些。
多用户的账户有了,我们应该来打通网络功能了,Fedora有bug,在图形化配置GATEWAY什么的会不成功,请安装如下方法修改:
# cd cd /etc/sysconfig/network-scripts/
# vi ifcfg-eth0
修改配置文件如下:
# Marvell Technology Group Ltd. 88E8001 Gigabit Ethernet Controller
DEVICE=eth0
HWADDR=00:16:e6:db:c2:96
ONBOOT=yes
BOOTPROTO=static //这个应该是“static”,而不是“dhcp”或“none”;
USERCTL=yes
PEERDNS=yes
IPV6INIT=no
NM_CONTROLLED=yes//这个应该是“yes”,如不修改,链接仍是disconnected;
TYPE=Ethernet
NETMASK=***.***.***.***
IPADDR=***.***.***.***
DNS1=***.***.***.***
DNS2=***.***.***.***
GATEWAY=***.***.***.***
step 3:
# service network restart
接下来就需要调试一下Samba功能了,这样在windows下编辑linux下的代码将非常的便利。命令行下操作方法如下:
Vim /etc/samba/smbusers
# Unix_name = SMB_name1 SMB_name2 ...
root = administrator admin
nobody = guest pcguest smbguest
dssun = dssun
hmchen = hmchen
增加Samba用户;
Vim /etc/samba/smb.conf
[dssun]
comment = *
path = /opt/STM/STLinux-2.3/devkit/dtvkit/dssun
writeable = yes
; browseable = yes
valid users = bluo, dssun, hmchen, hqian, sbxiang, tsfu, yrli
设置工作路径,可读写性、有效访问的用户等。
在图形化下也有配置菜单,这个就很简单了,不再叙述。
有了Samba就方便很多了!编译编辑都很不错了!接下来要着手你的开发平台软件,这个对于不同平台的SDK有不同的处理方法,根据自己的SDK来处理。
有了SDK后,我们编译通过后,一般都会进行调试,如何方便的调试呢?一般都会想到使用nfs调试。如何开通nfs功能呢?如下:
vim /etc/exports
/opt *(rw,sync,no_root_squash)
/ *(rw,sync,no_root_squash)
# Service nfs start
这样所以的用户都可以访问/opt下的文件目录了。
有了nfs后调试很方便了,但是感觉在做嵌入式的驱动调试的时候还是有个tftp比较方便,比如在调试kernel的时候,通过tftp直接down到DDR中运行,调试会更加方便。如何安装tftp呢?
以Fedora为例,一般默认安装的没有包括tftp功能,可以使用yum来安装,方便!
#yum install tftp;
#yum install tftp-server
还需要更改一下tftp的配置,如下:
vim /etc/xinetd.d/tftp
修改server_args = -s /tftpboot -c,这里的-c一定要加上,否则只能下载不能上传!!!
service tftp
{
disable = no
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot -c
per_source = 11
cps = 100 2
flags = IPv4
}
# mkdir /tftpboot
# chmod 777 -R /tftpboot/
# service xinetd restart
记得要关闭防火墙、selinux。不disabled selinux,Samba有可能只能读不能写,切记。
当然,httpd、svn这些功能也很需要,在前期文章中有介绍,不再叙述。
有了以上这些步骤,一台linux开发服务器就已经诞生了!