Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The scripts use LXC Containers for the Linux bits (OpenEmbedded-based OpenXT core, Debian tools and Centos tools), and a KVM VM for the Windows tools.

It is recommended to use a recent 64 bits Debian Jessie 64 bits version (Jessie / Stretch) as the host OS because:

  • setup.sh depends on Apt
  • 64 bits containers require a 64 bits host
  • LXC is still relatively young, and earlier versions don't work that well

...

Table of Contents:

Table of Contents

Setup

Install Git

$ apt-get install git

If you are using Ubuntu 14.04 or above, you'll also need the package `lxc-templates`.

Clone openxt.git

The first build scripts exist in openxt.git (along with this README.md file), so clone that:

...

Note

setup.sh will install the Linux containers package (lxc) and use it to create containers that will become potentially quite big (a whole build can take almost 100GB of disk space (without the WIndows VM)).

By default, lxc creates all the containers in /var/lib/lxc. If the partition for that directory is too small, the build will fail.

To change the location of the containers to, for example, /home/lxc, do the following (as root):

$ apt-get install lxc
$ echo "lxc.lxcpath = /home/lxc" > /etc/lxc/lxc.conf

Also, make sure that the lxc.lxcpath exists.


Note

If using Debian Buster (10), make sure your kernel is booted with the option "vsyscall=emulate".

For more information, see: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=875981


Run the following as root or with sudo:

...

Note

If you want your setup to include a Windows VM, use the -w options, as documented below.

As setup.sh is re-entrant, you can always run it again later with the -w option if you don't want to bother with it for now.

The optional user parameter specifies the host user the build will run as, that may or may not already exist. If one is not supplied a user named openxt will be created. If the openxt user is created, you will be prompted to set a password.

The script is re-entrant, but in the ideal case it will have to be called only once for the life of the build machine.

...

To add a Windows VM to the 3 containers, provide the script with the URL of a 32bits Windows 7/10 iso using the -w option.

...

To setup a Windows virtual machine as part of the setup step of the build scripts, just use the -w option, followed by the URL of a Windows 32 bits ISO.

setup.sh will setup Windows last. Once the script reaches that point, it tell you to VNC to it to set it up.

Here's what to do:

Under Linux;
$ sudo apt-get install vncviewer
$ vncvncviewer <Windows VM>:<port>     # The script should tell you what the port is

Under Windows;
- You can use any VNC viewer, such as the one included as a Google Chrome app. Search for "VNC Viewer for Google Chrome" under Apps.

Once VNC is connected;
  • Once you're in the VM, start a custom Windows install.
  • It will fail to find a disk driver, so click "Load driver", and navigate to viostor in the second CDROM, then the subfolder that corresponds to your version of Windows (win8.1 drivers work fine on Windows 10).
  • Finish the installation. The VM won't automatically come back after the first reboot, so type "continue" and setup.sh will restart it.
  • While Windows is completing the install, Windows 10 will get stuck while configuring the network. On the "Let's connect you to a network" screen, click the "Skip for now" button in the lower left corner to continue.
  • Optional: once the installation is done, you can finally fix the erratic mouse by going to the control panel and disable "Enhance mouse position" or something like thatEnhanced Pointer Precision" under Mouse Properties, Pointer Options.
  • Go to the Device Manager and update the driver of the ethernet card using "NetKVM" from the second CDROM.
  • Open powershell as root Administrator (right click menu item, select "Run as Administrator") and type:
    • "Set-ExecutionPolicy
    Unrestricted
    • -Scope LocalMachine -ExecutionPolicy Bypass", then Y [enter].
    • "Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Bypass", then Y [enter].
    • "Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass", then Y [enter].
  • In the start menu, type UAC [enter], and disable user access control.
  • Update Windows
    • Beware of the side effects of installing Windows updates. For example, the network connection may be taken down until a reboot is done after performing some updates.
  • Download and install git for Windows (e.g., https://git-scm.com), open an Administrator cmd window and:
    • cd \
    • git clone https://github.com/OpenXT/openxt.git
    • cd openxt\windows
    • powershell .\mkbuildserver.ps1
      • Optional: add " -mirror http://<your_mirror>" if you wish to use a mirror to download the various installers
      • Optional: add " -proxy <your_proxy>" if you want the downloads to go through a proxy (only supported by Cygwin as of yet)
    • Ignore messages about missing packages. These are packages that the script will install.
    • Near the end of the first run, for a long time the message "Click the OK button to execute these tasks and update the configuration of this computer." will be displayed. The script it still running. Wait until the script finishes before proceeding.
    • The script will install packages and stuff, and make prompt you to reboot a bunch couple of times. Re-run the script as Administrator after each reboot.
    • .Net 3.5 will be installed as a dependency. This will require some user interaction.
    • Towards the end:
      • There is a dialog entitled titled "Create Private Key Password". Press "None". There will then be a prompt in the command window to "Enter PFX password", just hit Enter.
      • When prompted with the "Security Warning" about installing the certificate, select "Yes". NOTE: the default is "No" so be careful not to hit Enter.
  • After the last reboot, the BuildDaemon should start. IMPORTANT: allow winbuildd through the firewall when asked. The BuildDaemon is what will be used for further Windows interaction.
  • You can now close VNC and type "continue" in setup.sh

...

Just use the build output to install OpenXT the usual way, wither whether using the ISO or the netboot files.

...