Unable to sign 64Bit VirtualBox drivers

Discussions related to using the OSE version of VirtualBox.
Post Reply
rbhkamal
Posts: 41
Joined: 3. May 2010, 18:07
Primary OS: Ubuntu 8.10
VBox Version: OSE self-compiled
Guest OSses: Linux

Unable to sign 64Bit VirtualBox drivers

Post by rbhkamal »

 Edit:  Updated the title

Hi all,
After compiling VirtualBox 3.2.8 on for win32 x64 systems, I signed the vboxdrv.sys and then tried to run a virtual machine only to get the error below:
Failed to open a session for virtual machine testing.
Failed to load VMMR0.r0 (VERR_LDR_IMAGE_HASH).
Unknown error creating VM (VERR_LDR_IMAGE_HSAH).

Any help on this please?
Unknown error creating VM (VERR_LDR_IMAGE_HSAH)
Unknown error creating VM (VERR_LDR_IMAGE_HSAH)
error.png (53.23 KiB) Viewed 9821 times
 
Last edited by rbhkamal on 27. Sep 2010, 18:34, edited 1 time in total.
rbhkamal
Posts: 41
Joined: 3. May 2010, 18:07
Primary OS: Ubuntu 8.10
VBox Version: OSE self-compiled
Guest OSses: Linux

Re: Unable to run 64Bit VirtualBox on Windows

Post by rbhkamal »

OK, I just confirmed that the unsigned driver works fine on windows 2003 x64. So the binaries are OK :)

Looking at Config.kmk I found the following:

Code: Select all

# There are three signing modes; 'test', 'development' and 'release'.
ifeq ($(strip $(VBOX_SIGNING_MODE)),test)
  VBOX_CERTIFICATE_SUBJECT_NAME ?= MyTestCertificate
  VBOX_CERTIFICATE_SUBJECT_NAME_ARGS ?= /n "$(VBOX_CERTIFICATE_SUBJECT_NAME)"
else if1of ($(VBOX_SIGNING_MODE),release development)
  VBOX_CERTIFICATE_SUBJECT_NAME ?= Sun Microsystems, Inc.
  VBOX_CERTIFICATE_SUBJECT_NAME_ARGS ?= /n "$(VBOX_CERTIFICATE_SUBJECT_NAME)"
  VBOX_CROSS_CERTIFICATE_FILE ?= $(VBOX_PATH_SELFSIGN)/MSCV-VSClass3.cer
  VBOX_CROSS_CERTIFICATE_FILE_ARGS ?= /ac "$(VBOX_CROSS_CERTIFICATE_FILE)"
  VBOX_TSA_URL ?= http://timestamp.verisign.com/scripts/timestamp.dll
  VBOX_TSA_URL_ARGS ?= /t "$(VBOX_TSA_URL)"
else
  $(error Unknown VBOX_SIGNING_MODE: $(VBOX_SIGNING_MODE))
endif

VBOX_CERTIFICATE_STORE ?= my
VBOX_CERTIFICATE_STORE_ARGS ?= /s "$(VBOX_CERTIFICATE_STORE)"

So I guess its a matter of setting things up properly?
rbhkamal
Posts: 41
Joined: 3. May 2010, 18:07
Primary OS: Ubuntu 8.10
VBox Version: OSE self-compiled
Guest OSses: Linux

Re: Unable to run 64Bit VirtualBox on Windows

Post by rbhkamal »

now I'm stuck.... vbox build wants to generate cat files but I don't have cat2info tool...

Here is what I used from my environment:

Code: Select all

set VBOX_PATH_SELFSIGN=C:/Program Files (x86)/Microsoft Visual Studio 8/Common7/Tools/Bin
set VBOX_SIGNTOOL="%VBOX_PATH_SELFSIGN%/SignTool.exe"
set VBOX_CROSS_CERTIFICATE_FILE=%VBOX_PATH_SELFSIGN%/MSCV-VSClass3.cer
set VBOX_SIGNING_MODE=release
set VBOX_CERTIFICATE_STORE=MyCompanyCertStore
set VBOX_CERTIFICATE_SUBJECT_NAME=MyCompany - for test use only

