XCP-ng (XenServer) source code?
-
Hi All,
I have been reading up and browsing around the Github (xenserver) at:
but I cannot seem to located the actual XCP-ng hypervisor (xenserver) although I did find some older dated forked versions.
Also, I am trying to find out how the vncterm fits into the scheme ofthings.
Thanks in advance
-
XCP-ng is a distro, containing tons of various open source project. If you are talking about the hypervisor, Xen, the code is available here: https://xenbits.xen.org/gitweb/?p=xen.git;a=summary
-
@olivierlambert Thanks.
Yea, I am learning that it is actually a distro as you mention since there are many packages and components. I think that this is going to be a real challenge just to try and figure out where an RDP server may be able to fit into the distro to interface with the actual hypervisor.
I wanted to just browse the server code to see if there was anything hard coded and related to VNC or if those were general console hooks which become VNC specific at the API level.
I did search for VNC at the repo link and it seems that a lot of VNC information comes back as well as a lot of QEMU relations.
Still learning though.
-
Right now, consoles are used with qemu VNC protocol embedded. So you'll need to implement RDP in there first.
Then, you'll need to pipe it into XAPI/xenopsd.
-
@olivierlambert Awesome. Now I can track the "qemu VNC" implementation below the API which I think will be within the actual Xenserver code, as a guess.
Also, I may look into what it might take to implement some type of "console" passthrough to a DomU UserVM instead of the Dom0 ControlVM as that is the other part of the equation that I will need as well. It would probably be an additional nice feature for users if this console passthrough idea allowed for some type of HotKey sequence so users can to cycle through their running VM's consoles on the local host machine if it is not running headless. Just a thought but it could be nice as well, I think.
-
Are there any steps for pulling and building the xenserver core hypervisor?
Just wanted to see if there is any documentation to get things going here.
-
You may want to read https://xcp-ng.org/docs/develprocess.html
-
@stormi Thanks for the link as I had come across that documentation which seems to be great for building the packages the XCP-ng distribution itself.
Since some of what I want to investigate is this ideas of a "console" passthrough as well as the "qemu vnc" core components so that I can see if it is going to be possible to add an RDP server within the hypervisor so I am looking to build the XenServer hypervisor itself after I get a feel for the code. At least that is where I am guessing that I need to start.
Really, not sure if any, or all of this is possible, but wanted to see if I can give it a try, or maybe have to see if I can possibly contract an XCP-ng developer and pay him to help with the initial PoC (Proof of Concept) project if I can find one somewhere. Do you know any, by chance that might be interested?
Thanks again and have a great day
-
There's no such thing as the XenServer hypervisor. Maybe you mean the Xen hypervisor? Then it's available from https://xenproject.org/
However, if you want the exact version and patches we build in XCP-ng, see https://github.com/xcp-ng-rpms/xen
-
And here's how to build a docker image that allows one to build the packages in an environment that is compatible with our actual build environment https://github.com/xcp-ng/xcp-ng-build-env
-
@stormi Actually you are correct and it is call "xen"
https://wiki.xenproject.org/wiki/Compiling_Xen_From_Source
I see that on the XCP-ng 8.2 ISO that you are using a variant of the 4.13 Xen hypervisor. I think that is where I will start my reading up on things.
Thanks again and I appreciate your help