samba的移植

总结下samba-2.2.7a的移植过程:

1.下载源代码
        从 http://www.samba.org 下载 samba-2.2.7a.tar.gz 并解压。

2.设置环境变量
        export CPPFLAGS=-I/opt/host/armv4l/armv4l-unknown-linux/include/
        export LDFLAGS=-L/opt/host/armv4l/armv4l-unknown-linux/lib/
        export CC=/opt/host/armv4l/bin/armv4l-unknown-linux-gcc
3.
        ./configure --host=i686 --target=arm-linux

3.
        make

4.    make 后出错
                Compiling smbd/server.c
                In file included from include/includes.h:683,
                from smbd/server.c:22:
                include/smb.h:380: parse error before `int32'
                                                        (分析:显然少定义)
       
                在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                  

                引用自 http://www.linuxforum.net/forum/ ... 5&page=4&o=
                                        在此对前辈表示万分的感谢       

5.        继续make再次出错,提示找不到        sys/capability.h       

        在/include/includes.h
               
                   注释掉这一行                #include <sys/capability.h>

6.        make 出了一大堆warning但是编译成功

7.        把bin下的smbclient放到开发板上测试,运行提示少个库文件,在交叉编译器的lib里可以找到,放到开发板lib/下。ok!

        (如果要使用samba服务器还需要添加相应的配置文件,具体做法可以参考上面的的网址)。 

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1786502

 



折腾了一天,终于在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用户身份来浏览服务器的共享目录。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值