set VBOX_INF2CAT=" I DON't HAVE THIS" 
The settings above generate signed *.sys files but the build fails because of inf2cat.exe :(

[1] So how do I tell vbox to not generate cat files? looking at the make files, it seems that if VBOX_SIGNING_MODE is set then the cat files will be generated.

OR

[2] How do I get the inf2cat tool? I know its bundled with Microsoft's winqual but I can't find the download?!

Please help

Thanks
rbhkamal
Posts: 41
Joined: 3. May 2010, 18:07
Primary OS: Ubuntu 8.10
VBox Version: OSE self-compiled
Guest OSses: Linux

Re: Unable to run 64Bit VirtualBox on Windows

Post by rbhkamal »

A little bit of progress, I managed to install the inf2cat tool and the cat files are getting generated and signed but it seems that there is something wrong with the make files. If you look at the build log below, you will see that the following fails but I have no idea why.

Any help would be REALLY appreciated!

Code: Select all

kmk_builtin_install -m 644  C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE/out/win.amd64/release/obj/VBoxGuestCat.dir
kBuild: Installing C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE/out/win.amd64/release/bin/VBoxNetFlt.inf
kBuild: Installing C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE/out/win.amd64/release/bin/VBoxNetFlt_m.inf
kBuild: Inf2Cat VBoxNetFlt-inf - C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE/out/win.amd64/release/obj/VBoxNetFltCat.dir/VBoxNetFlt.cat
kmk_builtin_rm -f C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE/out/win.amd64/release/obj/VBoxNetFltCat.dir/VBoxNetFlt.cat 
"C:/Program Files (x86)/Microsoft Winqual Submission Tool/Inf2Cat.exe" /driver:C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE/out/win.amd64/release/obj/VBoxNetFltCat.dir /os:XP_X64,Server2003_X64,Vista_X64 /verbose 
usage: kmk_builtin_install [-bCcpSsv] [--[no-]ignore-perm-errors] [-B suffix] [-f flags]
            [-g group] [-m mode] [-o owner] file1 file2
   or: kmk_builtin_install [-bCcpSsv] [--[no-]ignore-perm-errors] [-B suffix] [-f flags]
            [-g group] [-m mode] [-o owner] file1 ... fileN directory
   or: kmk_builtin_install -d [-v] [-g group] [-m mode] [-o owner] directory ...
   or: kmk_builtin_install --help
   or: kmk_builtin_install --version
kBuild: Installing C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE/out/win.amd64/release/bin/VBoxNetAdp.inf


Below is the build log

Code: Select all

>vboxbuild.bat

C:\Users\build\Desktop>CALL "C:\Program Files (x86)\Microsoft Visual Studio 8\VC\vcvarsall.bat" amd64 
Setting environment for using Microsoft Visual Studio 2005 x64 tools.
ALLUSERSPROFILE=C:\ProgramData
APPDATA=C:\Users\build\AppData\Roaming
CommonProgramFiles=C:\Program Files (x86)\Common Files
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
CommonProgramW6432=C:\Program Files\Common Files
COMPUTERNAME=WIN-4NQ91K16U6R
ComSpec=C:\Windows\system32\cmd.exe
DXSDK_DIR=C:\Program Files (x86)\Microsoft DirectX SDK (November 2008)\
FP_NO_HOST_CHECK=NO
FrameworkDir=C:\Windows\Microsoft.NET\Framework64
FrameworkSDKDir=C:\Program Files (x86)\Microsoft Visual Studio 8\SDK\v2.0 64bit
FrameworkVersion=v2.0.50727
HOMEDRIVE=C:
HOMEPATH=\Users\build
INCLUDE=C:\Program Files (x86)\Microsoft Visual Studio 8\VC\ATLMFC\INCLUDE;C:\Program Files (x86)\Microsoft Visual Studio 8\VC\INCLUDE;C:\Program Files (x86)\Microsoft Visual Studio 8\VC\PlatformSDK\include;C:\Program Files (x86)\Microsoft Visual Studio 8\SDK\v2.0\include;
LIB=C:\Program Files (x86)\Microsoft Visual Studio 8\VC\ATLMFC\LIB\amd64;C:\Program Files (x86)\Microsoft Visual Studio 8\VC\LIB\amd64;C:\Program Files (x86)\Microsoft Visual Studio 8\VC\PlatformSDK\lib\amd64;C:\Program Files (x86)\Microsoft Visual Studio 8\SDK\v2.0\LIB\AMD64;
LIBPATH=C:\Program Files (x86)\Microsoft Visual Studio 8\VC\ATLMFC\LIB\amd64;
LOCALAPPDATA=C:\Users\build\AppData\Local
LOGONSERVER=\\WIN-4NQ91K16U6R
NUMBER_OF_PROCESSORS=6
OS=Windows_NT
Path=C:\Program Files (x86)\Microsoft Visual Studio 8\VC\BIN\amd64;C:\Program Files (x86)\Microsoft Visual Studio 8\VC\PlatformSDK\bin\win64\amd64;C:\Program Files (x86)\Microsoft Visual Studio 8\VC\PlatformSDK\bin;C:\Windows\Microsoft.NET\Framework64\v2.0.50727;C:\Program Files (x86)\Microsoft Visual Studio 8\VC\VCPackages;C:\Program Files (x86)\Microsoft Visual Studio 8\Common7\IDE;C:\Program Files (x86)\Microsoft Visual Studio 8\Common7\Tools;C:\Program Files (x86)\Microsoft Visual Studio 8\Common7\Tools\bin;C:\Program Files (x86)\Microsoft Visual Studio 8\SDK\v2.0\bin;C:\Perl64\site\bin;C:\Perl64\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;c:\Program Files (x86)\Microsoft SQL Server\90\Tools\binn\;C:\Program Files\Microsoft Driver Test Manager\Controller\
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
PROCESSOR_ARCHITECTURE=x86
PROCESSOR_ARCHITEW6432=AMD64
PROCESSOR_IDENTIFIER=AMD64 Family 16 Model 10 Stepping 0, AuthenticAMD
PROCESSOR_LEVEL=16
PROCESSOR_REVISION=0a00
ProgramData=C:\ProgramData
ProgramFiles=C:\Program Files (x86)
ProgramFiles(x86)=C:\Program Files (x86)
ProgramW6432=C:\Program Files
PROMPT=$P$G
PSModulePath=C:\Windows\system32\WindowsPowerShell\v1.0\Modules\
PUBLIC=C:\Users\Public
SESSIONNAME=Console
SystemDrive=C:
SystemRoot=C:\Windows
TEMP=C:\Users\build\AppData\Local\Temp
TMP=C:\Users\build\AppData\Local\Temp
USERDOMAIN=WIN-4NQ91K16U6R
USERNAME=build
USERPROFILE=C:\Users\build
VCINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio 8\VC
VS80COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio 8\Common7\Tools\
VSINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio 8
windir=C:\Windows
WTTBIN=C:\Program Files\Microsoft Driver Test Manager\Controller\
kBuild: Pass - Build Programs
kmk.exe[1]: Entering directory `C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE'
kmk.exe[2]: Entering directory `C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE'
kmk.exe[2]: Nothing to be done for `pass_bldprogs_doit'.
kmk.exe[2]: Leaving directory `C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE'
kmk.exe[1]: Leaving directory `C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE'
kBuild: Pass - Libraries
kmk.exe[1]: Entering directory `C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE'
kmk.exe[2]: Entering directory `C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE/src/VBox/Devices/PC/Etherboot-src'
kmk.exe[2]: Nothing to be done for `pass_libraries'.
kmk.exe[2]: Leaving directory `C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE/src/VBox/Devices/PC/Etherboot-src'
kmk.exe[2]: Entering directory `C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE'
kmk.exe[2]: Nothing to be done for `pass_libraries_doit'.
kmk.exe[2]: Leaving directory `C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE'
kmk.exe[1]: Leaving directory `C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE'
kBuild: Pass - DLLs
kmk.exe[1]: Entering directory `C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE'
kmk.exe[2]: Entering directory `C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE'
kmk.exe[2]: Nothing to be done for `pass_dlls_doit'.
kmk.exe[2]: Leaving directory `C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE'
kmk.exe[1]: Leaving directory `C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE'
kBuild: Pass - Programs
kmk.exe[1]: Entering directory `C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE'
kmk.exe[2]: Entering directory `C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE'
kmk.exe[2]: Nothing to be done for `pass_binaries_doit'.
kmk.exe[2]: Leaving directory `C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE'
kmk.exe[1]: Leaving directory `C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE'
kBuild: Pass - Install
kmk.exe[1]: Entering directory `C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE'
kmk.exe[2]: Entering directory `C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE'
kBuild: Installing C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE/out/win.amd64/release/bin/sdk/installer/vboxapi/VirtualBox_constants.py
kBuild: Installing C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE/out/win.amd64/release/bin/VBoxDrv.inf
kBuild: Inf2Cat VBoxDrv-inf - C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE/out/win.amd64/release/obj/VBoxDrvCat.dir/VBoxDrv.cat
kmk_builtin_rm -f C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE/out/win.amd64/release/obj/VBoxDrvCat.dir/VBoxDrv.cat 
"C:/Program Files (x86)/Microsoft Winqual Submission Tool/Inf2Cat.exe" /driver:C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE/out/win.amd64/release/obj/VBoxDrvCat.dir /os:XP_X64,Server2003_X64,Vista_X64 /verbose 
kBuild: Installing C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE/out/win.amd64/release/bin/additions/VBoxVideo.inf
kBuild: Inf2Cat VBoxVideo-inf - C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE/out/win.amd64/release/obj/VBoxVideoCat.dir/VBoxVideo.cat
kmk_builtin_rm -f C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE/out/win.amd64/release/obj/VBoxVideoCat.dir/VBoxVideo.cat 
"C:/Program Files (x86)/Microsoft Winqual Submission Tool/Inf2Cat.exe" /driver:C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE/out/win.amd64/release/obj/VBoxVideoCat.dir /os:XP_X64,Server2003_X64,Vista_X64 /verbose 
kBuild: Installing C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE/out/win.amd64/release/bin/additions/VBoxMouse.inf
kBuild: Inf2Cat VBoxMouse-inf - C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE/out/win.amd64/release/obj/VBoxMouseCat.dir/VBoxMouse.cat
kmk_builtin_install -m 644 C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE/out/win.amd64/release/obj/VBoxMouse/VBoxMouse.sys C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE/out/win.amd64/release/obj/VBoxMouseCat.dir
kmk_builtin_rm -f C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE/out/win.amd64/release/obj/VBoxMouseCat.dir/VBoxMouse.cat 
"C:/Program Files (x86)/Microsoft Winqual Submission Tool/Inf2Cat.exe" /driver:C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE/out/win.amd64/release/obj/VBoxMouseCat.dir /os:XP_X64,Server2003_X64,Vista_X64 /verbose 
kBuild: Installing C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE/out/win.amd64/release/bin/additions/VBoxGuest.inf
kmk_builtin_install -m 644  C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE/out/win.amd64/release/obj/VBoxGuestCat.dir
kBuild: Installing C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE/out/win.amd64/release/bin/VBoxNetFlt.inf
kBuild: Installing C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE/out/win.amd64/release/bin/VBoxNetFlt_m.inf
kBuild: Inf2Cat VBoxNetFlt-inf - C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE/out/win.amd64/release/obj/VBoxNetFltCat.dir/VBoxNetFlt.cat
kmk_builtin_rm -f C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE/out/win.amd64/release/obj/VBoxNetFltCat.dir/VBoxNetFlt.cat 
"C:/Program Files (x86)/Microsoft Winqual Submission Tool/Inf2Cat.exe" /driver:C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE/out/win.amd64/release/obj/VBoxNetFltCat.dir /os:XP_X64,Server2003_X64,Vista_X64 /verbose 
usage: kmk_builtin_install [-bCcpSsv] [--[no-]ignore-perm-errors] [-B suffix] [-f flags]
            [-g group] [-m mode] [-o owner] file1 file2
   or: kmk_builtin_install [-bCcpSsv] [--[no-]ignore-perm-errors] [-B suffix] [-f flags]
            [-g group] [-m mode] [-o owner] file1 ... fileN directory
   or: kmk_builtin_install -d [-v] [-g group] [-m mode] [-o owner] directory ...
   or: kmk_builtin_install --help
   or: kmk_builtin_install --version
kBuild: Installing C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE/out/win.amd64/release/bin/VBoxNetAdp.inf
kBuild: Inf2Cat VBoxNetFlt-inf - C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE/out/win.amd64/release/obj/VBoxNetAdpCat.dir/VBoxNetAdp.cat
kmk_builtin_rm -f C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE/out/win.amd64/release/obj/VBoxNetAdpCat.dir/VBoxNetAdp.cat 
"C:/Program Files (x86)/Microsoft Winqual Submission Tool/Inf2Cat.exe" /driver:C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE/out/win.amd64/release/obj/VBoxNetAdpCat.dir /os:XP_X64,Server2003_X64,Vista_X64 /verbose 
kmk.exe[2]: *** [C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE/out/win.amd64/release/obj/VBoxGuestCat.dir/VBCoInst.dll] Error 256
kmk.exe[2]: *** Waiting for unfinished jobs....
Processing directory (C:\VirtualBoxBuild\VirtualBox-3.2.8_OSE\out\win.amd64\release\obj\VBoxDrvCat.dir\) file (vboxdrv.inf)
Processing directory (C:\VirtualBoxBuild\VirtualBox-3.2.8_OSE\out\win.amd64\release\obj\VBoxNetAdpCat.dir\) file (vboxnetadp.inf)
Processing directory (C:\VirtualBoxBuild\VirtualBox-3.2.8_OSE\out\win.amd64\release\obj\VBoxMouseCat.dir\) file (vboxmouse.inf)
Processing directory (C:\VirtualBoxBuild\VirtualBox-3.2.8_OSE\out\win.amd64\release\obj\VBoxNetFltCat.dir\) file (vboxnetflt.inf)
Processing directory (C:\VirtualBoxBuild\VirtualBox-3.2.8_OSE\out\win.amd64\release\obj\VBoxVideoCat.dir\) file (vboxdisp.dll)
Processing directory (C:\VirtualBoxBuild\VirtualBox-3.2.8_OSE\out\win.amd64\release\obj\VBoxNetAdpCat.dir\) file (vboxnetadp.sys)
Processing directory (C:\VirtualBoxBuild\VirtualBox-3.2.8_OSE\out\win.amd64\release\obj\VBoxVideoCat.dir\) file (vboxvideo.inf)
Processing directory (C:\VirtualBoxBuild\VirtualBox-3.2.8_OSE\out\win.amd64\release\obj\VBoxMouseCat.dir\) file (vboxmouse.sys)
Processing directory (C:\VirtualBoxBuild\VirtualBox-3.2.8_OSE\out\win.amd64\release\obj\VBoxDrvCat.dir\) file (vboxdrv.sys)
Processing directory (C:\VirtualBoxBuild\VirtualBox-3.2.8_OSE\out\win.amd64\release\obj\VBoxNetFltCat.dir\) file (vboxnetflt.sys)
Processing directory (C:\VirtualBoxBuild\VirtualBox-3.2.8_OSE\out\win.amd64\release\obj\VBoxNetFltCat.dir\) file (vboxnetfltnotify.dll)
Processing directory (C:\VirtualBoxBuild\VirtualBox-3.2.8_OSE\out\win.amd64\release\obj\VBoxVideoCat.dir\) file (vboxvideo.sys)
Processing directory (C:\VirtualBoxBuild\VirtualBox-3.2.8_OSE\out\win.amd64\release\obj\VBoxNetFltCat.dir\) file (vboxnetflt_m.inf)
Parsing INF: C:\VirtualBoxBuild\VirtualBox-3.2.8_OSE\out\win.amd64\release\obj\VBoxMouseCat.dir\vboxmouse.inf
Parsing INF: C:\VirtualBoxBuild\VirtualBox-3.2.8_OSE\out\win.amd64\release\obj\VBoxDrvCat.dir\vboxdrv.inf
Parsing INF: C:\VirtualBoxBuild\VirtualBox-3.2.8_OSE\out\win.amd64\release\obj\VBoxNetAdpCat.dir\vboxnetadp.inf
Parsing INF: C:\VirtualBoxBuild\VirtualBox-3.2.8_OSE\out\win.amd64\release\obj\VBoxVideoCat.dir\vboxvideo.inf
Parsing INF: C:\VirtualBoxBuild\VirtualBox-3.2.8_OSE\out\win.amd64\release\obj\VBoxNetFltCat.dir\vboxnetflt.inf
Finished parsing INFs
Finished parsing INFs
Parsing INF: C:\VirtualBoxBuild\VirtualBox-3.2.8_OSE\out\win.amd64\release\obj\VBoxNetFltCat.dir\vboxnetflt_m.inf
Finished parsing INFs
Finished parsing INFs
Processing INF: C:\VirtualBoxBuild\VirtualBox-3.2.8_OSE\out\win.amd64\release\obj\VBoxDrvCat.dir\vboxdrv.inf
Processing INF: C:\VirtualBoxBuild\VirtualBox-3.2.8_OSE\out\win.amd64\release\obj\VBoxVideoCat.dir\vboxvideo.inf
Processing INF: C:\VirtualBoxBuild\VirtualBox-3.2.8_OSE\out\win.amd64\release\obj\VBoxMouseCat.dir\vboxmouse.inf
Processing INF: C:\VirtualBoxBuild\VirtualBox-3.2.8_OSE\out\win.amd64\release\obj\VBoxNetAdpCat.dir\vboxnetadp.inf
Finished parsing INFs
Processing INF: C:\VirtualBoxBuild\VirtualBox-3.2.8_OSE\out\win.amd64\release\obj\VBoxNetFltCat.dir\vboxnetflt.inf
Finished processing INFs
Testing driver package...
Processing INF: C:\VirtualBoxBuild\VirtualBox-3.2.8_OSE\out\win.amd64\release\obj\VBoxNetFltCat.dir\vboxnetflt_m.inf
Testing driver package...
Finished processing INFs
Testing driver package...
Finished processing INFs
Testing driver package...
Testing driver package...
Finished processing INFs
Testing driver package...
Testing driver package...
Testing driver package...
Finished processing INFs
Testing driver package...
Testing driver package...
Testing driver package...
Testing driver package...
Testing driver package...
Testing driver package...
Testing driver package...
Testing driver package...
Testing driver package...
Testing driver package...
Testing driver package...
Testing driver package...
Testing driver package...
Testing driver package...
Testing driver package...
Testing driver package...
Testing driver package...
Testing driver package...
Testing driver package...
Testing driver package...
Testing driver package...
Testing driver package...
Testing driver package...
Testing driver package...
Testing driver package...
Testing driver package...
Testing driver package...
Testing driver package...
Testing driver package...
Testing driver package...
Testing driver package...
Testing driver package...
Testing driver package...
Testing driver package...
Testing driver package...
Testing driver package...
Testing driver package...
Testing driver package...
Testing driver package...
Testing driver package...
Testing driver package...
Testing driver package...
Testing driver package...
Testing driver package...
Testing driver package...
Testing driver package...
Testing driver package...
Testing driver package...
Testing driver package...
Testing driver package...
Testing driver package...
Testing driver package...
Testing driver package...
Testing driver package...
Testing driver package...
Testing driver package...
Testing driver package...
Testing driver package...

Signability test complete.

Errors:
None

Warnings:
None
Testing driver package...

Signability test complete.

Errors:
None

Warnings:
None
Testing driver package...

Signability test complete.

Errors:
None

Warnings:
None
Testing driver package...
Testing driver package...
Testing driver package...
Testing driver package...
Testing driver package...
Testing driver package...

Signability test complete.

Errors:
Testing driver package...
Testing driver package...
None

Warnings:
None
Testing driver package...
Testing driver package...

Signability test complete.

Errors:
None

Warnings:
None

Catalog generation complete.
C:\VirtualBoxBuild\VirtualBox-3.2.8_OSE\out\win.amd64\release\obj\VBoxNetAdpCat.dir\vboxnetadp.cat

Catalog generation complete.
C:\VirtualBoxBuild\VirtualBox-3.2.8_OSE\out\win.amd64\release\obj\VBoxVideoCat.dir\vboxvideo.cat

Catalog generation complete.
C:\VirtualBoxBuild\VirtualBox-3.2.8_OSE\out\win.amd64\release\obj\VBoxMouseCat.dir\vboxmouse.cat

Catalog generation complete.
C:\VirtualBoxBuild\VirtualBox-3.2.8_OSE\out\win.amd64\release\obj\VBoxNetFltCat.dir\vboxnetflt.cat

Catalog generation complete.
C:\VirtualBoxBuild\VirtualBox-3.2.8_OSE\out\win.amd64\release\obj\VBoxDrvCat.dir\vboxdrv.cat
kmk_builtin_mv C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE/out/win.amd64/release/obj/VBoxNetAdpCat.dir/VBoxNetAdp.cat C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE/out/win.amd64/release/obj/VBoxNetAdpCat.dir/VBoxNetAdp.cat 
"C:/Program Files (x86)/Microsoft Visual Studio 8/Common7/Tools/Bin/SignTool.exe" sign  /s "MyCompanyCertStore" /n "MyCompany - for test use only"  C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE/out/win.amd64/release/obj/VBoxNetAdpCat.dir/VBoxNetAdp.cat
kmk_builtin_mv C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE/out/win.amd64/release/obj/VBoxDrvCat.dir/VBoxDrv.cat C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE/out/win.amd64/release/obj/VBoxDrvCat.dir/VBoxDrv.cat 
"C:/Program Files (x86)/Microsoft Visual Studio 8/Common7/Tools/Bin/SignTool.exe" sign  /s "MyCompanyCertStore" /n "MyCompany - for test use only"  C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE/out/win.amd64/release/obj/VBoxDrvCat.dir/VBoxDrv.cat
kmk_builtin_mv C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE/out/win.amd64/release/obj/VBoxVideoCat.dir/VBoxVideo.cat C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE/out/win.amd64/release/obj/VBoxVideoCat.dir/VBoxVideo.cat 
"C:/Program Files (x86)/Microsoft Visual Studio 8/Common7/Tools/Bin/SignTool.exe" sign  /s "MyCompanyCertStore" /n "MyCompany - for test use only"  C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE/out/win.amd64/release/obj/VBoxVideoCat.dir/VBoxVideo.cat
kmk_builtin_mv C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE/out/win.amd64/release/obj/VBoxMouseCat.dir/VBoxMouse.cat C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE/out/win.amd64/release/obj/VBoxMouseCat.dir/VBoxMouse.cat 
"C:/Program Files (x86)/Microsoft Visual Studio 8/Common7/Tools/Bin/SignTool.exe" sign  /s "MyCompanyCertStore" /n "MyCompany - for test use only"  C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE/out/win.amd64/release/obj/VBoxMouseCat.dir/VBoxMouse.cat
kmk_builtin_mv C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE/out/win.amd64/release/obj/VBoxNetFltCat.dir/VBoxNetFlt.cat C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE/out/win.amd64/release/obj/VBoxNetFltCat.dir/VBoxNetFlt.cat 
"C:/Program Files (x86)/Microsoft Visual Studio 8/Common7/Tools/Bin/SignTool.exe" sign  /s "MyCompanyCertStore" /n "MyCompany - for test use only"  C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE/out/win.amd64/release/obj/VBoxNetFltCat.dir/VBoxNetFlt.cat
Successfully signed: C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE/out/win.amd64/release/obj/VBoxNetAdpCat.dir/VBoxNetAdp.cat
Successfully signed: C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE/out/win.amd64/release/obj/VBoxDrvCat.dir/VBoxDrv.cat
Successfully signed: C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE/out/win.amd64/release/obj/VBoxVideoCat.dir/VBoxVideo.cat
Successfully signed: C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE/out/win.amd64/release/obj/VBoxNetFltCat.dir/VBoxNetFlt.cat
Successfully signed: C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE/out/win.amd64/release/obj/VBoxMouseCat.dir/VBoxMouse.cat
kmk.exe[2]: Leaving directory `C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE'
kmk.exe[2]: Entering directory `C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE'
kmk.exe[2]: *** Exiting with status 2
kmk.exe[1]: *** [pass_installs_this] Error 2
kmk.exe[1]: Leaving directory `C:/VirtualBoxBuild/VirtualBox-3.2.8_OSE'
kmk: *** [pass_installs_order] Error 2
>Exit code: 0    Time: 29.913
sandervl
Volunteer
Posts: 1064
Joined: 10. May 2007, 10:27
Primary OS: MS Windows Vista
VBox Version: PUEL
Guest OSses: Windows, Linux, Solaris

Re: Unable to sign 64Bit VirtualBox drivers

Post by sandervl »

Did you follow the instruction on how to create test certificates? (use google to find the MSDN page)
You must sign all binaries or else you can't load VirtualBox on 64-bit Windows.
rbhkamal
Posts: 41
Joined: 3. May 2010, 18:07
Primary OS: Ubuntu 8.10
VBox Version: OSE self-compiled
Guest OSses: Linux

Re: Unable to sign 64Bit VirtualBox drivers

Post by rbhkamal »

Thanks I think its working now (for test RELEASE_MODE) the problem was that the make files and the inf files where looking for a dll that's not in the src at all!

The dll was VBCoInst.dll so I just searched for all the make and inf files that point to VBCoInst and removed those lines, did a kmk and everything worked!

What is the VBCoInst.dll? The references for it are only in the make file but there is no actual source code for it, was it left out by mistake?


fyi, I test vbox by doing the following:
during bootup, press F8 and select "Disable driver signing enforcement" ... or something like that
then install the driver (you will get the warning, ignore it! )
SUPInstall.exe
comregister.cmd
virtualbox.exe

I didn't try to install the other drivers, just vboxdrv.sys
techjack
Posts: 12
Joined: 17. Sep 2010, 23:30
Primary OS: MS Windows 7
VBox Version: OSE self-compiled
Guest OSses: Windows

Re: Unable to sign 64Bit VirtualBox drivers

Post by techjack »

Hi RK,

Will running kmk sign the binaries and drivers if we set the signtool and inf2cat path?
I signed the binaries and drivers externally without using Make but I got the same error you got in ur 1st post.
rbhkamal
Posts: 41
Joined: 3. May 2010, 18:07
Primary OS: Ubuntu 8.10
VBox Version: OSE self-compiled
Guest OSses: Linux

Re: Unable to sign 64Bit VirtualBox drivers

Post by rbhkamal »

Yes, kmk will take care of signing and generating the cat files for you, but first you'll need to locate and delete anything related to VBCoInt. See my previous post.

Also make sure that you put the path for both exes in double quotes!


I haven't tried signing the drivers in release mode yet, but test mode seems to do the trick for now.
techjack
Posts: 12
Joined: 17. Sep 2010, 23:30
Primary OS: MS Windows 7
VBox Version: OSE self-compiled
Guest OSses: Windows

Re: Unable to sign 64Bit VirtualBox drivers

Post by techjack »

I didn't use make to sign.

I signed the drivers, dlls and exes externally.

Code: Select all

set TOOLDIR=C:\Tools
set SIGNTOOL="c:\program files\Microsoft SDKs\Windows\v6.1\bin\signtool.exe"
set PRIVATEPFX="%TOOLDIR%\Keys\VeriSign\Promoted\Private.pfx"               we have our own certificate
set PFXPASSWORD="xxxxxxxxxxxxx"
set TIMESERVER="http://timestamp.verisign.com/scripts/timstamp.dll"
set SIGN_URL_COMPANY="http://www.mycompany.com"
set CROSSCERT="C:\Program Files (x86)\Microsoft Visual Studio 8\Common7\Tools\Bin\MSCV-VSClass3.cer"
set VBOXDIR=C:\Tools\Virtualbox_OSE\out\win.amd64\release
set CERT_CN_VALUE="Certificate's Subject CN Name"               we have our own certificate

cd %vboxoutdir%
for /f %%a IN ('dir /b /s *.exe') do call %SIGNTOOL% sign /f %PRIVATEPFX% /p %PFXPASSWORD% /d "%PDTNAME1%" /n "%CERTNAME%" /du %SIGN_URL_COMPANY% /t %TIMESERVER% %%a
for /f %%a IN ('dir /b /s *.sys') do call %SIGNTOOL% sign /v /ac %CROSSCERT% /s my /n %CERT_CN_VALUE% /d %PDTNAME1% /du %SIGN_URL_RINGCUBE% /t %TIMESERVER% %%a
for /f %%a IN ('dir /b /s *.cat') do call %SIGNTOOL% sign /v /ac %CROSSCERT% /s my /n %CERT_CN_VALUE% /d %PDTNAME1% /du %SIGN_URL_RINGCUBE% /t %TIMESERVER% %%a
for /f %%a IN ('dir /b /s *.dll') do call %SIGNTOOL% sign /v /ac %CROSSCERT% /s my /n %CERT_CN_VALUE% /d %PDTNAME1% /du %SIGN_URL_RINGCUBE% /t %TIMESERVER% %%a
Yes. I commented all occurrences of VBCoInt
Thanks for your help.
rbhkamal
Posts: 41
Joined: 3. May 2010, 18:07
Primary OS: Ubuntu 8.10
VBox Version: OSE self-compiled
Guest OSses: Linux

Re: Unable to sign 64Bit VirtualBox drivers

Post by rbhkamal »

wait wait wait.... so you signed the files externally and it worked? Were you able to run virtual machines and everything?
scp
Posts: 106
Joined: 14. Feb 2010, 22:12
Primary OS: Ubuntu 12.04
VBox Version: OSE self-compiled
Guest OSses: Windows XP, 2003, 7, 8.1

Re: Unable to sign 64Bit VirtualBox drivers

Post by scp »

I had success using make with this build script:

buildx64.cmd

Code: Select all

@echo off

REM ---- to be modified start ----

set _cerstore=MY
set _certname=VBoxCertX64forWDK

set _blddir=C:\vbox-build

set PSDKROOT=%ProgramFiles%\Microsoft Platform SDK for Windows Server 2003 R2

set _ddk=C:\WINDDK\7600.16385.0
set _vc=%ProgramFiles(x86)%\Microsoft Visual Studio 8
set _cygwin=C:\cygwin
set _perl=C:\Perl64
set _mingwdir=%_blddir%\MinGW
set _qtdir=%_blddir%\qt-everywhere-opensource-src-4.6.2
set _crosstool=%_cygwin%\opt\crosstool\gcc-3.4.5-glibc-2.3.6\x86_64-unknown-linux-gnu

set _vbox=%~dp0
set _vbox=%_vbox:~0,-1%

set _VBCoInst=%_vbox%\bin\additions_amd64\VBCoInst.dll

set _crossvbox=%_vbox%\tools\win.x86\x86_64-unknown-linux-gnu\20060701-r2

if not exist "%_crossvbox%" (
    md "%_crossvbox%"
    xcopy /S /E /Y /H "%_crosstool%\*.*" "%_crossvbox%\"
)
if not exist "%_crossvbox%\lib\gcc\x86_64-unknown-linux-gnu\3.4.6" (
    ren "%_crossvbox%\lib\gcc\x86_64-unknown-linux-gnu\3.4.5" "3.4.6"
)

REM ---- to be modified end ----


call "%_vc%\VC\vcvarsall.bat" amd64

pushd "%_vbox%"

if not exist "%_vbox%\out\win.amd64\release\obj\VBoxGuestCat.dir" md "%_vbox%\out\win.amd64\release\obj\VBoxGuestCat.dir"
if not exist "%_vbox%\out\win.amd64\release\obj\VBoxGuestCat.dir\VBCoInst.dll" (
copy "%_VBCoInst%" "%_vbox%\out\win.amd64\release\obj\VBoxGuestCat.dir"
)

call kbuild\envwin.cmd

set PATH=%_vbox%\kBuild\bin\win.amd64

set PATH=%PATH%;%_crosstool%\x86_64-unknown-linux-gnu\bin
set PATH=%PATH%;%_crosstool%\libexec\gcc\x86_64-unknown-linux-gnu\3.4.5
set PATH=%PATH%;%_crosstool%\bin

set PATH=%PATH%;%_mingwdir%\bin;%_qtdir%\bin

set PATH=%PATH%;%_vc%\VC\BIN\amd64
set PATH=%PATH%;%_vc%\VC\PlatformSDK\bin\win64\amd64
set PATH=%PATH%;%_vc%\VC\VCPackages
set PATH=%PATH%;%_vc%\Common7\IDE
set PATH=%PATH%;%_vc%\Common7\Tools
set PATH=%PATH%;%_vc%\Common7\Tools\bin
set PATH=%PATH%;%_vc%\SDK\v2.0\bin

set PATH=%PATH%;%_perl%\site\bin;%_perl%\bin
set PATH=%PATH%;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem

set PATH=%PATH%;%_vbox%\tools\win.amd64\bin

set PATH_KBUILD=%_vbox%\kBuild

set VBOX_PATH_SELFSIGN=%PSDKROOT%/Bin
set VBOX_SIGNTOOL="%VBOX_PATH_SELFSIGN%/SignTool.exe"
set VBOX_CROSS_CERTIFICATE_FILE=%VBOX_PATH_SELFSIGN%/MSCV-VSClass3.cer
REM set VBOX_CROSS_CERTIFICATE_FILE_ARGS=/a /c "%VBOX_CROSS_CERTIFICATE_FILE%"
set VBOX_CROSS_CERTIFICATE_FILE_ARGS=/v
set VBOX_SIGNING_MODE=release
set VBOX_CERTIFICATE_STORE=%_cerstore%
set VBOX_CERTIFICATE_STORE_ARGS=/s %VBOX_CERTIFICATE_STORE%
set VBOX_CERTIFICATE_SUBJECT_NAME=%_certname%

set VBOX_INF2CAT="%_ddk%/bin/selfsign/Inf2Cat.exe" 

kmk > %~dpn0.log

popd
Because I have no own certificate, I had to create one:

certimpx64.cmd

Code: Select all

@echo off

REM ---- to be modified start ----

set _cerstore=MY
set _certname=VBoxCertX64forWDK
set _certfile=%~dp0VBoxCertX64.cer
set _certspc=%~dp0VBoxCertX64.spc
set _certpvk=%~dp0VBoxCertX64.pvk
set _certpfx=%~dp0VBoxCertX64.pfx

set PSDKROOT=%ProgramFiles%\Microsoft Platform SDK for Windows Server 2003 R2

REM ---- to be modified end ----

set _CertMgr=%PSDKROOT%\Bin\CertMgr.Exe
set _makecert=%PSDKROOT%\Bin\makecert.exe
set _signtool=%PSDKROOT%\Bin\signtool.exe
set _cert2spc=%PSDKROOT%\Bin\cert2spc.exe
set _pvk2pfx=%PSDKROOT%\Bin\pvk2pfx.exe

set _timestampdll=http://timestamp.verisign.com/scripts/timestamp.dll

if exist %_certfile% (
  REM You have to import the PFX file by double-clicking on it
  REM "%_CertMgr%" /add %_certfile% /s /r currentUser %_cerstore% /all
  REM "%_CertMgr%" /add %_certpfx%  /s /r localMachine %_cerstore%
) else (
  "%_makecert%" -r -pe -ss %_cerstore% -n "CN=%_certname%" -sv %_certpvk% %_certfile%
  "%_cert2spc%" %_certfile% %_certspc%
  "%_pvk2pfx%" -pvk %_certpvk% -spc %_certspc% -pfx %_certpfx%
)


You have to import the certificcate on the VirtualBox host:

Code: Select all

@echo off
set _certname=VBoxCertX64forWDK
set _certfile=%~dp0PFiles\VirtualBox\VBoxGuestAdditions\amd64\VBoxCertX64.cer

certmgr.exe /add %_certfile% /s /r localMachine root
certmgr.exe /add %_certfile% /s /r localMachine trustedpublisher
If you created a self-signed certificate like me, you have to enable test signing on the VirtualBox host and reboot.

test-sig-on.cmd

Code: Select all

@echo off
Bcdedit.exe -set TESTSIGNING ON
Auditpol /set /Category:System /failure:enable
You can turn it off again:

test-sig-off.cmd

Code: Select all

@echo off
Bcdedit.exe -set TESTSIGNING OFF
Auditpol /set /Category:System /failure:disable
Build Environment:
Windows XP x64
Visual Studio 8
Platform SDK for Windows Server 2003 R2
DDK 7600.16385.0

VirtualBox Version:
3.2.8 OSE
VBCoInst.dll from 3.2.8 PUEL

Test VirtualBox host:
Windows 7 x64
Post Reply