海思3531D移植samba服务
本文介绍了samba移植到海思平台的步骤,samba服务电脑连接开发板需要连接一个路由器,无法直连,直连的话会永远连不上。
源码下载
板卡移植的samba版本为[ 3.4.17 ],建议不要用最老的或最新的版本,如果编译错误太多,可能是samba或ubuntu版本问题,samba源码下载地址如下:
链接: link.
下载完成,解压 tar -xvf 文件名
解压完成,进入source3目录,开始编译。
源码编译
执行./configure --host=arm-hisiv500-linux开始检查配置
在此过程中可能会出现报:cannot run test program while cross compiling,configure报错位置如下图。
将红框的位置改为 if test “$cross_compiling” = no; then : 再次执行config文件,执行成功后,检查生成的Makefile文件是否成功的配置了交叉编译链,如下图:
开始执行编译,编译完成后,所有的可执行文件和动态链接库在此目录的bin文件夹下。
移植到开发板中
通过tftp或nfs将编译出的bin文件拷贝到开发板中,在开发板的根文件系统的/usr/local下创建samba文件夹,在samba下创建bin,var,lib,private四个文件夹,将在ubuntu下编译完成的bin中的文件全部拷贝到开发板的/usr/local/samba/bin中。
创建samba的conf文件
再开发板的/usr/local/samba/lib下创建smb.conf文件,conf文件具体意思去百度,文件内容如下:
[global]
bind interfaces only = yes
workgroup = WORKGROUP
dns proxy=no
server string = jkl
guest account=root
security =share
interfaces = eth0
#smb ports=139
#smb ports=445
[share]
path = /home
guest ok=yes
browseable=yes
writable = yes
create mode=0777
directory mode=0777
运行需要的库
执行samba/bin下的smbd -D把提示缺少的库文件复制到开发板的/usr/lib中,再把samba/bin的CP437,CP850两个库放到/usr/lib中,不然执行的时候会一直报转ASCII格式,需要创建软链接的库libcrypt,libresolve,libdl;需要复制过去的编译生成的库,libwbclient,libtalloc.libtdb;还有一个自己编译工具的库libc,如果出现aboert core错误,为库的问题,重新拷贝新库。
查看运行发生的错误log
此时执行/usr/local/samba/bin下的smbd程序,log路径为/usr/local/samba/var/log.smbd,查看/usr/local/samba/var/log.smbd中报的错误。如果出现connection UNSUCCESSFUL,把 /usr/local/samba/var/locks/connections.tdb这个删掉,出现其他endpoint没有连接不用管,正常启动后的log如下图。
最后把smbd文件复制到/usr/lib下,执行smbd -D启动服务,执行ps命令产看是否启动了服务,如图。
再window中win+R,打开命令窗口,输入开发板ip,如下图
end 转载附上链接 end