VMWare 在嵌入式Linux开发的应用

2019-07-12 15:38发布

1.VMWare 简介 1.1 什么是VMWare. VMWare是比较流行的虚拟软件,它可以在Windows上模拟一台虚拟机,安装任何基于X86的操作系统. – 它也有Linux版本,这样可以在Linux安装Windows – 更新的服务器版VMWare ESX已经不需要操作系统了.直在一台硬件上虚拟出N个机器,现在很多IDC(互联网服务器商)采用这一技术,把一台多核机器分隔成N台虚拟机给不同网站使用. VMWare也有LINUX版本. 1.2VMWare优点 – 完全利用宿主机的硬件,虚拟出一套标准硬件. – 安装方便,所有信息实际上存在几个文件当中,出错删除即可,不影响HOST,备份也很容易.直接拷贝文件就行 – 而且可以任意在其它机器上使用,比如把安装虚拟机文件放在移动硬件上,就可以到处使用 – 支持暂停功能,长时间操作可以暂时停下来.下次再运行.真实的机器无法做到这一点 – 可以利用光盘的镜像文件虚拟成光驱进行安装.这样从网络下载的光盘文件无需象真实机器一样刻录成光盘才能安装操作系统 – 可以模拟出更多硬件用于测试,如模拟出多块网卡的机器用于防火墙测试. 1.3. VMWare的应用场合  安装一个操作系统,想试用另一个操作系统 – 如安装Windows,开发或测试使用Linux,用VMWare比安装双操作系统要安全的多  病毒,木马分析 – 用一个虚拟机让这些家伙随便折腾,用于分析  操作系统调试 – 如安装在直实硬件,只有一台机时,很多工具无法使用,用虚拟机就方便不少. 1.4. 为什么在VMWare安装Linux  教学的环境整个体系结构仍然是Windows.而且学生大多熟悉Windows,因为整个学习和开发环境还是以Windows为主,最佳的方案还是在VMWare安装  VMWare的Linux可以直接原来虚拟机文件无需安装.  学生也可以自行安装与教学无关的虚拟机 2.关于VMWare 虚拟机的网络类型 因为开发虚拟机需要大量与外界通讯.因此如何配置虚拟网络至关重要. 2.1 VMWare 分三种状态 – Bridge 模式(桥接模式) – HostOnly 模式 – NAT模式 三种模式采用不同通讯机制,Bridge 模式是在真实的网卡上绑定一个Filter ,HostOnly 模式是在Host操作系统中建一个虚拟网卡VMnet1,然后虚拟机与VMnet1通讯.NAT模式则是使用VMnet8与虚拟机通讯 2.2 Bridge模式 前提是必须接入网络当中,否则跟Host都无法通讯.因为真实网卡必须要连入网络才激活 clip_image002 2.3 Host Only 模式 使用虚拟网卡VMNet1与宿主机通讯,不能连到局域网上. clip_image004 2.4 NAT 模式 使用虚拟网卡VMNet8与宿主机通讯,不能连到局域网上. 在宿主机实现一个NAT服务器 – 注意:NAT服务器, VMWare都Windows一个应用程序,这里分开只是为演示需要 clip_image005 2.5 Bridge Filter Bridge 模式实现是在真实网卡绑定一个过滤器来实现,这说明Bridge必须要绑在一个真实网卡,有多个网卡时,要指定绑在哪个网卡上 clip_image007 两个虚拟网卡 clip_image009 2.6. 在创建虚拟机模式的选择 如果虚拟机位于一台IP网络中主机之上.并且这台虚拟机需要与网络上其它主机通讯,则选择Bridge模式 如果是一台单机,并且没有网线与外界连接,此时网卡不激活,此时用Bridge 模式将无效.比较好的选择是HostOnly,这样虚拟机的网卡IP与VMNET1网卡的IP在同一网段即可进行通讯.  NAT比HostOnly模式多了一个内置的NAT网关.其余配置差不多. 3.putty访问虚拟机中的LINUX putty控作LINUX比直接在虚拟机控制台操作更方便,因此使用较多,但是如果配置不对经常容易造成访问不到的情况. 在绝大部分情况下,开发者希望Windows操作系统与VMWare的Linux进行网络通讯,比如用Putty登录到Linux上,用Samba共享文件等等,在不同的环境下,VMWare要结合Linux进行不同配置,很多初学者经常配不通两者之间的网络,因此就有这一章节 3.1 第一点: 设置虚拟机网络模式 – 如果是物理主机是一台单机选择hostOnly模式,是网络主机选择bridge模式,单机即使用是有物理网卡,强制选择bridge模式,因为此时网卡未被激活,网络仍然无法连通,网络主机也能选择hostOnly模式,缺点就是只能是本机才能访问虚拟机,网络其它主机将无法访问虚拟机. – hostOnly模要选择一个VMnet1网卡, – Bridge模式要选择绑定在物理网卡上的VMnet0,如果一台机上有多个物理网卡,可以通过Manager Virtual Networks功能指定VMnet0绑定在某一块网卡之上. clip_image011 3.2 第二步:确定的主机访问模式. – 如果需要从虚拟机访问Windows主机,请确认Windows的防火墙是否关闭,一般需要关闭才能访问,(或者把需要访问的服务设为防火墙例外,当然这有点麻烦) 如从Linux用ftp 客户端访问Windows的FTP服务器 如果采用Windows自带的防火墙在¡±控制面板->Windows防火墙¡±中查看和设置 但如果Windows主机如果位于网络之上,将处于没有防火墙保护的危险状态.此时可以选择HostOnly模式,这样无需关闭防火墙,但这样意味网络上其它主机无法直接访问虚拟机 – 如果需要从Windows访问虚拟机,请确定虚拟机的Linux防火墙是否关闭. 一般需要关闭才能访问,putty即采用这一模式. 关闭和打开可在图形的界面的¡±主菜单->系统设置->安全级别 界面中查看和设置 3.3 第三步:配置IP网络 – 在同一个局域网中,两台主机必须处理一个IP子网才能进行通讯 判断是否处理一个子网的方法是把本机IP地址与上子网掩码,如果得到结果表示网络号,如果它一致表示位于同一个子网 如本机ip 是192.168.1.136,子网掩码为255.255.255.0 则网络号 192.168.1.0 – 用ifconifg 配置Linux的IP和掩码 ifconfig eth0 192.168.1.136 – 在Windows下用图形界面的¡±网络连接->网卡->TCP/IP进行配置,可用ipconfig /all来查看IP – 如用putty访问Linux,需要保证从Windows下用ping命令能ping 通Linux,如果连通则基本上用putty访问没有问题 4.嵌入式Linux 虚拟机的配置 在用于嵌入式LINUX开发当中。为了方便不同的场景进行开发。我总结要配置成如下结构比较方便开发。 4.1 双网卡模式 默认的网卡设为bridge模式,用于与共它机器通讯,一般是192.168.1.X网段。 当虚拟机创建后,停止虚拟机运行。在虚拟机设置当中。然后新增一个网卡.采用hostOnly模式,一般网段设为 192.168.2.x网段。 第二块网卡是保存在任何情况下(单机,网络)都能让Putty和samba能以固定地址访问到虚拟 clip_image013 4.2 关于虚拟机使用USB转口串口 一般笔记本没有串口,使用USB转串口来联接开发板。如果想虚拟机和WINDOWS都能用这个串口,在虚拟机要做如下配置。选择新增一个串口。在串口配置做如下配置. 使用物理串口,并在物理串口选择“USB串口”对应用设备名。在虚拟机中,这样可以直接使用 /dev/ttyS0 来操作串口。 clip_image015 注意:虚拟机仍然是一个应用程序。因此如果其它应用程序使用串口。在虚拟机中将打不开串口,反过来一样,如果需要临时性把虚拟机串口停用,可以在串口配置把“已连接”的标记去掉。