MINI2440 samba移植笔记

PC平台:ubuntu 12.04 lts

samba-4.0.8


解压samba-4.0.8.tar.gz进入source3目录,在这个目录下编写一个脚本config.sh内容如下:


./configure CC=arm-linux-gcc LD=arm-linux-ld AR=arm-linux-ar --target=arm-linux --host=i686 --cache-file=cache-file.cache


由于检查硬件信息的软件在宿主机上无法运行,在configure过程中可利用--cache-file将硬件平台已知信息保存到cache-file.cache中,再次configure时将从cache-file.cache中读取所需硬件信息。


在configure中出现一些如下所示错误:


MINI2440 samba移植笔记_第1张图片


在configure脚本中搜索到需要给ac_cv_c_bigendian赋值,由于ARM平台为小端,在cache-file.cache中加上ac_cv_c_bigendian=no,后面出现类似情况都这样处理。

configure成功后进行make

会出现#error SIZEOF_BLKCNT_T_NOT_A_SUPPORTED_VALUE错误,查找内核源码后发现ARM平台定义了typedef u64 blkcnt_t,将include/autoconf/config.h文件中/* #undef SIZEOF_BLKCNT_T_8 */改成/#define SIZEOF_BLKCNT_T_8重新make,编译成功

执行sudo make install prefix=/usr/local/arm/samba,

然后将/usr/local/arm/下的samba目录打包,复制到开发版上,解压到/usr/local目录,最后的路径必须为/usr/local/samba,加上相应权限。

进入/usr/local/samba/lib目录新建文件smb.conf内容如下:

[global]
workgroup =Mygroup
server string =Samba
netbios name =myarm
guest account=root
security =share
[share]
path =/home
writeable =yes
guest ok=yes
browseable=yes

进入/usr/local/samba/sbin/

执行

./smbd -D &

./nmbd -D &

samba服务器成功启动


你可能感兴趣的:(ARM/Linux)