在開發過程中,必然會出現多人同時工作、協着的情況,在嵌入式開發項目中更為平常,這樣可以加快項目周期,為産品上市占得時間先機。目前,使用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開發伺服器就已經誕生了!