需求背景
嵌入式开发环境以编译服务器(Linux系统)为核心, 开发人员较多使用Windows系统, 通过若干工具, 可以实现开发人员使用Windows的开发工具,编写代码,然后在Linux系统上编译、执行、调试代码的过程。如下图,两个元素都是不同的主机, 通过网络连接通信:
这种是实际工作状态的要求, 在服务器具有强大的计算能力,能够编译较大的功能。 那么问题来了, 往往在个人场合,不用考虑服务器的计算能力, 只有自己的一台笔记本,那么如何在单机上实现这种构建工具呢?
答案当然是虚拟机了, 在笔记本上安装虚拟机, 虚拟机上安装Linux服务器版本, 然后笔记本作为客户端。下面进行详细描述。
相关软件
VirtualBox
Oracle VirtualBox是由德国InnoTek软体公司出品的虚拟机器软体,现在则由甲骨文公司进行开发,是甲骨文公司xVM虚拟化平台技术的一部份。它提 供使用者在32位元或64位元的Windows、Solaris及Linux 作业系统上虚拟其它x86的作业系统。使用者可以在VirtualBox上安装并且执行Solaris、Windows、DOS、Linux、OS/2 Warp、OpenBSD及FreeBSD等系统作为客户端作业系统。
官网下载地址: https://www.virtualbox.org/wiki/Downloads
选择你系统一致的版本下载。
Ubuntu Server
Ubuntu 服务器是自如扩展计算的领先平台。无论您是想部署一个 OpenStack 云、一个 Hadoop 集群还是一个 50,000 个节点的渲染农场,没有任何服务器能比 Ubuntu 服务器提供更有价值的自如扩展性能。
官网下载地址: http://www.ubuntu.org.cn/download/server
XShell
Xshell是windows下SSH远程登录Linux软件,通过SSH提供安全的Telnet访问。
Xshell 是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议。Xshell 通过互联网到远程主机的安全连接以及它创新性的设计和特色,帮助用户在复杂的网络环境中享受他们的工作。
Xshell适合于初级用户和高级用户。它的界面友好,为高级用户提供了更强大的功能。
官网地址:http://www.netsarang.com/products/xsh_overview.html
下载地址: http://www.netsarang.com/xshell_download.html
家庭和学校使用免费。
安装过程
1、 下载VirtualBox,安装完毕后, 在其上建立Ubuntu Server虚拟机
网络配置默认为NAT, 需要修改为 Bridge Adaptor模式, 这样虚拟机和主机一样, 可以拿到同一网段的地址, 既可以相互通信了。
2、 在Ubuntu Server上安装 SSH服务器
参考 http://shenji.io/ubuntu-server-using-the-ssh-service-and-remote-management.html
3、 在Ubuntu Server上安装 Samba服务器
参考 http://blog.csdn.net/i_chips/article/details/19191957
$ sudo apt-get install samba
一般来说,该目录的权限为755,将其改为777之后,Owner之外的其他用户才有权限写入。
$ sudo chmod 777 /home/share
$ sudo vim /etc/samba/smb.conf
在smb.conf最后添加:
[share]
path = /home/share
browseable = yes
writable = yes
comment = smb share test
三、创建samba用户
注意,创建samba用户之前,必须先确保有一个同名的Linux用户,否则samba用户会创建失败。
$ sudo smbpasswd -a smbuser
四、重启samba服务
$ sudo service smbd restart
4、 安装Xshell
查看服务器IP,使用服务器的账户登录SSH,然后用户可以使用系统命令了, 例如ls cat mv
5、 使用samba访问服务器文件
查看服务器IP, 运行窗口输入 \\IP, 然后在弹出的认证窗口中输入 第三部建立的 账号, windows上可以查看linux的共享目录, 可以拖个文件上去, 然后到Xshell的登陆会话中使用ls测试下。
至此, 环境搭建完毕, 命令输入使用 Xshell, 对文件的编写修改使用samba, 即实现windows使用windows工具写代码, 然后使用LInux编译程序。
实验
笔记本电脑地址如下:
虚拟Ubuntu Server IP如下:
windows 通过samba访问 LInux的共享目录, 并使用编辑器sublime 建立 helloworld.c
通过XShell编译执行 helloworld.c