McuzoneApplicationNotesTemplateA.1在WindowsPC上创建Linux虚拟机开发环境MAN3001A_CH在WindowsPC上创建Linux虚拟机开发环境文档编号MAN3001A_CH文档版本Rev.A文档摘要详细描述了在Windows主机下通过VirtualBox建立Linux开发虚拟机的步骤关键词UbuntuVirtualboxLinux开发创建日期2009-10-29创建人员Dracula审核人员Hotislandn文档类型公开发布/开发板配套文件版权信息Mcuzone原创文档,转载请注明出处McuzoneApplicationNotesTemplateA.1在WindowsPC上创建Linux虚拟机开发环境MAN3001A_CH更新历史版本时间更新作者Rev.A2009-10-29初始创建Dracula微控电子乐微电子杭州市登云路639号2B143销售TEL:86-571-89908193支持TEL:1891398916613770507096FAX:86-571-89908193开发之前,需要准备一台Linux开发机。开发机可以是实际的PC也可以是虚拟机。从成本上考虑,使用Linux虚拟机。在Windows开发机上可以选择很多虚拟机软件,比如VMware,VirtualPC,VirtualBox等。从价格和性能上平衡,推荐使用VirtualBox这个免费软件。在下面的描述中,HostPC(OS)称为宿主机,使用Windows系统,GuestPC(OS)也就是虚拟机,采用Ubuntu系统。在安装虚拟机的过程中,需要一些Linux基础的知识,这里不补充。特别指出,很多的配置文件的修改需要用vi这个工具,请先熟悉下vi的操作。2.创建VirtualBox虚拟机2.1安装VirtualBoxVirtualBox支持硬件虚拟化,可以通过硬件虚拟化来提升虚拟系统性能。使用软件securable.exe,检测处理器是否支持虚拟化:出现上图的情况说明系统支持虚拟化。然后从VirtualBox网站下载软件,并安装到Windows系统即可。McuzoneApplicationNotesTemplateA.1在WindowsPC上创建Linux虚拟机开发环境MAN3001A_CH2.2新建虚拟机运行VirtualBox,新建一个虚拟机:选择类型为Linux,系统采用Ubuntu,并給虚拟机起个名字u910:McuzoneApplicationNotesTemplateA.1在WindowsPC上创建Linux虚拟机开发环境MAN3001A_CH配置虚拟机内存大小为512MB:选择创建一个新的虚拟硬盘,并建议将虚拟硬盘放置在NTFS分区上:McuzoneApplicationNotesTemplateA.1在WindowsPC上创建Linux虚拟机开发环境MAN3001A_CH选择动态扩展方式,在早期可以节省硬盘空间:为虚拟硬盘起个名字,并设置大小,比如10GB(推荐设置大一些):McuzoneApplicationNotesTemplateA.1在WindowsPC上创建Linux虚拟机开发环境MAN3001A_CH虚拟机的信息:点击完成即可生成新的虚拟机:McuzoneApplicationNotesTemplateA.1在WindowsPC上创建Linux虚拟机开发环境MAN3001A_CH2.3配置虚拟机虚拟机建立完成后,还需要进一步配置:配置光驱的虚拟硬件使用iso驱动器:McuzoneApplicationNotesTemplateA.1在WindowsPC上创建Linux虚拟机开发环境MAN3001A_CH点击右边的文件夹图标,注册ubuntu9.10的liveCD的ISO镜像:然后选择加载这个ISO:McuzoneApplicationNotesTemplateA.1在WindowsPC上创建Linux虚拟机开发环境MAN3001A_CH网络配置里面选择bridge方式,这样局域网内别的PC也可以访问,方便之后开发板使用NFS:修改完毕之后选择确定,保存所有设置。2.3安装虚拟机系统配置完成后,在VirtualBox桌面双击虚拟机图标开机,虚拟机使用ISO启动。在显示语言选择的界面,建议选择English,然后回车:McuzoneApplicationNotesTemplateA.1在WindowsPC上创建Linux虚拟机开发环境MAN3001A_CH出现:选择第一项,按回车,系统开始启动。启动到桌面之后可以试用一下ubuntu的功能,这里就不叙述了。双击桌面的安装图标,开始安装:McuzoneApplicationNotesTemplateA.1在WindowsPC上创建Linux虚拟机开发环境MAN3001A_CH继续选择English安装:设置时区:McuzoneApplicationNotesTemplateA.1在WindowsPC上创建Linux虚拟机开发环境MAN3001A_CH选择USA的键盘布局:不需要对虚拟硬盘进行分区:McuzoneApplicationNotesTemplateA.1在WindowsPC上创建Linux虚拟机开发环境MAN3001A_CH输入用户名,创建密码,并选择登录方式:Cust的密码同样设置为cust,按Forward后会有警告,不理会。选择install开始安装:McuzoneApplicationNotesTemplateA.1在WindowsPC上创建Linux虚拟机开发环境MAN3001A_CH等待安装完成:安装完成,重启系统:选择登录用户:McuzoneApplicationNotesTemplateA.1在WindowsPC上创建Linux虚拟机开发环境MAN3001A_CH输入密码(cust)进行登录。2.4安装扩展插件关闭虚拟机,在虚拟机配置中加载virtualBox的扩展工具ISO,该ISO在VirtualBox的安装目录下:然后启动虚拟机并登录:McuzoneApplicationNotesTemplateA.1在WindowsPC上创建Linux虚拟机开发环境MAN3001A_CH桌面上就会出现光盘标记,启动一个terminal:运行如下命令:输入cust的sudo密码(cust),安装即会开始:McuzoneApplicationNotesTemplateA.1在WindowsPC上创建Linux虚拟机开发环境MAN3001A_CH安装完成后重启虚拟机:设置windows共享:运行设备菜单下的菜单,分配数据空间:McuzoneApplicationNotesTemplateA.1在WindowsPC上创建Linux虚拟机开发环境MAN3001A_CH添加一个共享文件夹:选择确定保存设置。在linux下运行如下命令:在windows上复制一些文件到共享文件夹下,比如:到linux下即可看到文件:McuzoneApplicationNotesTemplateA.1在WindowsPC上创建Linux虚拟机开发环境MAN3001A_CH3.配置GuestOS虚拟机上安装了Ubuntu之后还需要对OS进一步设置才能方便地进行SAM926xLinux开发。3.1设置虚拟机使用静态IP使用静态IP可以避免频繁设置开发板或者工具访问虚拟机的IP地址。修改文件/etc/network/interfaces,添加如下内容:使用下面命令重启网络服务:使用命令ifconfig可以看到eth0的配置:McuzoneApplicationNotesTemplateA.1在WindowsPC上创建Linux虚拟机开发环境MAN3001A_CH使用ping测试路由器和外网:3.2aptupdateUbuntu下使用apt来更新系统软件,首先需要做的就是更新apt包信息:3.3安装SSH服务使用SSH可以方便用户远程登录虚拟机,但是默认Ubuntu下没有SSH服务,首先需要安装:如果出现openssh-client的依赖问题,那么可以先卸载openssh-clien:然后再次安装openssh-server与openssh-client即可。McuzoneApplicationNotesTemplateA.1在WindowsPC上创建Linux虚拟机开发环境MAN3001A_CH安装完成,使用下面命令启动sshserver:在windows上运行一个sshclient并连接虚拟机:3.4挂载第二块硬盘为了开发便利,可以将开发工作置于第二块硬盘上,而第一块硬盘用于系统,避免出现系统盘大小不够的问题。关闭虚拟机。首先在VirtualBox的虚拟机设置中添加一块硬盘:McuzoneApplicationNotesTemplateA.1在WindowsPC上创建Linux虚拟机开发环境MAN3001A_CH选择新建:新建虚拟硬盘的过程与创建虚拟机时的方法一致。创建一个16GB的虚拟硬盘用于SAMLinux开发:创建完成后,就能看到新建的虚拟硬盘:McuzoneApplicationNotesTemplateA.1在WindowsPC上创建Linux虚拟机开发环境MAN3001A_CH回到虚拟硬盘的选择界面,选择添加:在下拉菜单中选择刚才创建的虚拟硬盘:完成后的虚拟机属性页面:McuzoneApplicationNotesTemplateA.1在WindowsPC上创建Linux虚拟机开发环境MAN3001A_CH重新启动虚拟机,新硬盘出现在系统中:但此时的新硬盘还不能使用:首先运行下列命令对硬盘分区:首先输入n新建一个分区,然后输入p,新建一个主分区,然后输入分区编号1,然后fdisk会问分区的起始,直接回车使用默认的即可,这样整个硬盘被当作一个分区。最后输入w保存更改。McuzoneApplicationNotesTemplateA.1在WindowsPC上创建Linux虚拟机开发环境MAN3001A_CH此时可以看到新的分区sdb1被创建:运行下面命令对新硬盘执行格式化:该命令在sdb1上创建ext4格式的文件系统。在系统根目录下创建文件夹samlinux,作为新硬盘的挂载点,并挂载新硬盘:到此,新硬盘的挂载完成,/samlinux将作为SAM926xLinux开发的主目录。McuzoneApplicationNotesTemplateA.1在WindowsPC上创建Linux虚拟机开发环境MAN3001A_CH3.5启用NFSNFS是一种文件系统,可以简单的说,其文件资源位于网络。使用NFS可以使得开发板直接使用Linux开发机上的文件系统,而不用烧写文件系统镜像,比如jffs2。这个功能可以在开发中节省不少时间。首先安装软件:软件安装完成后还需要做进一步设置。首先创建一个NFS的根目录,比如/samlinux/nfsroot,注意修改文件夹权限,如下图:修改/etc/exports,将上面建立的NFS文件夹export出去:添加目标文件夹:启动NFS服务:查看目录export情况:OK,可以看到设定目录被export,下面可以进一步进行mount测试。首先建立一个测试用的mount点:McuzoneApplicationNotesTemplateA.1在WindowsPC上创建Linux虚拟机开发环境MAN3001A_CH通过NFS将NFS目录mount到测试用的mount点/mnt/nfstst:执行该命令后,NFS目录被mount到了测试点,通过mount命令可以看到:到NFS目录下随便创建一个文件,比如:再看测试用的mount点,可以看到同样的文件:3.6使用SambaSamba是一个文件共享的服务,可以使得远