-
Notifications
You must be signed in to change notification settings - Fork 74
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Windows PV tools #23
Comments
In fact, they are test signed, whatever it means:
|
It's a way of bypassing Windows driver signing, that involves starting up Windows in a certain mode that allows self-signed drivers. We almost certainly want to obtain an official signing certificate from Microsoft and actually sign and distribute them - the process of either enabling test signing or forcing admins to build & sign the drivers themselves is not something I think we want to require. I've not done enough with Windows drivers to know what the process is of obtaining the ability to officially sign drivers, but we should figure it out and do it. |
Thanks @necouchman for being the official maintainer of Windows PV drivers! 🎉 We could pay (with the kickstarter money) for getting those drivers signed, no problem. |
Haha. I'm certain I'm not qualified for that, but I will try to do some research on what's required to obtain driver signing. |
You have repo permissions if you want to upload files in it. Frankly, less I touch anything that's Windows related, better I am. |
From https://docs.microsoft.com/en-us/windows-hardware/drivers/install/release-signing:
Here's the list of third-party CAs: https://docs.microsoft.com/en-us/windows-hardware/drivers/install/cross-certificates-for-kernel-mode-code-signing So, looks like we need to pay for a SPC Certificate from one of those CAs that we can use to sign the drivers. We also need to talk about how we're going to control that certificate and key pair - obviously it's something we need to handle very carefully, and someone needs to maintain it and have it available to create release versions of the drivers. All kidding aside, I don't think I'm the person to do that - I don't have the infrastructure available to build and sign the Windows drivers. |
So we need to find someone 😄 edit: thanks for your first research! |
Since ReactOS no longer offers free driver signing, you can just get a certificate that's not that expensive. I'm sure the community will help :) |
I may have a solution that will help us to avoid any of this process. I'll keep you posted. |
So the solution is to enable the drivers from Windows update, doing a Install them and you are OK. Still need the rest of the tools (just the agent, which should be easy to integrate somewhere) |
Is there a limitation when only installing the files from Windows Updates? Customers can now use the Windows Update mechanism to install the I/O drivers (PV drivers) that
---> After installation, the Management Agent will keep itself up to date, if it has access to the Internet. |
@cocoon this last part is maybe Open source, but we have to dig. The hard part is to "separate" the management agent from the driver. Can you take a look? |
I will try, just found this: |
Good catch! I think we should built this and integrate it inside ISO tool. |
I made it work with Visual Studio 2017 + Python 3.6.1 here: You can build it like this:
For VS2017 Community Edition the Path again seems to be slightly different:
Branding needs to be adjusted in:
|
Should I add it to my buildenvironment for nightly builds? |
I am fighting with environment vars, they seem to get lost in my environment (os.environ['PLATFORM'] = 'Any CPU') ... maybe wait a bit or maybe you know python better? |
hmm... sounds interessting ;-) Maybe today or tomorrow I have some time to play arround with it. |
found it, wasn't a python problem, there was hardcoded x86 in msbuild.bat, but in the project there is no config for x86. So I fixed it and now I don't get errors. Can be validated now :) |
Update: sorry, no, I need more time, no error but it doesn't build anymore ^^ |
Did you install python from cyqwin? |
no cygwin, I am using Python for Windows It was that in msbuild it needs to be called with x86, but that automatically replaces PLATFORM environment variable with x86, that was previously set by python to "Any CPU". Have it set again with a custom env var now. But still to decide if it should be built with vs2013 or updated until it is working with vs2017 ;) Now it seems to build, but it gives errors like:
|
hui ... some nice german errors :-) |
We also need this installer: https://github.com/borzel/win-installer |
Manual build within Visual Studio works: https://github.com/borzel/win-xenguestagent/tree/vs2017-net461 I will play around more the next day(s)... |
I'm about to look into the Windows PV-Tools. This
|
@cocoon I would prefer VS 2017 Community Edition, so everyone on planet can build it |
@imtrobin did you clean the VM from artefacts before installing the new drivers? |
By cleaning, you mean this? https://github.com/xcp-ng/xcp/wiki/Guest-Tools#upgrade-from-citrix-registered-xenserver-registered-client-tools Yes. I don't have critix tools installed in step1. Removed all installed. No go. I tried a fresh new win10 Home VM. No go. |
Works perfect on Windows 2012 R2 Standard. |
test on fresh win10 LTSB 2016 install, still showing "Management Agent Not Installed". It seems to be the same file I tested, did u upload correct file? |
@imtrobin did you mean this?: https://github.com/xcp-ng/win-pv-drivers/releases/tag/v8.2.1-beta1 Did you reboot your VM? Do you see the XCP-ng devices in Device Manager? |
Fresh new VM install. I see windows 10 LSTC is released, will try that. |
Just sharing my experience with upgrading to XCP-ng-Client-Tools-for-Windows-8.2.1-beta1 from XenTools 6.2 on a Windows Server 2012 VM imported to XCP-ng 7.6 from an image that was exported from XenServer 6.5. I did not uninstall the old XenTools 6.2 or do any manual clean up.
Virtualization state will be shown as I/O optimized and Management Agent installed. Edit: Added to the wiki. |
Thanks for your feedback @De-Occultist ! If you this the Wiki needs an update or more details, feel free to modify it, it's open to contribution! |
Thanks for your feedback @De-Occultist Appreciate. |
Tested fresh install on win7. Using De-Occultist method, it can install andManagment Agent show it is installed fine. |
Yes, I get the same thing. InstallAgent.exe shows in Task Manager but it does nothing except very gradually eat more and more memory. |
After 3 hours bashing my head against the wall on Christmas Eve (it's a production Domain Controller with the issue!) I finally have mine working. I had to:
Once I'd done that the latest beta of the tools installed fine and we're back in business. I considered foregoing the tools themselves and just installing the driver package from Windows Update, which showed up after doing the above, but then you don't get the agent that's needed for memory performance graphing, so I bit the proverbial bullet. Hope that helps someone! Edit: As this was a P2V import I also took dsiminiuk's advice and created a new VM from the Windows Server template, unmounted the CD drive, deleted the disk it made, and then attached the disk from the failing VM. I don't know if that made any difference to the end result but during the first boot it did say it was setting up new devices so maybe some things got remapped and ultimately helped. |
Gratulations! Just note that the guest tools are in beta state, so you use it on your own risk in production :-) |
For me to get it work I hade to activete "Windows Update Tools" in Xen Orchestra to get it to install. |
Here is the first version of a little helper tool which (tries to) determines if your host is clean for installing PV-Tools: https://xcp-ng.org/forum/post/9510 |
Windows Server 2016 Standard(clean install) and Windows Server 2012 r2(clean install) work by @De-Occultist instruction , but need more reboot (5 reboot) . On 2008 r2 with old xen drivers and agent i tried to clean and install, but it did not work. |
It's a complicated thing and I don't have enough time to deal with it alone. I would be happy if someone would join the PV-Tools team to get the work done :-/ |
Hi @borzel I won't mind assisting you, just let me know in which areas and what needs to be done. |
So , i tested on windows server 2008 r2 (clean install) and it don`t working correctly. After install and reboot , system do not boot and show me recovery screen. Then i "Disable Driver Signature Enforcement" and system up. After many steps with manual install drivers and reboot with Disable Driver Signature Enforcement , i see in xcp-ng center I/O optimized,Management Agent installed. After 3 reboot i see agent installed success But System dont boot without "Disable Driver Signature Enforcement" |
@partizanes you have to use our signed (beta) release: https://github.com/xcp-ng/win-pv-drivers/releases |
@ayboye I have a need for developers who want to develop/code |
I tested with signed version (8.2.1-beta1), also i test it on 2012 and 2016 ( all ok) , but it not work in 2008 https://github.com/xcp-ng/xcp/issues/23#issuecomment-492663793 : I found diff with windows server 2012: |
@partizanes your 2008 screenshot looks ok, all the devices are there. Is your 2008 r2 all up to date? Maybe a cert issue with old root ca's in the cert store |
You are right, after updating from windows update, the problem is solved. It is worth noting that I used the latest image provided on the site, but as it turned out there are not enough of a lot of updates. |
Hello guys, great work on xcp-ng! Just for info this guy has written an auto update script for PV drivers and Xentools for windows: The script calls this url: Which points to, no registration needed: Also this looks promising: NOTE: x64 versions of Vista and Server 2008 require signed drivers. The GPLPV drivers are only test signed. In order to use them you need to enable test signing by running "bcdedit /set testsigning on" and rebooting. |
I made good progress, found a certificate issue. Now the drivers install silently without manuall interaction and they are in Releace Candidate mode now 🚀 Download: https://github.com/xcp-ng/win-pv-drivers/releases/tag/v8.2.2.200-RC1 To keep things organized, I close this ticket. |
We can't embed Citrix signed PV drivers. We need to get those from Xen project and document how to install them.
You can download them here: https://www.xenproject.org/downloads/windows-pv-drivers/winpv-drivers-81/winpv-drivers-820.html
The text was updated successfully, but these errors were encountered: