User Tools

Site Tools


doc:howto:tce

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
doc:howto:tce [2024/01/26 18:16]
stefanbaur [What options are available under FURTHER-OPTIONS-GO-HERE?] Added windowwidth parameter documentation
doc:howto:tce [2024/09/12 19:18] (current)
stefanbaur [Starting the Build] added info output
Line 33: Line 33:
   * Install the required package(s) by running: <code>sudo apt-get install genisoimage git-core live-build live-config-doc live-manual-html live-boot-doc lsb-release netcat-traditional</code>   * Install the required package(s) by running: <code>sudo apt-get install genisoimage git-core live-build live-config-doc live-manual-html live-boot-doc lsb-release netcat-traditional</code>
   * If you want to speed up subsequent builds, install the recommended package(s) by running: <code>sudo apt-get install apt-cacher-ng</code>   * If you want to speed up subsequent builds, install the recommended package(s) by running: <code>sudo apt-get install apt-cacher-ng</code>
-  * If you want to be prepared to be able to cross-build across different architectures (e.g. building an ARM image on an Intel/AMD build host) - a feature coming soon - install the optional package(s) by running: <code>sudo apt-get install qemu-user-static</code>+  * If you want to be prepared to be able to cross-build across different architectures (e.g. building an ARM image on an Intel/AMD build host) - a feature coming soon - install the optional package(s) by running: <code>sudo apt-get install qemu-user-static binfmt-support squashfs-tools -y && update-binfmts --enable qemu-aarch64</code>
  
 ===== Building your own X2Go-TCE Image ===== ===== Building your own X2Go-TCE Image =====
Line 88: Line 88:
 # If you want to use the stock ISO image as created by this script, add your boot parameters here # If you want to use the stock ISO image as created by this script, add your boot parameters here
 # export LBX2GO_BOOTAPPEND_LIVE="boot=live components noswap lang=de vconsole.keymap=de keyboard-layouts=de locales=de_DE.UTF-8 silent quiet pubkey=http://x2go/x2go-tce/config/authorized_keys sessionsurl=http://x2go/x2go-tce/config/sessions toram" # export LBX2GO_BOOTAPPEND_LIVE="boot=live components noswap lang=de vconsole.keymap=de keyboard-layouts=de locales=de_DE.UTF-8 silent quiet pubkey=http://x2go/x2go-tce/config/authorized_keys sessionsurl=http://x2go/x2go-tce/config/sessions toram"
-export LBX2GO_BOOTAPPEND_LIVE="boot=live components noswap lang=de vconsole.keymap=de keyboard-layouts=de locales=de_DE.UTF-8 silent quiet sessionsurl=https://x2go.baur-itcs.de/.config/x2go-demo/config/sessions pubkey=https://x2go.baur-itcs.de/.config/x2go-demo/config/authorized_keys toram "+export LBX2GO_BOOTAPPEND_LIVE="boot=live components noswap lang=de vconsole.keymap=de keyboard-layouts=de locales=de_DE.UTF-8 silent quiet sessionsurl=https://your_server_here/config/sessions pubkey=https://your_server_here/config/authorized_keys toram "
  
 if echo -e "$LBX2GO_CONFIG" | grep -q "openbox"; then if echo -e "$LBX2GO_CONFIG" | grep -q "openbox"; then
Line 196: Line 196:
 # #
 # #
-if dpkg --print-architecture | grep -q 'arm'; then+if dpkg --print-architecture | grep -q 'arm' || echo $LBX2GO_ARCH | grep -q 'arm' ; then
  # on arm, these parameters must not be used; if they're there, we need to reinstall the package to undo our patch  # on arm, these parameters must not be used; if they're there, we need to reinstall the package to undo our patch
  if grep -q -- '-Xbcj x86 -b 1024K -Xdict-size 1024K' /usr/lib/live/build/binary_rootfs; then  if grep -q -- '-Xbcj x86 -b 1024K -Xdict-size 1024K' /usr/lib/live/build/binary_rootfs; then
Line 494: Line 494:
  # original mksquashfs call into a file.  # original mksquashfs call into a file.
  
