How To Build XO From Sources on Debian 10 Using XenOrchestraInstallerUpdater

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.

This was my process for both moving the VM (intel > amd) & updating XO.

I had some trial and error since I built XO with Toms video over 2 years ago.

But the below process is both straightforward and complete (not missing any steps).

Thanks Tom & Team for the continued contribution to society & myself.

  • Export VM (XO) from old XCP-NG SVR
  • Import VM (XO) from old XCP-NG into new SVR
    • do not start
    • add CPU & memory (2c, 4G >> 16c 16G)
    • nano /etc/network/interfaces
      • iface eth0 inet dhcp
    • systemctl restart networking
    • ping
    • apt-get update
    • apt update
    • apt upgrade
    • cp XenOrchestraInstallerUpdater XenOrchestraInstallerUpdater-old
    • cp XenOrchestraInstallerUpdater/xo-install.cfg xo-install.cfg
    • rm XenOrchestraInstallerUpdater -r
    • git clone GitHub - ronivay/XenOrchestraInstallerUpdater: Xen Orchestra install/update script
    • cp xo-install.cfg XenOrchestraInstallerUpdater/xo-install.cfg
    • cd XenOrchestraInstallerUpdater
    • tmux
    • ./
    • option 2 (update)
    • htop (ctrl + b + ") (ctrl + b + arrow)
    • Wait
    • restart vm

Wouldn’t it make sense to just create a new XO and then import the config file? Just wondering if I’m missing something like scheduled backup that maybe doesn’t get into the config file pulled from the XO web interface. I don’t have any complex stuff going on in XO yet, so just getting basic configs into new XO instances has worked for me.

That said, I also like to have XO set up on a dedicated computer so that server issues won’t kill it.