http://www.linuxforum.net/forum/gshowflat.php?Board=embedded&Number=530405&page=4&o=
折騰了一天,終於在pxa255的開發板上將samba的移植弄好了,貼出來和大家共享。
一、編譯
1、從www.samba.org上下載最新samba的軟碼包,解壓;
2、設置環境變量:
export LD_LIBARY_PATH=/usr/local/arm/3.0/lib/
export CPPFLAGS=-I/usr/local/arm/3.0/include
export LDFLAGS=-L/usr/local/arm/3.0/lib/
export CC=/usr/local/arm/3.0/bin/arm-linux-gcc
export CFLAGS="-march=armv4 -mtune=arm9tdmi -mshort-load-bytes"
3、運行configure
./configure --host=i686 --target=arm-linux
4、在include/config.h文件裏增加:
#define SIZEOF_INT 4
#define SIZEOF_LONG 4
#define SIZEOF_SHORT 2
#define HAVE_GETTIMEOFDAY_TZ 1
#define USE_SETEUID 1
#define HAVE_IFACE_IFCONF 1
5、make
二、應用
1、在將要燒到flash的文件系統下創建以下目錄:
/usr/local/samba
/usr/local/samba/bin
/usr/local/samba/var
/usr/local/samba/private
/usr/local/samba/lib
注:因爲我們編譯的時候使用的是缺省配置,程序在運行時會在上述目錄裏生成文件。
同時編譯文件系統應該和編譯samba時候應該選用同樣的c庫。
2、將編譯後的samba源碼目錄下的bin/子目錄裏的內容拷貝到/usr/local/samba/bin
從網上下載一個簡單的smb.conf,經過修改後放到/usr/local/samba/lib。
smb.conf是samba守護進程nmbd、smbd運行的配置文件,在這個文件裏指定了
驗證、共享用戶、共享打印。
3、用smbpasswd -a username 添加一個samba用戶,並生成samba密碼文件smbpasswd,這個文件
的具體位置同樣在smb.conf裏指定。
4、運行samba守護進程
運行:nmbd -D, smbd -D,smbd提供 SMB/CIFS server,nmbd提供NetBIOS name server。
我們也可以通過在rc.local裏添加,從而系統在啓動後就會自動加載samba服務。
5、啓動samba的服務後,我們就可以在windows的瀏覽器窗口裏用ip地址和剛剛生成的
samba用戶身份來瀏覽服務器的共享目錄。