突发奇想,想用封尘已久的6410+硬盘+sata转usb做一个网络移动硬盘,好处是看PP的时候不需要再从箱子里翻出一堆东西重新组装,看完之后再收起来。打开wifi瞬间享受流畅PP
一、编译
1、从http://download.csdn.net/detail/dragon101788/5273133下载或者去官网http://www.samba.org/samba/ftp/old-versions/上下载Samba 3.0.23.tar.gz
的软码包,解压;
注:在这里我编译3.0.23的版本搭载完成之后我经常出现smbclient可以找到目录,但是使用windows登录进去却提示“该文件夹为空”,所以换了几个版本验证了一下
samba-4.0.5:暂时编译不通过
samba-3.4.17:http://download.csdn.net/detail/dragon101788/5273161编译通过
samba-3.2.15:http://download.csdn.net/detail/dragon101788/5273142编译通过
samba-3.0.37:http://download.csdn.net/detail/dragon101788/5273133编译通过
samba-3.0.23:http://download.csdn.net/detail/dragon101788/5217491编译通过
我采用3.0.37的版本,应为编译出来小一点,后面使用的硬件环境是rt5350,内存只有32M还得跑ramdisk
2、环境
1)在环境变量中导入交叉编译环境
PATH=$PATH:/usr/local/arm/4.4.3/bin:$HOME/bin
2)运行configure:
[root@localhost source]# CC=arm-linux-gcc ./configure --host=i686 --target=arm-linux --disable-cups --disable-iprint
3)完了以后要修改一下include/config.h,加上
#define HAVE_IFACE_IFCONF 1
5.改lib/time.c,如下:
[root@localhost source]# vi lib/time.c +60
59 #else
60
61 gettimeofday(tval,NULL);
62 #endif
说明:注译掉第60行;第61行加上"gettimeofday(tval,NULL);"
5.make
[root@localhost source]#make clean
[root@localhost source]#make
二.使用
1.在ARM开发板上建以下目录:
/usr/local/samba/bin
/usr/local/samba/private
/usr/local/samba/lib
/usr/local/samba/var
因为在上面的configure中的路径我用的是默认的,在smb运行时要用到.并把/samba3.0.23/source/bin目录下的所有文件考到ARM开发板的/usr/local/samba/bin目录中.
2.在ARM开发板的/usr/local/samba/lib目录中建smb.conf配置文件,容如如下:
[global]
workgroup = ARMSMB
netbios name = ArmSMB
server string = Arm Linux Samba Server
security = share
[share] #显示的共享文件夹名
path = /home/share #要共享的文件夹路径
writeable = yes
browseable = yes
guest ok = yes
3.运行smb
#./smbd -D
#./nmbd -D
[root@FriendlyARM bin]# ps
308 root 2056 S ./smbd -D
309 root 2048 S ./smbd -D
如果ps看不到如上如容,说明smb没有运行,可以用smbd -i -d 8 启动smb,可以打印启动信息,其中-i 是交互模式,-d是打印调试级别。
4.在windows-->开始-->运行,中输入//192.168.2.230(这是开发板IP)不用密码就可看到ARM开发板smb共享了.