Arm-Linux下Samba的移植与开发环境搭建

2019-07-12 17:22发布

开发环境为Ubuntu12.04.5版本。
1.官网下载 samba-3.0.23.tar.gz,然后解压 tar -xvfz samba-3.0.23.tar.gz。
2.进入解压之后的文件夹,找到samba-3.0.23目录下的source文件夹,右键打开命令行终端,输入     ./configure CC=arm-fsl-linux-gnueabi-gcc LD=arm-fsl-linux-gnueabi-ld AR=arm-fsl-linux-gnueabi-ar --target=arm-fsl-linux --host=arm-fsl-linux-gnueabi  samba_cv_CC_NEGATIVE_ENUM_VALUES=yes 然后运行,会有错误。
 交叉编译器 arm-fsl-linux-gnueabi-gcc 根据自己的应用环境进行设置和选择.

3. 修改source目录下的configure ,将文件中 
echo "$as_me: error: cannot run test program while cross compiling
See `config.log' for more details." >&2;}
   { (exit 1); exit 1; }; }
   
   修改为
   echo "$as_me: error: cannot run test program while cross compiling
See `config.log' for more details." >&2;}
    }
    
    共计有7处
    
4.修改source/lib/time.c
第60行,gettimeofday(tval,NULL);

修改 source/client/mount.cifs.c
增加 #define PATH_MAX  50 5. 运行 make
6.. 将 source/bin/ 下的smbd和 nmbd  拷贝至嵌入式设备 的usr/local/samba/bin 文件夹下
7. 将修改好的 smb.conf文件 拷贝至usr/local/samba/lib 下, smb.conf文件的配置 与具体需求相关
8..在嵌入式设备中 ,输入mkdir usr/local/samba ,然后输入mkdir bin var private lib  share,进入usr/local/samba/bin  , 输入 chmod 777 smbd nmbd ,拷贝smb.conf至usr/local/samba/lib 目录下
9. 输入 ./smbd -i -d &     ./nmbd -i -d &  即可启动smbd nmbd服务
 可以看到串口输出打印信息,两个服务分别会输出对应的打印信息 nmbd 为 域名等服务提供 smbd 为登录、文件读写等服务提供
10. 输入命令 ps 可以查看进程。