前言
最近实习在做一个机器人的项目,运行平台是ALLWINNER的H3芯片,为此弄了个OrangePi开发板。
代码在Linux平台下编译运行会比较方便,在Windows下编写会比较方便,代码库在SVN上,如果有一种方法可以在Windows下操作,直接把SVN的代码库check out到板子上,在板子上编译运行,并且能在Windows下编写,不需要写完复制到板子里,那就能集合两者的优点,弥补彼此的缺点了。
为了做到这点,就需要Samba文件服务器。
Samba的功能跟VMware的共享文件夹很像,在板子的Ubuntu系统里划分出一个文件夹,通过Samba共享出来,在Windows下可以通过IP地址直接访问和修改,当然也可以直接用来check out和submit。
步骤
- 打开板子的Ubuntu终端,安装Samba
sudo apt-get install samba samba-common
- 新建你的共享文件夹(注意不要建立在 /root/ 路径下,root用户不要建立在 ~/ 路径下,否则Windows下会出现无权访问的问题)
mkdir /home/share
- 开放文件夹权限
chmod 777 /home/share
- 配置Samba服务器
sudo gedit /etc/samba/smb.conf
- 在文件的最后加上
[joyce_share]
path = /home/share
available = yes
browseable = yes
public = yes
writable = yes
- 注意path必须用绝对路径,不能用 ~/xxx,否则无法访问
- 保存,重启Samba(现在samba好像会自动刷新配置,无需重启)
sudo /etc/init.d/samba restart
- 然后你就可以在Windows下,文件管理器里,输入
file://这里填IP地址
- 就能看见你共享出来的文件夹了
遇到的一些坑
首先拿到H3开发板之后,我发现它上不了网
IP配置没有问题,也开启了网络连接,但就是上不了
Firefox浏览器还干脆打不开了
后来发现,原来是公司的墙挡住了。。。
需要上网的话,需要登录,登录需要在浏览器里输入账号密码
于是乎我分给板子的IP没有登录,就不能上网
但是浏览器也用不了啊,坑的一比
后来是先用TK1的板子,把IP改成和H3一样的,在里面打开浏览器登录了,然后把网线插回到H3上,重启H3,就可以上网了。
第二是这块H3板子貌似是有点问题的
由于H3的系统引导是用Micro-SD卡的,烧写系统的时候可以只拔下SD卡,用读卡器插到电脑上,在Windows平台下也能烧写Linux镜像。工具的话在OrangePi官网都有。
然后问题来了,偶尔就出现read-only问题,即SD卡不能写入。但是重启几次,插拔SD卡几次,又可以写入了。这个坑了我好久。