当前位置: 首页 > 工具软件 > wrk > 使用案例 >

WRK环境搭建

孟高峰
2023-12-01

(1)将wrk-v1.2文件夹下的所有文件夹base、Tools、public、ws03sp1hals 复制到虚拟机中一个目录,如 C:/wrk-v1.2

 注意,复制到的目标文件夹不能有空格,否则,则进行nmake时会出现错误:

checktoolarch

……

NMAKE : fatal error U1077: '"C:/w r k/tools/x86/nmake.exe"' : return code '0x2'
Stop.

(2)设置环境变量,以使用nmake命令:

path /wrk-v1.2/tools/x86;%path%   (可直接输入path查看设置结果,设置的临时的环境变量,只对当前CMD有效)

 

(3)进入 cd C:/wrk-v1.2/base/ntos 目录,进行编译:

nmake -nologo x86=

      在编译之前,首先确定系统中包含个VC7运行库文件,否则过程中可能出现找不到msvcr71.dll 和 MSVCP71.DLL ,。将这两个VC7运行库文件复制到/WINDOWS/system32/下即可。

(4)编译过程大约需要 2 分钟,编译的结果是在/wrk-v1.2/base/ntos/BUILD/EXE目录下生成内核可执行文件和符号文件等。将上述目录中的 WRK 内核文件 wrkx86.exe 复制到/WINDOWS/system32/目录下。

(5)在 X86 平台上,WRK内核需要多处理器版本的硬件抽象层hal.dll的支持。确定hal.dll版本,输入命令:

link -dump -all /WINDOWS/system32/hal.dll | findstr pdb

会显示出对应的hal.dll版本

注意,以上所有命令都是在包含/wrk-v1.2/tools/x86环境变量中进行的

上述多处理器 HAL 文件在/WS03SP1HALS/x86 目录下,找到对应hal.dll版本,复制到/WINDOWS/system32/下。

(6)编辑BOOT.ini,在后面加入: /kernel=wrkx86.exe /hal=halmacpi.dll ,也就是告诉系统使用我们自己编译的内核启动

multi(0)disk(0)rdisk(0)partition(1)/WINDOWS="Windows Server 2003, Enterprise" /fastdetect /NoExecute=OptOut
multi(0)disk(0)rdisk(0)partition(1)/WINDOWS="WRK 1.2" /fastdetect /NoExecute=OptOut /kernel=wrkx86.exe /hal=halmacpi.dll

之后就是添加串口,来和WinDbg进行通信了。


(7)在虚拟机设置中,添加一个串口(Serial Port),下一步选择“输出到命名管道”;下一步,设置“This end is the server”,设置“This other end is an application ”,完成。

(8)在虚拟机Server 2003中再次设置BOOT.ini,在后面再添加串口:

  /debugport=com1 /baudrate=115200

即:

multi(0)disk(0)rdisk(0)partition(1)/WINDOWS="WRK 1.2" /fastdetect /NoExecute=OptOut /kernel=wrkx86.exe /hal=halmacpi.dll /debugport=com1 /baudrate=115200

(9)在WinDbg快捷方式后面加入参数

 -k com:port=//./pipe/com_1,baud=115200,pipe

 

全部完成。

 

 类似资料: