开发环境为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 可以查看进程。