- if (uname -| grep -q 'i.86' || uname -| grep -q 'amd64') ; then+ if (uname -| grep -q 'i.86' || uname -| grep -q 'x86_64' || uname -m | grep -q 'ppc64') ; then 
 +                echo "INFO: using host-architecture mksquashfs from outside instead of the target-architecture one inside chroot."
  # We need to do this as a background task, waiting for the mksquashfs executable to  # We need to do this as a background task, waiting for the mksquashfs executable to
  # appear in the changeroot; as the changeroot will only be created later on, once  # appear in the changeroot; as the changeroot will only be created later on, once
Line 556: Line 557:
      #needs switch from e.g. /bin/mksquashfs to $(which mksquashfs)      #needs switch from e.g. /bin/mksquashfs to $(which mksquashfs)
      sed -e "s#^.*mksquashfs#$(which mksquashfs)#g" -i \      sed -e "s#^.*mksquashfs#$(which mksquashfs)#g" -i \
 + ./chroot/tmp/filesystem.squashfs.temp
 +     # if the mksquashfs command was missing, add it
 +     grep -q mksquashfs ./chroot/tmp/filesystem.squashfs.temp || \
 + sed -e "s#^ #$(which mksquashfs) #g" -i \
  ./chroot/tmp/filesystem.squashfs.temp  ./chroot/tmp/filesystem.squashfs.temp
      # now let's make this executable      # now let's make this executable
Line 1065: Line 1070:
   * ''updateurl=rsync|https|http|ftp://your-http-server-ip-or-dns-here/path-to-update-files'' - Will allow you to update an image in the background when using local storage instead of PXE. Download task will start at a randomized interval to avoid unintentional dDOSing of the update server/network infrastructure. The updater will even work when using NTFS for local storage, but only if the //toram// boot option is used. Regardless of NTFS or not, the updater requires three directories: ''/boot/X2Go-live1, /boot/X2Go-live2, /boot/X2Go-live-download''. **Attention: Whoever manages to spoof the server name can deploy rogue images to your ThinClients.**  Even though it is slower, using an HTTPS web server is the safer way of doing this. Be sure that your web server delivers a last-modified header for all files.    * ''updateurl=rsync|https|http|ftp://your-http-server-ip-or-dns-here/path-to-update-files'' - Will allow you to update an image in the background when using local storage instead of PXE. Download task will start at a randomized interval to avoid unintentional dDOSing of the update server/network infrastructure. The updater will even work when using NTFS for local storage, but only if the //toram// boot option is used. Regardless of NTFS or not, the updater requires three directories: ''/boot/X2Go-live1, /boot/X2Go-live2, /boot/X2Go-live-download''. **Attention: Whoever manages to spoof the server name can deploy rogue images to your ThinClients.**  Even though it is slower, using an HTTPS web server is the safer way of doing this. Be sure that your web server delivers a last-modified header for all files. 
  
 +===== Client Branding/Theming using SVGs =====
 +It is possible to make X2Go-TCE-Live match your Corporate Design/Corporate Identity, using the "background" and "branding" parameters.
 +This is actually a feature of X2GoClient itself, so it will also work on //fat client// installations, and even on Windows and macOS.
 +
 +{{:wiki:advanced:x2goclientdefaultbranding.png?400|Before ...}} {{:wiki:advanced:x2goclientbranding.png?400| ... and after.}}
 +
 +You can find a more detailed explanation in the [[wiki:advanced:branding-theming|corresponding X2Go Wiki page]].
 ===== Querying X2Go-TCE version info =====  ===== Querying X2Go-TCE version info ===== 
 images built using the https://github.com/LinuxHaus/live-build-x2go::feature/openbox repository/branch after 2017-07-27 10:50 UTC will create a file ''/var/run/x2go-timestamps''. images built using the https://github.com/LinuxHaus/live-build-x2go::feature/openbox repository/branch after 2017-07-27 10:50 UTC will create a file ''/var/run/x2go-timestamps''.
doc/howto/tce.1706292977.txt.gz · Last modified: 2024/01/26 18:16 by stefanbaur