vmware下使用双网卡

vmware下使用双网卡
技术交流QQ群: 691976956

今天参考VMWare上安装VxWorks操作系统一文,把vxworks安装在vmware上,并配置vmware了使用双网卡充

 

当网关。本着交流学习的目的,把自己的一点点心得贴出来,第一次在贵站发贴,有错误欢迎指正。

 

实现的工具如下:

 

1.一台普通配置的PC机,并安装了Windows2000操作系统

 

2.包括pcPentiumBSP组件的Tornado 2.2 for pcPentium

 

3VMWare软件4.5.2

 

4AMDPCNET网卡的VxWorks系统驱动

 

(http://www.amd.com/us-en/ConnectivitySolutions/ProductInformation/0,,50_2330_6629_2452^2454^2488,0

 

0.html)

 

5RamdiskForNT1.5

 

安装的步骤大致如下,在值得注意的地方加以了注明。

 

1.替换原有的网卡驱动模块

 

此后按如下步骤完成驱动程序的编译和替换:

 

打开一个控制台窗口,运行批处理程序:

 

$(WIND_BASE)\host\x86-win32\bin\torVars.bat;

 

重新定位到$(WIND_BASE)\target\src\drv\end目录,运行:

 

make CPU=PENTIUM tool=gnu ln97xend.o

 

其间会产生一些警告,但这不会影响我们的工作。

 

重新定位到$(WIND_BASE)\target\lib\pentium\PENTIUM\common目录,并将上一步生成的文件ln97xend.o复制到

 

此目录下。备份此目录下的文件libdrv.a

 

运行命令arpentium -d libdrv.a ln97xEnd.o,删除libdrv.a中原有的ln97xEnd模块,然后再运行命令:

 

arpentium -ra iOlicomEnd.o libdrv.aln97xEnd.o

 

将我们刚刚创建的新模块添加进去

 

4.修改bsp目录下的config.h文件(本实验的BSP目录是D:\Tornado\target\config\pcPentium
 #define DEFAULT_BOOT_LINE
行为
"lnPci(0,0)yang:d:\\vxWorks h=192.168.0.129 e=192.168.0.254 u=targetpw=vxworks tn=target" (
比如本

 

机的机器名添为libinhostip设为192.168.0.241,为使目标机器处于同一网段,进行ftp下载vxworks镜像。E

 

192.168.0.252)

 

5.保证INCLUDE_ENDINCLUDE_LN_97X_END这两个宏处于定义状态(define),其他的宏都处于未定义状态(

 

undef
6.INCLUDE_PC_CONSOLE
,然后保证其处于定义状态(define);

 

7.sysLn97xEnd.c文件;这一步修改的目的是要使网卡正常工作。我们先定位到“memory-mapped IO base”这段

 

文字,然后将其前面的参数由pciRsrc[endUnit].bar[1]修改为NONE,这样就可以了。最后别忘了保存。(改写时

 

忘了加一个,符号,在编译生成bootrom出错,启动盘里的bootrom故不能启动,显示1.6+++++++++++++++++++

 

等,然后死机不动)

 

8.修改configNet.h。增加endDrvTb1里关于INCLUDE_LN_97X_END的参数定义。修改如下:
#ifdef INCLUDE_LN_97X_END
 {0, LN_97X_LOAD_FUNC, LN_97X_LOAD_STR,LN_97X_BUFF_LOAN,
 NULL, FALSE},
    {1, LN_97X_LOAD_FUNC,LN_97X_LOAD_STR, LN_97X_BUFF_LOAN,
 NULL, FALSE},
(要在config.h里添加网卡的相关定义(如中断号,及I/O基址等)但这似乎只限于ISA网卡?对于PCI的网卡似乎

 

不用??)

 

9.tornado2.2环境下选择自己的BSP目录重新编译生成bootrom

 

10.RamdiskForNT1.5虚拟一个软盘。MKBOOT命令制作启动盘.关于如何制作启动盘可以参考VMWare上安装

 

VxWorks操作系统,推荐将其写成批处理文件如mkPcBoot.bat。里面内容如下:
@echo on
@format a:
@d:
@cd D:\Tornado\host\x86-win32\bin&torvars&cdD:\Tornado\target\config\testPc&mkboot a: bootrom
可以对应自己的Tornado目录修改。

 

11.tornado自带的FTP工具当User Name“target”时,修改“Home Directory”D盘根目录(此路径由上面

 

DEFAULT_BOOT_LINE参数决定),同时修改口令为“vxworks”,最后点击“Done”按钮完成修改;我们还要打

 

FTP Server的日志功能。选择“Logging”菜单下的“Logging Options”子菜单,弹出如下对话框,其中除了

 

“Winsock Calls”外,让其他选项全都处于开启状态。

 

12.在vmware里新建一工程,除os选择other其余默认,并在机器配置选项里添加一网卡,确认两块网卡都是加电

 

时加载。

 

13.tornado2.2环境下新建bootable工程。选择工程所属BSPpcPentium。工程创建时会搜索BSP目录,根据目

 

录下的MAKEFILE文件,将需要的BSP源代码文件自动加入到工程。在network component组件配置里在baisc

 

network init 的属性里修改IP_MAX_UNIT2

 

14.tornado2.2环境下修改usrAppInit.c。添加如下代码:
 usrNetEndDevStart("lnPci",1);
 usrNetIfConfig("lnPci",1,"192.168.1.123","192.168.1.1",0xffffff00);
也可以在进入vxworks后,在shell下手动启动网卡。
END驱动的加载,启动,绑定协议,主要集中在usrEndLibInit()和usrNetEndDevStart ();
其中usrEndLibInit()位于target\config\comps\src\net\usrEndLib.c,根据endDevTblD加载END
usrNetEndDevStart (pDevName, uNum);
它位于target\config\comps\src\net\usrNetEndBoot.c。它的作用是绑

 

定协议层,其中(pDevName, uNum)是在启动参数里指定。大家有兴趣可以自己修改源码让vxworks启动时自动加载双网卡

 


启动vmware,可以在另一台主机上ping测试双网卡是否配置成功。(不好意思不会贴图,不能附上效果图)

 

你可能感兴趣的:(开发最前沿)