How To Build XO From Sources on Debian 10 Using XenOrchestraInstallerUpdater

Yes you can run it on separate computers, that’s how I have mine set up and how I installed it on the RaspberryPi 400-4GB. I would recommend more than 16GB for the system drive if you use a standalone computer for this, I have an HP T630 that runs my XO and the 16GB ssd that came with it is basically always full with just enough room to upgrade to newer versions while deleting a previous version.

To connect you need to log into XO and add servers:

Settings → Servers and fill in the IP and user:pass, might want to toggle the switch for “unauthorized certificates” unless you have installed real signed certs., otherwise the connection will fail.

If they are already in a pool, you can just add the pool master.

Greg_E thanks for the reply. It’s what I thought was the case, but the instructions were a little ambiguous. I’ve only been testing XCP-NG and up to now, have created an XCP-NG VM for Debian and the XO build. I think what I’ll do is put the XO on a separate piece of steel and use it from there all the time.

In the link that Tom gave, there is also a way to download an XO from sources appliance directly into your XCP-NG, it seems to work fine the one time I tried it. But I also really like having XO waiting when I burn my XCP-NG system down and start from scratch (twice now). It’s just nice having choices.

I didn’t see the link that Tom gave! Is it in the video? Anyway, I’ve just finished building XO on a separate low end spare box and connected it to my test XCP-NG server. As I said, this is just a test. If I like what I see, then I’ll buy a new server class box to use it on, but at least now, I have the XO built and running.

I’ve played with XO a bit but still prefer XCP-ng Center. Probably just a learning curve thing.

Thanks for your help.

There are a few things that Center will do that XO won’t, can’t remember off the top of my head but a couple of things.

Since I’m really new to this stuff and after watching the video and going to ronivay/XenOrchestraInstallerUpdater on GitHub, I noticed there is an install script on the readme page if you don’t want to first install a VM and then use script on it. It’ll download a prebuilt Debian 10 image which has Xen Orchestra and XenOrchestraInstallerUpdater installed, and will install the VM and setup XO on it. I went with this method which in my case worked well.


I am a fan from Tom’s its video’s like this one. Since a week I am playing around with Xen / XCP-ng / XenOrchestra and it is clear that the free Ochestra version is … limited. So I decide to build the full version myself. Inspired by the video. However I am facing a couple of issues. So I need some help.

I am using the latest XCP-ng build and among other things I did create an Debian11 VM which I also use to build Xen Orchestra. The VM has plenty of RAM 16 G, plenty of vCPU 8 and pleny of Disk 35 GB.

So I watched the video, did read the related page and tried to build. However … I did not yet manage :japanese_ogre:

  • I discovered that you can only build if you are root (no issue, however not mentioned)
  • That tmux Cntr-B + " does not work (minor, I just opened another window)
  • And than … WARNING: free disk space in /opt seems to be less than 1GB. Install/update will most likely fail !! :skull: and that is where I need help !

Problem is as follows:

  • the 35G virtual disk is divided into multiple disk (by the Debian Installer) and on one of these disks is … ^/opt^ … however despite a lot of ^google-ing^ I have no idea to which ^/opt^ is pointing to :frowning: :frowning:
    So I do not even have any idea on which "virtual partition^ ^/opt^ is situated. And I am not happy with that :face_with_hand_over_mouth:

So I have two questions:

  1. where is ^/opt^ ???
  2. how to change the size of ^/opt^ !!??? which probably imply how to change the size of the involved partition


I’m not sure if this is a XO question or problem – more of a partition problem. When you installed Debian I’m betting the installer probably allocated you a very small /opt partition – just a hunch. When trying to utilize this partition you’re basically using the entire space. I guess this is all falls back to how you setup your disc partitions during installation – either manually or automatically. You might want to revisit your disc partitioning scheme(s). Usually for me with my VMs if I’m not using one big fat / partition, I’m using a separate /boot partition, / = system partition, and possibly a /home partition. The separate /boot partition is more for UEFI since whatever partition it boots from needs to be formatted FAT32 and the the other partitions are what every scheme you like – ie ext4, ext3, etc.


I just overlooked the /opt when using ls. That was problem one :frowning:

Second problem is that by default the Debian11 installer creates partition sizes which are IMHO / for my purpose “not at all OK”

Since I am normally a windows user not a Linux user, I did query the internet to find out how to resize a partition. Did not make me lucky.

So I decided to throw the VM away and create a new one with a manual defined partition schema. I do not like at all the Debian installer expect you to do that (why is the stupid thing, not simply ask the user which size the partition should have !!?? etc)

Whatever I will manage :slight_smile:


Hi @LTS_Tom and everyone in the community.
Quick Question…How about an updated video tutorial on this very topic? Who’s with me on this kind request to Mr. Tom?
An updated Walk-through would be very nice.
Thanks to all for your time.

What’s wrong with the current one?

Hi @LTS_Tom thanks for the kind reply.
Well, I created my VM and followed your video back in 2020, and did not update ever since. I know, my bad… Now, when I run the and choose option 2 (to update)…message says successful update of xo-server and xo-web. However, when I try to open the GUI with the IP of the xo-from-source VM…the GUI does not load anymore.

I am thinking something breaks during the supposed update.
And, I resort to load XO Free so that I can revert the VM snapshot of Debian 10 XO From Source back to the 2020 version. This is the only way to get the GUI up and running again.

I can’t figure out what could be happening and going wrong, which is why I came back to the Forums to request some feedback. And, maybe an updated video, since the github page has been updated a while back also.

Anyway, thanks for your time and support Mr. Tom and our great community.

There is not anything different here in 2022. Yes, there have been updates and new versions of the XenOrchestraInstallerUpdater project but the process is still the same. If you are so far behind and can’t figure out what is broken then just build a new VM using the same process as in my video.

1 Like

Hi @LTS_Tom thanks for the kind reply.
I have done as you suggested, AND can CONFIRM for the whole community, that following the steps in the video do give success, still in 2022! Even when using Debian 11.2 netinstall ISO. Thanks Tom for all the advice and for even checking the Forums on a Sunday! You are truly a great tutor to follow.

1 Like

You would need to pull the latest scripts to be able to just run the install script to update.

Git Pull is the command you are looking for (or at least them one I’ve been using), this will merge in the new parts of the install script.

Alternate is delete and clone the git again which will give you all the newest scripts.

When I try to run the installer, it says “xe binary found, don’t try to run install xcp-ng/xenserver host. use instead.”

Is this new since the video was created? Using works, though.

Thank you Tom, all of your videos are well laid out and very easy to follow.

You don’t run the installer on the XCP-NG host, you run it on a different computer or a Debian based VM.

The only thing you can run on the XCP-NG host is the VM import, like you ended up doing.

Interestingly, all of the instructions that I found online (including Tom’s video) shows to use the installer. Not once (that I can remember) did any say “if you are setting this up on your host, use instead”.

The import is newer than most of the videos.

Thought so. Thanks for the clarificatiin.