Instead of the Devstation I will use my own debian linux vm.
We start by cloning the repo. This will automatically create the folder thinstation and download all the fancy code into it. Note: im using the master repo. Use the latest stable branch for your productive environment.
git clone --depth 1 -b master https://github.com/Thinstation/thinstation.git
Change to the thinstation folder and run the setup-chroot script. Sit back...its gonna take a while...
cd thinstation ./setup-chroot
We are now in Dev Mode
This is how you can start the build process, this will create the image.
cd /build ./build
If we change the config we will have to start the build process again to update our "image". Don't run it yet... first edit the config files to adjust the image for your needs.
I will not talk about all of the config options. There are alot. Here are the main files you should know.
Main config file. Can be found under /thinstation/build/build.conf
Comment the line to exclude it from the final image.
Edit this section to add or remove software to the image.
I excluded several localization files.
Removed all unnecessary tools and added the VMware Horizon View Client with PCOIP support.
Put your background images to /thinstation/build/backgrounds and adjust this parameter
I am only going to use the system image for pxe. So we can adjust the bootimages parameter.
Found here /thinstation/build/build.urls
If you build the image new software binaries will be downloaded. The source urls are defined in this file.
Found here /thinstation/build/thinstation.conf.buildtime
This is the place to directly configure the final Thinstation OS. Which Applications should autostart? Which server will be connected? Which Username will be used...there are various options you can define in thinstation.conf.buildtime.
As example; there is a file with all the possible configs for the Horizon View Client. Many other apps have the same. You can find the file here /thinstation/build/packages/vmviewpcoip/build/conf/50vmviewpcoip
# VMWare View Global Options # Connect to server without waiting for the user to click connect #VMVIEW_AUTOCONNECT=TRUE # Set the certificate verification mode #VMVIEW_SSLVERIFYMODE=3 # Default server to connect to if none specified #VMVIEW_DEFAULTBROKER=192.168.1.1 # Module to use for PKCS#11 #VMVIEW_PKCS11= # VMWare View Session options #SESSION_#_TITLE="VDI" #SESSION_#_TYPE=vmview #SESSION_#_AUTOSTART=On #SESSION_#_VMVIEW_SERVERURL=192.168.1.1 #SESSION_#_VMVIEW_FULLSCREEN=true #SESSION_#_VMVIEW_NONINTERACTIVE=true #SESSION_#_VMVIEW_KEEP-WM-BINDINGS=true #SESSION_#_VMVIEW_BACKGROUND=/etc/background.jpg #SESSION_#_VMVIEW_DOMAINNAME=donaldduck.com #SESSION_#_VMVIEW_DESKTOPNAME=mickey #SESSION_#_VMVIEW_USERNAME=minnie #SESSION_#_VMVIEW_PASSWORD=mouse #SESSION_#_VMVIEW_REDIRECT1="disk:usb=/mnt/usbdevice/sda1" #SESSION_#_VMVIEW_REDIRECT2="printer:usb='HP LaserJet 4'" #SESSION_#_VMVIEW_USB1="????" #SESSION_#_VMVIEW_USB2="????" #SESSION_#_VMVIEW_MMRPATH=/usr/local/mmr #SESSION_#_VMVIEW_RDESKTOPOPTIONS="-N"
Im not going to explain the settings or their values, they are different from package to package but there are some hints I would like to give you
Note the "#" after "Session_"? Replace it with a number higher then 0. For my understanding the Session 0 is the System GUI Session. You can start multiple sessions with different applications.
This tells the System which kind of packge it should start.
If you need more help or detailed explenation, there is a sample file /thinstation/build/thinstation.conf.sample built in.