前言

最近实习在做一个机器人的项目,运行平台是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卡几次,又可以写入了。这个坑了我好久。