老是在网上看到有新人在问vmWare上运行VxWorks而出现的各种各样的问题。在某人的催促下,出于增长网站访问量的险恶用心,于是决定抽空把vmWare上配置VxWorks的步骤仔细的写一下,同时提供配置好的BSP包,省去新人们学习vxworks的烦恼。呵呵,废话少说,直接进入主题。 
                         1. 涉及的软件资源 
                        1) Tornado2.2/VxWorks5.5 
                         首先当然是vxworks/Tornado了,这里我们以Tornado2.2/vxworks5.5 
                          for X86为例,因为vmWare模拟的是X86体系的CPU系统,所有只能是装Tornado for 
                          X86的了。你没有Tornado,到哪里去找,呵呵,这个就不是我关心的了,自己想办法吧。什么,Tornado/VxWorks是什么东东。。。。那么老兄,我不认识你哈。 
                         2) vmWare虚拟软件 
                        vmWare为一个虚拟软件,可以虚拟出一个逻辑的电脑,它可以提供基于Intel 
                          CPU的虚拟PC系统环境,包括CPU、内存、BIOS、硬盘和其他外围硬件设备。具体的自己百度,下载也请百度吧。我们这里以vmWare6.0为例,其它版本的也一样的,我在4.0,5.5,6.0上都试过,基本上设置步骤都一样。 
                         vmWare的好处就是可以不用去买什么开发板,相当于提供了一个x86的板子,适合新人学习vxworks。当然最大的好处就是随便你怎么折腾它都没有关系,不怕弄坏,省钱环保。 
                         当然,如果你有家人想学电脑,比如要学格式化啊啥的,你又不放心自己的爱机给他们折腾,就给他们装个vmware好了,你就不用胆战心惊的了。 
                         3) 本站提供的vxworks/win98混合启动光盘映像ISO_for_vmware文件 
                        本站提供的vxworks/win98混合启动光盘映像ISO_for_vmware文件,主要用于在vmWare上直接当光盘用,里面包含已直接从光盘启动bootrom、直接从光盘启动vxworks、启动win98的dos、从硬盘启动等功能。 
                         如果你比较懒的话,不想怎么去设置,可以直接下载本站的启动ISO文件,直接让vmWare从光盘镜像启动,直接启动里面的bootrom就可以从host上引导vxworks。或者更懒一点,可以直接用光盘里的直接启动vxworks,在vxworks启动后再用Tornado和它连接调试,不过这样不是没有乐趣了不是。 
                         下载地址为: http://www.vxdev.com/html/68/690.htm 
                        4)AMD的ln97网卡驱动及BSP 
                         由于vmWare里面将所有的网卡驱动都模拟成了AMD的一款ln97网卡,而对应VxWorks里的ln97的驱动有些问题不能很好的在vmWare里工作,所有我们要去AMD网站上下一个对应的驱动,同时要对vxworks里的BSP进行修改。 
                         方便起见,本站直接将BSP进行了修改,将修改好了的BSP整个打包给大家可以直接下载。包含了网卡驱动,并已经将sysLn97xEnd.c文件修改好,还有makefile文件的修改也都在里面了。大家也不用去编译库文件。修改的部分大家可以自己在源文件中搜索frank就可以找到了。 
                         下载地址为: http://www.vxdev.com/html/68/693.htm 
                         5) win98启动工具盘映像(可选) 
                         这个主要是利用里面的fdisk工具对vmware的虚拟硬盘进行分区。如果有其他的比如diskman等工具也可以。我试过不进行分区格式化的话,无法实现在vmware的硬盘上启动vxworks。 
                         当然这个为可选项,如果不想设置vmware上硬盘启动的话,可以直接利用本站提供的光盘启动bootrom就可以了。 
                         2.准备工作 
                        1)Tornado2.2 for X86的安装 
                        忽略。 假设tornado安装的目录为d:\tornado22-x86,后面都以这个为假设,不再提。 
                         2) vmWare6.0的安装 
                        安装过程也忽略 
                         3) 下载用于vmWare上vxworks的BSP包 
                        下载地址为: http://www.vxdev.com/html/68/693.htm 
                        下载下来解压,将解压开的vmware这么个目录整个copy到d:\tornado22-x86\target\config\目录,这样我们的Tornado下就多了个vmware这么个BSP了。 
                         4) 下载本站提供的vxworks/win98混合启动光盘映像ISO_for_vmware文件 
                        下载地址为: http://www.vxdev.com/html/68/690.htm 
                        假设下载后放的位置为 f:\source\vm.iso 
                         5) 下载本站提供的win98启动工具盘映像(可选) 
                         下载地址为: http://www.vxdev.com/html/68/692.htm 
                        假设下载后放的位置为 f:\source\win98.iso 
                         3.利用本站提供的bootrom启动vxworks步骤 
                        1) 配置vmWare 
                         建立一个vmWare的虚拟机,起名为vxworks,配置的RAM大小为32M足够了,硬盘大小为0.1G(即100M,这个大小足够了,但vmware里面最小只能设这么小了),CDROM设置直接选ISO映像,选f:\source\vm.iso,网卡就设为host-only好了(其他方式也无所谓的),客户操作系统版本选other,其他的随便设了。设置好的如下图 
                          
						  
						  
						  
						  
                         然后配置vmWare的网卡设置。我这边是将vmWare的VM1网卡IP设置的是192.168.102.1,如下图(这个应该不用教的吧)。 
                          
                         2) vxworks的生成 
                        Torando中建立一个bootable的工程,注意BSP选vmware就可以了,一路往下建立工程。 
                          
						  
						  
						  
						  
                         建立工程后大家会发现,ln97xEnd.c文件已经包含在工程中,这是因为我在makefile中已经将此网卡驱动包含进来了。 
                          
                         然后,就是对vxworks进行一些配置,增加一些自己喜欢的模块,比如target 
                          shell等等,然后编译生成vxworks文件。 
                         3) 配置host端的ftp server 
                         ftp server用来将host边的vxworks,通过bootrom直接下载到target的RAM中,然后直接运行vxworks。ftp 
                          server的软件很多,随便的可以。这边方便起见,就用tornado本身带的wftp来示例。运行d:\tornado22-x86\host\x86-win32\bin\ 
                          wftpd32.exe, 
                         设置用户名,密码,这边都设置为target;设置根目录,对应vxworks生成的目录就可以了。 
                          
						  
                         可以将ftp的log打开 
                          
                         4) 启动vmware下的vxworks虚拟机 
                        启动后,先按F2键进去bios进行设置(手要快点),将启动设备的第一个设为CDROM,然后启动。启动后就会从来本站提供的vxworks 
                          bootrom/win98启动盘的界面,选第一个bootrom启动即可。 
                          
						  
                        默认参数如下,可以用C命令进行修改。 
                          
                        参数改好后,就直接敲 @ 启动vxworks。 
                          
                        启动后的界面如下,这个vxworks里已经包含了target shell。 
                          
                        在host的命令行下,ping一下看看跟vxworks通了没有。 
                          
                         之后,就可以通过tornado的target server跟vxworks连接,进行调试了。 
                          
                         4. 配置vmware的硬盘启动vxworks的方式(可选) 
                         写得好烦啊,一步步抓图可真累啊,后面的就简单点了。 
                         1) 将vmware的配置里的CDROM里ISO文件改成f:\sourec\win98.iso文件,启动vmware,启动后出来一个win98的dos启动盘,选支持CDROM启动。 
                         Win98的dos启动后,可能会有提示说硬盘分区不对。进去光盘目录(可能是D:), 
                          然后运行fdisk,将原有的分区删除,创建新的分区,然后重启。重启后,将C盘进行格式化。这样这个vmWare中的100M的硬盘我们就可以用了哈。 
                         2) 再将将vmware的配置里的CDROM里ISO文件改回f:\sourec\vm.iso文件,启动虚拟机。 
                         出来选择菜单后,选3 pwin98启动,选择支持CDROM启动。启动后,进入光盘目录,里面有bootrom.bin,mkboot.bat,vxsys.com等几个文件。执行 
                         D:> lock C: // 这一步很重要,否则不然往硬盘写bootrom的 
                         D:> mkboot c: bootrom.bin 
                         这样bootrom就写到C盘去了。 
                         3) 启动vmware虚拟机,按F2进入bios设置,将启动项设为硬盘启动。 
                         4) 这样就会从硬盘的bootrom启动了   
                         |