A page in your DokuWiki was added or changed. Here are the details: Browser : Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36 IP Address : 78.43.74.240 Hostname : ip-078-043-074-240.um18.pools.vodafone-ip.de Old Revision : https://wiki.x2go.org/doku.php/doc:howto:tce?rev=1611533954 New Revision : https://wiki.x2go.org/doku.php/doc:howto:tce Date of New Revision: 2022/09/21 10:59 Edit Summary : Typofix User : stefanbaur There may be newer changes after this revision. If this happens, a message will be shown on the top of the rev page. @@ -946,9 +946,9 @@ === These are entirely optional === * ''audioout=list'' / ''audioout="alsa_card.something|output:something"'' - use this to list all available audio outputs / select a particular audio output. Note that when selecting one, the parameter consists of two values (as displayed in the output on /dev/tty8 when specifying ''list'') that need to be separated with a ''|'', and the set of the two values needs to be enclosed in double quotes. Do //not// enclose each value in double quotes separately! Correct example: ''audioout="alsa_card.pci-0000_00_1b.0|output:hdmi-stereo"'' * ''bg=https|http|ftp://your-http-server-ip-or-dns-here/x2go-tce/x2go-tce-bg.svg'' - use this to specify an SVG file to "brand" your X2Go-TCE with. It will replace the blue background theme of the login screen. See below for how to add this file to your HTTP, HTTPS, or FTP server. **Attention: Whoever manages to spoof the server name can inject rogue images into your ThinClients.** To mitigate this risk, use HTTPS, where the attacker would have to spoof both server name and matching certificate. * ''blank=n|n:n:n'' - Will disable (''blank=0'') or set screensaver timeout. Use ''blank=n:n:n'' to set DPMS Standby/Suspend/Off values. Standby value equals screensaver timeout value. All values are given in seconds. - * ''blankdpmsfix'' - This forces the TFT do black for a few seconds during the X startup phase, then forces it back on again. This fixes an occasional "black screen" issue that occurs with some flaky client/TFT hardware combinations when using DisplayPort connectors, and could otherwise only be remediated by manually turning the TFT off and back on again. (feature available via github repo, soon via x2go repo too) + * ''blankdpmsfix'' - This forces the TFT to black for a few seconds during the X startup phase, then forces it back on again. This fixes an occasional "black screen" issue that occurs with some flaky client/TFT hardware combinations when using DisplayPort connectors, and could otherwise only be remediated by manually turning the TFT off and back on again. (feature available via github repo, soon via x2go repo too) * ''branding=https|http|ftp://your-http-server-ip-or-dns-here/x2go-tce/x2go-tce-branding.svg'' - use this to specify an SVG file to "brand" your X2Go-TCE with. It will replace the seal icon in the lower left of the login screen. See below for how to add this file to your HTTP, HTTPS, or FTP server. **Attention: Whoever manages to spoof the server name can inject rogue images into your ThinClients.** To mitigate this risk, use HTTPS, where the attacker would have to spoof both server name and matching certificate. * ''copysecring'' - this will scan for USB media and fixed disk media (with USB media taking precedence) at boot for one or more of the following directories: ''config/ssh'', 'ssh', ''.ssh''. The volume must be labeled ''X2GO-TCE-LIVE'' or ''PORTABLEAPP'' and may use any supported file system. Any SSH Secret Keys found there will be copied into ''/home/user/.ssh'' (in the ramdisk), with proper permissions and ownerships for the default user account. This may come in handy when you are using SSH Secret Keys on USB media, but need to log in and out of sessions often, and don't want to leave the USB media plugged in all the time/don't want to have to re-insert it before each session startup. **Attention: This poses a security risk when other people are using your ThinClient afterwards (as they will have access to your keys).** To mitigate this risk,be sure to power-cycle the ThinClient once you are done. You //should// specify this parameter when booting X2Go-TCE-Live from portable media when you want to use SSH Secret Keys, to make sure your secret key on the FAT/NTFS partition is available. But as stated above, be sure to power-cycle the machine once you're done. * ''earlyblankdpmsfix'' - This forces the TFT do black for a few seconds during the initial boot phase (right after the squashfs was downloaded), then forces it back on again. This fixes an occasional "black screen" issue that occurs with some flaky client/TFT hardware combinations when using DisplayPort connectors, and could otherwise only be remediated by manually turning the TFT off and back on again. Earlyblankdpmsfix can also be called as ''earlyblankdpmsfix=nnnn'', where ''nnnn'' is the blanking time in milliseconds (so, ''earlyblankdpmsfix=1500'' equals 1.5 seconds). (feature available via github repo, soon via x2go repo too) * ''homepageurl="URL1[|URL2|URLn]"'' - this is only available in MiniDesktop mode. It allows you to specify one or more web pages that show up on Browser start/when clicking the "Home" icon. URLs need to be separated with a ''|'', and the set of URLs needs to be enclosed in double quotes. Do //not// enclose each URL in double quotes separately! Correct example: ''homepageurl="https://www.google.de|https://wiki.x2go.org"'' -- This mail was generated by DokuWiki at https://wiki.x2go.org/
A page in your DokuWiki was added or changed. Here are the details: Browser : Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 IP Address : 78.43.74.240 Hostname : ip-078-043-074-240.um18.pools.vodafone-ip.de Old Revision : https://wiki.x2go.org/doku.php/doc:howto:tce?rev=1663757964 New Revision : https://wiki.x2go.org/doku.php/doc:howto:tce Date of New Revision: 2022/12/02 12:57 Edit Summary : [Configuring the Build] updated buildscript User : stefanbaur There may be newer changes after this revision. If this happens, a message will be shown on the top of the rev page. @@ -43,11 +43,11 @@ # simple check for apt-cacher-ng being active - if # we have a successful connect on port 3142, assume # it's apt-cacher-ng and use it # - if nc -z 127.0.0.1 3142 ; then + if nc -z 127.0.0.1 3142 ; then # bad idea with apt-cacher-ng, but will work with e.g. squid - # export https_proxy=http://127.0.0.1:3128/ + # export https_proxy=http://127.0.0.1:3128/ # export http_proxy=http://127.0.0.1:3128/ # export ftp_proxy=http://127.0.0.1:3128/ export LB_APT_FTP_PROXY=http://127.0.0.1:3142/ @@ -59,35 +59,43 @@ #export LBX2GO_GETSRC="true" # Select ONE of the following git reposities # this one loosely corresponds to "stable" - # export LBX2GO_CONFIG='git://code.x2go.org/live-build-x2go.git::feature/openbox-magic-pixel-workaround-buster' + #export LBX2GO_CONFIG='git://code.x2go.org/live-build-x2go.git::feature/openbox-magic-pixel-workaround-buster' + #export LBX2GO_CONFIG='git://code.x2go.org/live-build-x2go.git::feature/mate-minidesktop-buster' + export LBX2GO_CONFIG='git://code.x2go.org/live-build-x2go.git::feature/openbox-magic-pixel-workaround-bullseye' + #export LBX2GO_CONFIG='git://code.x2go.org/live-build-x2go.git::feature/mate-minidesktop-bullseye' # this one loosely corresponds to "heuler" - export LBX2GO_CONFIG='https://github.com/LinuxHaus/live-build-x2go::feature/openbox-magic-pixel-wo...' - # NOTE: Add "-stretch" to the end of the LBX2GO_CONFIG string to create a stretch build, and "-buster" for a buster build - # NOTE: As of 2019-08-27, buster builds are only available via the github repo and for the feature/openbox-magic-pixel-workaround-buster and feature/mate-minidesktop-buster branches + #export LBX2GO_CONFIG='https://github.com/LinuxHaus/live-build-x2go::feature/openbox-magic-pixel-wo...' + #export LBX2GO_CONFIG='https://github.com/LinuxHaus/live-build-x2go::feature/openbox-mate-minideskt...' + #export LBX2GO_CONFIG='https://github.com/LinuxHaus/live-build-x2go::feature/openbox-magic-pixel-wo...' + #export LBX2GO_CONFIG='https://github.com/LinuxHaus/live-build-x2go::feature/openbox-mate-minideskt...' + # NOTE: Add "-stretch" to the end of the LBX2GO_CONFIG string to create a stretch build, + # add "-buster" to the end of the LBX2GO_CONFIG string to create a buster build, + # add "-bullseye" to the end of the LBX2GO_CONFIG string to create a bullseye build # Select ONE of the following LBX2GO_ARCH lines and comment out the others # (feel free to use long or short options) # for 64-Bit builds, use: - export LBX2GO_ARCH='-a amd64 -k amd64' + #export LBX2GO_ARCH='-a amd64 -k amd64' # 32-Bit, larger memory footprint, but faster performance on i686 and newer - # export LBX2GO_ARCH='-a i386 -k 686-pae' + #export LBX2GO_ARCH='-a i386 -k 686-pae' # 32-Bit, smallest memory footprint - not available on buster # export LBX2GO_ARCH='--architectures i386 --linux-flavours 586' # For ARM (Raspberry Pi): - #export LBX2GO_ARCH='-a arm64' - #export LBX2GO_ARCH_MODEL='Pi4' # you can also set this to 'Pi3'. Note that there must not be any whitespace between 'Pi' and the digit. + export LBX2GO_ARCH='-a arm64' + export LBX2GO_ARCH_MODEL='Pi4' # you can also set this to 'Pi3'. Note that there must not be any whitespace between 'Pi' and the digit. # 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 sessionsurl=https://x2go.baur-itcs.de/.config/x2go-demo/config/sessions pubkey=https://x2go.baur-itcs.de/.config/x2go-demo/config/authorized_keys toram " if echo -e "$LBX2GO_CONFIG" | grep -q "openbox"; then - LBX2GO_BOOTAPPEND_LIVE+="fastpo " - export LBX2GO_BOOTAPPEND_LIVE + LBX2GO_BOOTAPPEND_LIVE+="fastpo " + export LBX2GO_BOOTAPPEND_LIVE elif echo -e "$LBX2GO_CONFIG" | grep -q "minidesktop"; then - LBX2GO_BOOTAPPEND_LIVE+='timezone=Europe/Berlin noautologin ' # if you use nottyautologin instead of noautologin, an autologin will be set for the account "user", which conflicts our setting for the account "x2gothinclient" - export LBX2GO_BOOTAPPEND_LIVE + LBX2GO_BOOTAPPEND_LIVE+='timezone=Europe/Berlin noautologin ' # if you use nottyautologin instead of noautologin, an autologin will be set for the account "user", which conflicts our setting for the account "x2gothinclient" + export LBX2GO_BOOTAPPEND_LIVE fi # detect if the selected git repo is meant to build a buster, stretch or jessie image if [ -z "${LBX2GO_CONFIG##*-stretch}" ] ; then @@ -100,8 +108,11 @@ export LBX2GO_DEBVERSION="buster" export LBX2GO_BOOTAPPEND_LIVE+=" net.ifnames=0 biosdevname=0" elif [ -z "${LBX2GO_CONFIG##*-buster}" ] ; then export LBX2GO_DEBVERSION="buster" + export LBX2GO_BOOTAPPEND_LIVE+=" net.ifnames=0 biosdevname=0" + elif [ -z "${LBX2GO_CONFIG##*-bullseye}" ] ; then + export LBX2GO_DEBVERSION="bullseye" export LBX2GO_BOOTAPPEND_LIVE+=" net.ifnames=0 biosdevname=0" else export LBX2GO_DEBVERSION="jessie" fi @@ -123,9 +134,10 @@ fi # These options are meant to reduce the image size. # Feel free to adapt them after consulting "man lb_config" - export LBX2GO_SPACE='--apt-indices none + # FIXME export LBX2GO_SPACE='--apt-indices none + export LBX2GO_SPACE='--apt-indices false --apt-recommends false --cache false --checksums none --firmware-binary false @@ -176,15 +188,22 @@ # export LBX2GO_LANG='de' # This is to optimize squashfs size, based on a suggestion by intrigeri from the TAILS team # note that this will permanently change /usr/lib/live/build/binary_rootfs + # + # if dpkg --print-architecture | 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 - if grep -q -- '-Xbcj x86 -b 1024K -Xdict-size 1024K' /usr/lib/live/build/binary_rootfs; then - apt install --reinstall live-build - fi + # 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 + apt install --reinstall live-build + fi + # feel free to experiment with these options, but be prepared for subtle breakage + #export MKSQUASHFS_OPTIONS=' -Xbcj arm ' + #export MKSQUASHFS_OPTIONS=' -b 1024K -Xdict-size 1024K ' + #export MKSQUASHFS_OPTIONS=' -Xbcj arm -b 1024K -Xdict-size 1024K ' + export MKSQUASHFS_OPTIONS='' else - sed -i -e 's#MKSQUASHFS_OPTIONS="${MKSQUASHFS_OPTIONS} -comp xz"#MKSQUASHFS_OPTIONS="${MKSQUASHFS_OPTIONS} -comp xz -Xbcj x86 -b 1024K -Xdict-size 1024K"#' /usr/lib/live/build/binary_rootfs + export MKSQUASHFS_OPTIONS=' -Xbcj x86 -b 1024K -Xdict-size 1024K ' fi # This removes documentation, locales and man pages # You can safely enable this if you intend to run X2GoClient in fullscreen mode all the time, or when building the ssh-only rescue image. @@ -192,40 +211,42 @@ export LBX2GO_TCE_SHRINK="true" # This patches the squashfs file into the initrd. Only parsed when image type "netboot" is set. # Will require boot parameter live-media=/ instead of fetch=... - # Both TFTP client and TFTP server must support file transfers >32MB for this to work, if you want to deploy this initrd via TFTP, + # Both TFTP client and TFTP server must support file transfers >32MB for this to work, if you want to deploy this initrd via TFTP, # so e.g. atftpd will not work - tftpd-hpa, however, seems to have no problem with larger files. # When using iPXE, you can use http instead of TFTP. # This is especially helpful if you want to netboot via http and cannot use the server's IP, but must specify a DNS name - as "fetch=..." only understands IPs. - export LBX2GO_NOSQUASHFS="true" + #export LBX2GO_NOSQUASHFS="true" # Select ONE of the following LBX2GO_IMAGETYPE lines and comment out the others # to create an iso image: - # export LBX2GO_IMAGETYPE='iso' + #export LBX2GO_IMAGETYPE='iso' # to create an iso image that can also be dd'ed to USB media: - # export LBX2GO_IMAGETYPE='iso-hybrid' + export LBX2GO_IMAGETYPE='iso-hybrid' # to create a netboot-image: - export LBX2GO_IMAGETYPE='netboot' + #export LBX2GO_IMAGETYPE='netboot' # /!\ the options below are NOT RECOMMENDED unless you use live-build from Debian Buster /!\ # to create an image that can be written to a hard disk (for older live-build versions, this - # always results in a "build failed" message, even though the build might have worked - use + # always results in a "build failed" message, even though the build might have worked - use # live-build from Buster and things will work): - # export LBX2GO_IMAGETYPE='hdd' + #export LBX2GO_IMAGETYPE='hdd' + ## DEBUG FIXME + #export LBX2GO_BOOTLOADER="syslinux grub-pc grub-efi" # to create a tar file only (seems to be broken in older live-build versions - Buster works): - # export LBX2GO_IMAGETYPE='tar' + #export LBX2GO_IMAGETYPE='tar' # This is part of our experimental ARM support if echo "$LBX2GO_ARCH" | grep -q "arm" ; then - # enforce hdd image for arm at the moment (might need to support netboot later on too) - if ! [ "$LBX2GO_IMAGETYPE" = "hdd" ] ; then - echo "WARNING: Replacing selected image type with 'hdd'. That's all we currently support on ARM." - LBX2GO_IMAGETYPE="hdd" - fi + # enforce hdd image for arm at the moment (might need to support netboot later on too) + if ! [ "$LBX2GO_IMAGETYPE" = "hdd" ] ; then + echo "WARNING: Replacing selected image type with 'hdd'. That's all we currently support on ARM." + export LBX2GO_IMAGETYPE="hdd" + fi fi if [ "$LBX2GO_IMAGETYPE" = "netboot" ]; then - LBX2GO_DEFAULTS+=" $LBX2GO_BOOTLOADER" + export LBX2GO_DEFAULTS+=" $LBX2GO_BOOTLOADER" fi </code> ==== Live-Patching the Build ==== -- This mail was generated by DokuWiki at https://wiki.x2go.org/
A page in your DokuWiki was added or changed. Here are the details: Browser : Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 IP Address : 78.43.74.240 Hostname : ip-078-043-074-240.um18.pools.vodafone-ip.de Old Revision : https://wiki.x2go.org/doku.php/doc:howto:tce?rev=1669985868 New Revision : https://wiki.x2go.org/doku.php/doc:howto:tce Date of New Revision: 2022/12/02 12:58 Edit Summary : [Configuring the Build] switched default to amd64 build User : stefanbaur There may be newer changes after this revision. If this happens, a message will be shown on the top of the rev page. @@ -75,16 +75,16 @@ # Select ONE of the following LBX2GO_ARCH lines and comment out the others # (feel free to use long or short options) # for 64-Bit builds, use: - #export LBX2GO_ARCH='-a amd64 -k amd64' + export LBX2GO_ARCH='-a amd64 -k amd64' # 32-Bit, larger memory footprint, but faster performance on i686 and newer #export LBX2GO_ARCH='-a i386 -k 686-pae' # 32-Bit, smallest memory footprint - not available on buster # export LBX2GO_ARCH='--architectures i386 --linux-flavours 586' # For ARM (Raspberry Pi): - export LBX2GO_ARCH='-a arm64' - export LBX2GO_ARCH_MODEL='Pi4' # you can also set this to 'Pi3'. Note that there must not be any whitespace between 'Pi' and the digit. + #export LBX2GO_ARCH='-a arm64' + #export LBX2GO_ARCH_MODEL='Pi4' # you can also set this to 'Pi3'. Note that there must not be any whitespace between 'Pi' and the digit. # 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 sessionsurl=https://x2go.baur-itcs.de/.config/x2go-demo/config/sessions pubkey=https://x2go.baur-itcs.de/.config/x2go-demo/config/authorized_keys toram " -- This mail was generated by DokuWiki at https://wiki.x2go.org/
A page in your DokuWiki was added or changed. Here are the details: Browser : Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 IP Address : 78.43.74.240 Hostname : ip-078-043-074-240.um18.pools.vodafone-ip.de Old Revision : https://wiki.x2go.org/doku.php/doc:howto:tce?rev=1669985920 New Revision : https://wiki.x2go.org/doku.php/doc:howto:tce Date of New Revision: 2022/12/02 13:00 Edit Summary : [Configuring the Build] Updated notice User : stefanbaur There may be newer changes after this revision. If this happens, a message will be shown on the top of the rev page. @@ -225,11 +225,11 @@ export LBX2GO_IMAGETYPE='iso-hybrid' # to create a netboot-image: #export LBX2GO_IMAGETYPE='netboot' # /!\ the options below are NOT RECOMMENDED unless you use live-build from Debian Buster /!\ - # to create an image that can be written to a hard disk (for older live-build versions, this - # always results in a "build failed" message, even though the build might have worked - use - # live-build from Buster and things will work): + # (Debian 10) or newer to create an image that can be written to a hard disk (for older + # live-build versions, this always results in a "build failed" message, even though the build + # might have worked - use live-build from Buster or newer and things will work): #export LBX2GO_IMAGETYPE='hdd' ## DEBUG FIXME #export LBX2GO_BOOTLOADER="syslinux grub-pc grub-efi" # to create a tar file only (seems to be broken in older live-build versions - Buster works): -- This mail was generated by DokuWiki at https://wiki.x2go.org/
A page in your DokuWiki was added or changed. Here are the details: Browser : Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 IP Address : 78.43.74.240 Hostname : ip-078-043-074-240.um18.pools.vodafone-ip.de Old Revision : https://wiki.x2go.org/doku.php/doc:howto:tce?rev=1669986038 New Revision : https://wiki.x2go.org/doku.php/doc:howto:tce Date of New Revision: 2022/12/02 13:01 Edit Summary : [Configuring the Build] added (u)efi notice User : stefanbaur There may be newer changes after this revision. If this happens, a message will be shown on the top of the rev page. @@ -229,9 +229,9 @@ # (Debian 10) or newer to create an image that can be written to a hard disk (for older # live-build versions, this always results in a "build failed" message, even though the build # might have worked - use live-build from Buster or newer and things will work): #export LBX2GO_IMAGETYPE='hdd' - ## DEBUG FIXME + ## This might be required for hdd builds, especially for (u)efi #export LBX2GO_BOOTLOADER="syslinux grub-pc grub-efi" # to create a tar file only (seems to be broken in older live-build versions - Buster works): #export LBX2GO_IMAGETYPE='tar' -- This mail was generated by DokuWiki at https://wiki.x2go.org/
A page in your DokuWiki was added or changed. Here are the details: Browser : Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 IP Address : 78.43.74.240 Hostname : ip-078-043-074-240.um18.pools.vodafone-ip.de Old Revision : https://wiki.x2go.org/doku.php/doc:howto:tce?rev=1669986106 New Revision : https://wiki.x2go.org/doku.php/doc:howto:tce Date of New Revision: 2022/12/02 13:05 Edit Summary : [Live-Patching the Build] User : stefanbaur There may be newer changes after this revision. If this happens, a message will be shown on the top of the rev page. @@ -249,18 +249,11 @@ fi </code> ==== Live-Patching the Build ==== - This patch is required if you need USB mount capability on the ThinClient while [[http://bugs.x2go.org/cgi-bin/bugreport.cgi?bug=1136|Bug #1136]] is still unresolved. - Save this script in the directory where you want to save your builds and run it before calling the buildscript. - - <code> - #!/bin/bash - mkdir -p ./patch/includes.chroot/usr/lib/x2go/tce/ - wget -O ./patch/includes.chroot/usr/lib/x2go/tce/x2gousbmount 'https://code.x2go.org/gitweb?p=x2gothinclient.git;a=blob_plain;f=usbmount/x2...' - chmod 755 ./patch/includes.chroot/usr/lib/x2go/tce/x2gousbmount - </code> + To add patches that aren't part of any package yet, you can use the directory ./patch/ for patches that should be added to all versions, and ./patch-minidesktop/ for patches that should only be added to the MATE-MiniDesktop Edition. + You will need to create a directory structure like ./patch/includes.chroot/etc/ to create/overwrite a file in /etc/ within the live environment. ==== Starting the Build ==== In the directory where you want to save your builds, save the following file as x2go-tce-build, and run it (e.g. via //sudo bash ./x2go-tce-build//): <code> #!/bin/bash -- This mail was generated by DokuWiki at https://wiki.x2go.org/
A page in your DokuWiki was added or changed. Here are the details: Browser : Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 IP Address : 78.43.74.240 Hostname : ip-078-043-074-240.um18.pools.vodafone-ip.de Old Revision : https://wiki.x2go.org/doku.php/doc:howto:tce?rev=1669986343 New Revision : https://wiki.x2go.org/doku.php/doc:howto:tce Date of New Revision: 2022/12/02 13:07 Edit Summary : [Starting the Build] updated buildscript User : stefanbaur There may be newer changes after this revision. If this happens, a message will be shown on the top of the rev page. @@ -269,9 +269,9 @@ # Set Directory name LBX2GO_TCEDIR="./live-build-x2go-${LBX2GO_TIMESTAMP}-${LBX2GO_IMAGETYPE}-$(echo $LBX2GO_ARCH | awk '{print $2}')-${LBX2GO_CONFIG##*/}" if [ -z "$LBX2GO_ARCH" ] || - ( echo "$LBX2GO_ARCH" | grep -q "arm" && [ -z "$LBX2GO_ARCH_MODEL" ] ) || + ( echo "$LBX2GO_ARCH" | grep -q "arm" && [ -z "$LBX2GO_ARCH_MODEL" ] ) || [ -z "$LBX2GO_SPACE" ] || [ -z "$LBX2GO_CONFIG" ] || [ -z "$LBX2GO_DEFAULTS" ] || [ -z "$LBX2GO_DEBVERSION" ] || @@ -339,40 +339,44 @@ # This is part of our experimental ARM support # It adds required arm64-only packages when an arm64 build is requested if echo $LBX2GO_ARCH | grep -q "arm" ; then - # firmware for wifi - echo "firmware-brcm80211/buster-backports" >>config/package-lists/raspi.list.chroot + # bullseye and newer do not need this + if [ "${LBX2GO_DEBVERSION}" = "buster" ]; then + # firmware for wifi + echo "firmware-brcm80211/buster-backports" >>config/package-lists/raspi.list.chroot + fi - if [ "$LBX2GO_ARCH_MODEL" = "Pi3" ] ; then - # modules required for Raspberry Pi 3 LAN - echo "crc16" >> config/includes.chroot/etc/initramfs-tools/modules - echo "mii" >> config/includes.chroot/etc/initramfs-tools/modules - echo "smsc95xx" >> config/includes.chroot/etc/initramfs-tools/modules - echo "usbcore" >> config/includes.chroot/etc/initramfs-tools/modules - echo "usbnet" >> config/includes.chroot/etc/initramfs-tools/modules - echo "fake-hwclock" >>config/package-lists/raspi.list.chroot - echo "usbutils" >>config/package-lists/raspi.list.chroot + if [ "$LBX2GO_ARCH_MODEL" = "Pi3" ] ; then + # modules required for Raspberry Pi 3 LAN + echo "crc16" >> config/includes.chroot/etc/initramfs-tools/modules + echo "mii" >> config/includes.chroot/etc/initramfs-tools/modules + echo "smsc95xx" >> config/includes.chroot/etc/initramfs-tools/modules + echo "usbcore" >> config/includes.chroot/etc/initramfs-tools/modules + echo "usbnet" >> config/includes.chroot/etc/initramfs-tools/modules + echo "fake-hwclock" >>config/package-lists/raspi.list.chroot + echo "usbutils" >>config/package-lists/raspi.list.chroot - # firmware for basic raspi functions - required for boot on Pi3 - echo "raspi3-firmware/buster" >>config/package-lists/raspi.list.chroot - # standard linux kernel - for Pi3 - echo "linux-image-arm64/buster" >>config/package-lists/raspi.list.chroot + # firmware for basic raspi functions - required for boot on Pi3 + echo "raspi3-firmware/buster" >>config/package-lists/raspi.list.chroot + # standard linux kernel - for Pi3 + echo "linux-image-arm64/buster" >>config/package-lists/raspi.list.chroot - elif [ "$LBX2GO_ARCH_MODEL" = "Pi4" ] ; then - # firmware for basic raspi functions - required for boot on Pi4 - echo "raspi3-firmware/buster-backports" >>config/package-lists/raspi.list.chroot - echo "raspi-firmware/buster-backports" >>config/package-lists/raspi.list.chroot - - # newer linux kernel - required for pi4/pi400 - echo "linux-image-arm64/buster-backports" >>config/package-lists/raspi.list.chroot - - else - echo "WARNING: ARM Platform selected, but unknown model: '$LBX2GO_ARCH_MODEL'. Assuming no additional packages/patches are required." - fi + elif [ "$LBX2GO_ARCH_MODEL" = "Pi4" ] ; then + # bullseye and newer do not need this + if [ "${LBX2GO_DEBVERSION}" = "buster" ]; then + # firmware for basic raspi functions - required for boot on Pi4 + echo "raspi3-firmware/buster-backports" >>config/package-lists/raspi.list.chroot + echo "raspi-firmware/buster-backports" >>config/package-lists/raspi.list.chroot + # newer linux kernel - required for pi4/pi400 + echo "linux-image-arm64/buster-backports" >>config/package-lists/raspi.list.chroot + fi + else + echo "WARNING: ARM Platform selected, but unknown model: '$LBX2GO_ARCH_MODEL'. Assuming no additional packages/patches are required." + fi fi - + # This is for minidesktop builds only if [ -f config/package-lists/firefox-langpacks.list.chroot ]; then if [ -n "$LBX2GO_LANG" ]; then @@ -402,114 +406,114 @@ # Here, we should have reached a point where it is safe to point all proxy variables # at the apt-cacher-ng proxy. If you're seeing errors during your build that hint # at files not being downloaded, disable these three entries. export https_proxy=$LB_APT_HTTP_PROXY - export http_proxy=$LB_APT_HTTP_PROXY + export http_proxy=$LB_APT_HTTP_PROXY export ftp_proxy=$LB_APT_FTP_PROXY fi # This is part of our experimental ARM support # It is used when building for the ARM architecture (on Intel/AMD hardware and on ARM). - # It makes some necessary changes, and also tries to speed up squashfs creation when it + # It makes some necessary changes, and also tries to speed up squashfs creation when it # detects a crossbuild environment. if echo $LBX2GO_ARCH | grep -q 'arm'; then # This command removes all references to fuseext, freerdp-nightly, and x2gothinclient from the # package list files. Currently needed as there are no ARM packages for any of these. echo "WARNING: Removing all references to fuseext,freerdp-nightly and x2gothinclient from the build." sed -e 's/^.*fuseext.*$//g' -e 's/^.*freerdp-nightly.*$//g' -e 's/^.*x2gothinclient.*$//g' -i ./config/package-lists/* - # This command removes the X2Go repository from the directory where additional - # archives are stored. Currently needed as the X2Go repository offers no arm64 + # This command removes the X2Go repository from the directory where additional + # archives are stored. Currently needed as the X2Go repository offers no arm64 # packages, but Debian Buster does - so that's what we're falling back to. echo "WARNING: Removing all references to the X2Go repository from the build." rm ./config/archives/*x2go* - # The following is a hack to reduce squashfs creation time in a crossbuild environment. - # We're replacing mksquashfs in the changeroot with a wrapper script that drops the - # original mksquashfs call into a file. + # The following is a hack to reduce squashfs creation time in a crossbuild environment. + # We're replacing mksquashfs in the changeroot with a wrapper script that drops the + # original mksquashfs call into a file. - if (uname -r | grep -q 'i.86' || uname -r | grep -q 'amd64') ; then - # 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 - # lb build is called. + if (uname -r | grep -q 'i.86' || uname -r | grep -q 'amd64') ; then + # 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 + # lb build is called. + + # The other background task waits until the command file has been created, then + # it applies some necessary patches to it, and starts the mksquashfs command natively + # on the build host, rather than in the changeroot environment. + # This is because in the changeroot, we'd be running the ARM mksquashfs in a qemu + # software emulation of the ARM architecture, while on the host, we can use all the + # native, raw CPU power and cores available to us. - # The other background task waits until the command file has been created, then - # it applies some necessary patches to it, and starts the mksquashfs command natively - # on the build host, rather than in the changeroot environment. - # This is because in the changeroot, we'd be running the ARM mksquashfs in a qemu - # software emulation of the ARM architecture, while on the host, we can use all the - # native, raw CPU power and cores available to us. + # To make sure we don't have any lingering processes in the background, we're passing + # our own PID along to the background tasks, and tell them to terminate if our PID + # disappears while they're still in their waiting/looping state. - # To make sure we don't have any lingering processes in the background, we're passing - # our own PID along to the background tasks, and tell them to terminate if our PID - # disappears while they're still in their waiting/looping state. + MASTERPID=$$ - MASTERPID=$$ + # Replace mksquashfs in chroot with script + # (script will undo this upon completion) + ( + # wait until the chroot has been populated or until our parent process dies + while ! [ -x ./chroot/usr/bin/mksquashfs ]; do + ps $MASTERPID >/dev/null || exit 1 + sleep 1 + done + # make sure we don't overwrite the real executable if it has already been + # moved out of the way + if ! [ -x ./chroot/usr/bin/mksquashfs.real ]; then + cp ./chroot/usr/bin/mksquashfs ./chroot/usr/bin/mksquashfs.real + fi + echo '#!/bin/bash' >./chroot/usr/bin/mksquashfs + # log the name we've been called with and all parameters into this file + echo 'echo "$0 $@" >/tmp/filesystem.squashfs.temp' >>./chroot/usr/bin/mksquashfs + # once the native mksquashfs is complete, we will remove this file + echo 'while [ -f /tmp/filesystem.squashfs.temp ]; do' >>./chroot/usr/bin/mksquashfs + echo ' sleep 1' >>./chroot/usr/bin/mksquashfs + echo 'done' >>./chroot/usr/bin/mksquashfs + # so let's wait until it has been removed before deleting ourselves ... + echo 'rm /usr/bin/mksquashfs' >>./chroot/usr/bin/mksquashfs + # ... and moving the real executable back into its place + echo 'mv /usr/bin/mksquashfs.real /usr/bin/mksquashfs' >>./chroot/usr/bin/mksquashfs + chmod 755 ./chroot/usr/bin/mksquashfs + ) & - # Replace mksquashfs in chroot with script - # (script will undo this upon completion) - ( - # wait until the chroot has been populated or until our parent process dies - while ! [ -x ./chroot/usr/bin/mksquashfs ]; do - ps $MASTERPID >/dev/null || exit 1 - sleep 1 - done - # make sure we don't overwrite the real executable if it has already been - # moved out of the way - if ! [ -x ./chroot/usr/bin/mksquashfs.real ]; then - cp ./chroot/usr/bin/mksquashfs ./chroot/usr/bin/mksquashfs.real - fi - echo '#!/bin/bash' >./chroot/usr/bin/mksquashfs - # log the name we've been called with and all parameters into this file - echo 'echo "$0 $@" >/tmp/filesystem.squashfs.temp' >>./chroot/usr/bin/mksquashfs - # once the native mksquashfs is complete, we will remove this file - echo 'while [ -f /tmp/filesystem.squashfs.temp ]; do' >>./chroot/usr/bin/mksquashfs - echo ' sleep 1' >>./chroot/usr/bin/mksquashfs - echo 'done' >>./chroot/usr/bin/mksquashfs - # so let's wait until it has been removed before deleting ourselves ... - echo 'rm /usr/bin/mksquashfs' >>./chroot/usr/bin/mksquashfs - # ... and moving the real executable back into its place - echo 'mv /usr/bin/mksquashfs.real /usr/bin/mksquashfs' >>./chroot/usr/bin/mksquashfs - chmod 755 ./chroot/usr/bin/mksquashfs - ) & + # start the native mksquashfs after patching the parameters + ( + # wait until the trigger file has been created or until our parent process dies + while ! [ -f ./chroot/tmp/filesystem.squashfs.temp ]; do + ps $MASTERPID >/dev/null || exit 1 + sleep 1 + done + # using any of the available filters (x86, arm, armthumb) for the + # -Xbcj command results in an unusable squashfs on arm, so we drop the + # parameter completely if it's there. + # also, all absolute paths (detected by beginning with " /") need to be + # prefixed with "./chroot" so the mksquashfs outside the chroot knows where + # to look for the corresponding paths/files. + sed -e 's/ -Xbcj x86/ /g' -e 's# /# ./chroot/#g' -i \ + ./chroot/tmp/filesystem.squashfs.temp + #needs switch from e.g. /bin/mksquashfs to $(which mksquashfs) + sed -e "s#^.*mksquashfs#$(which mksquashfs)#g" -i \ + ./chroot/tmp/filesystem.squashfs.temp + # now let's make this executable + chmod 755 ./chroot/tmp/filesystem.squashfs.temp - # start the native mksquashfs after patching the parameters - ( - # wait until the trigger file has been created or until our parent process dies - while ! [ -f ./chroot/tmp/filesystem.squashfs.temp ]; do - ps $MASTERPID >/dev/null || exit 1 - sleep 1 - done - # using any of the available filters (x86, arm, armthumb) for the - # -Xbcj command results in an unusable squashfs on arm, so we drop the - # parameter completely if it's there. - # also, all absolute paths (detected by beginning with " /") need to be - # prefixed with "./chroot" so the mksquashfs outside the chroot knows where - # to look for the corresponding paths/files. - sed -e 's/ -Xbcj x86/ /g' -e 's# /# ./chroot/#g' -i \ - ./chroot/tmp/filesystem.squashfs.temp - #needs switch from e.g. /bin/mksquashfs to $(which mksquashfs) - sed -e "s#^.*mksquashfs#$(which mksquashfs)#g" -i \ - ./chroot/tmp/filesystem.squashfs.temp - # now let's make this executable - chmod 755 ./chroot/tmp/filesystem.squashfs.temp - - # we also need to add some more excludes because they shouldn't end up - # in the squashfs - no idea why we don't need them while inside the chroot ... - echo 'proc/*' >>./chroot/excludes - echo 'sys/*' >>./chroot/excludes - echo 'dev/pts/*' >>/.chroot.excludes - # now let's execute the script and, if it terminates without an error, - # we'll move the newly created squashfs into the chroot where the chrooted - # mksquashfs command would have created it; if that worked as well, we'll - # remove the script file so our dummy mksquashfs inside the chroot knows - # it's time to terminate itself. - ./chroot/tmp/filesystem.squashfs.temp && \ - mv ./filesystem.squashfs ./chroot/ && \ - rm ./chroot/tmp/filesystem.squashfs.temp - ) & - fi + # we also need to add some more excludes because they shouldn't end up + # in the squashfs - no idea why we don't need them while inside the chroot ... + echo 'proc/*' >>./chroot/excludes + echo 'sys/*' >>./chroot/excludes + echo 'dev/pts/*' >>/.chroot.excludes + # now let's execute the script and, if it terminates without an error, + # we'll move the newly created squashfs into the chroot where the chrooted + # mksquashfs command would have created it; if that worked as well, we'll + # remove the script file so our dummy mksquashfs inside the chroot knows + # it's time to terminate itself. + ./chroot/tmp/filesystem.squashfs.temp && \ + mv ./filesystem.squashfs ./chroot/ && \ + rm ./chroot/tmp/filesystem.squashfs.temp + ) & + fi fi if lb build ; then echo -e "Build is done: '$LBX2GO_TCEDIR'" @@ -523,44 +527,44 @@ fi # This is part of our experimental ARM support if [ "$LBX2GO_IMAGETYPE" = "hdd" ] && echo $LBX2GO_ARCH | grep -q "arm" ; then - # after the build, let's determine the name of our image file ... - IMAGEFILE="./x2go-tce-live-image-$(echo $LBX2GO_ARCH | awk '{print $2}').img" + # after the build, let's determine the name of our image file ... + IMAGEFILE="./x2go-tce-live-image-$(echo $LBX2GO_ARCH | awk '{print $2}').img" - # ... and change the partition type to reflect the file system actually in use for partition 1 - # ("b" is FAT32) - sfdisk --part-type $IMAGEFILE 1 b + # ... and change the partition type to reflect the file system actually in use for partition 1 + # ("b" is FAT32) + sfdisk --part-type $IMAGEFILE 1 b - # next, we need to patch two things inside the image, so we need to set up a loop device for it. - FREELOOP=$(losetup -f) # note that this could become a TOCTOU issue if more than 1 process tries to use loop devices + # next, we need to patch two things inside the image, so we need to set up a loop device for it. + FREELOOP=$(losetup -f) # note that this could become a TOCTOU issue if more than 1 process tries to use loop devices - # as the image is a full disk image containing a partition, we need to jump to the position where the first partition starts - losetup -o 1048576 $FREELOOP $IMAGEFILE + # as the image is a full disk image containing a partition, we need to jump to the position where the first partition starts + losetup -o 1048576 $FREELOOP $IMAGEFILE - # now let's mount it - mkdir -p ./tempmount - mount $FREELOOP ./tempmount + # now let's mount it + mkdir -p ./tempmount + mount $FREELOOP ./tempmount - # purge this dir, so we have enough space; we'll return to fill it later - rm ./tempmount/live/* + # purge this dir, so we have enough space; we'll return to fill it later + rm ./tempmount/live/* - # first, we copy the contents of the boot/firmware/ folder to the root directory, because that is where these files are needed - # see if inplace helps against out of space errors - rsync -aP --inplace ./chroot/boot/firmware/* ./tempmount + # first, we copy the contents of the boot/firmware/ folder to the root directory, because that is where these files are needed + # see if inplace helps against out of space errors + rsync -aP --inplace ./chroot/boot/firmware/* ./tempmount - mkdir -p ./tempmount/live/ - rsync -aP ./binary/live/*.squashfs ./tempmount/live/ + mkdir -p ./tempmount/live/ + rsync -aP ./binary/live/*.squashfs ./tempmount/live/ - # next, we replace the "root=" parameter with the parameters needed for live-booting - sed -e 's#root=/dev/mmcblk0p2 #'"$LBX2GO_BOOTAPPEND_LIVE"' #' -i ./tempmount/cmdline.txt + # next, we replace the "root=" parameter with the parameters needed for live-booting + sed -e 's#root=/dev/mmcblk0p2 #'"$LBX2GO_BOOTAPPEND_LIVE"' #' -i ./tempmount/cmdline.txt - # here comes the cleanup part - sync - umount $FREELOOP - losetup -d $FREELOOP - rmdir ./tempmount - fi + # here comes the cleanup part + sync + umount $FREELOOP + losetup -d $FREELOOP + rmdir ./tempmount + fi if [ "$LBX2GO_IMAGETYPE" = "netboot" ] ; then if [ "$LBX2GO_NOSQUASHFS" = "true" ] ; then (cd binary; echo live$'\n'live/filesystem.squashfs |cpio -o -H newc | gzip --fast) >./x2go-tce-filesystem.cpio.gz -- This mail was generated by DokuWiki at https://wiki.x2go.org/
A page in your DokuWiki was added or changed. Here are the details: Browser : Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 IP Address : 78.43.74.240 Hostname : ip-078-043-074-240.um18.pools.vodafone-ip.de Old Revision : https://wiki.x2go.org/doku.php/doc:howto:tce?rev=1669986428 New Revision : https://wiki.x2go.org/doku.php/doc:howto:tce Date of New Revision: 2022/12/02 13:08 Edit Summary : [Starting the Build] added comment to explain where the log file goes User : stefanbaur There may be newer changes after this revision. If this happens, a message will be shown on the top of the rev page. @@ -263,8 +263,9 @@ # Create Timestamp LBX2GO_TIMESTAMP=$(date +"%Y%m%d%H%M%S") + # Log all output to a logfile in /tmp exec > >(tee "/tmp/$LBX2GO_TIMESTAMP.log") 2>&1 # Set Directory name LBX2GO_TCEDIR="./live-build-x2go-${LBX2GO_TIMESTAMP}-${LBX2GO_IMAGETYPE}-$(echo $LBX2GO_ARCH | awk '{print $2}')-${LBX2GO_CONFIG##*/}" -- This mail was generated by DokuWiki at https://wiki.x2go.org/
A page in your DokuWiki was added or changed. Here are the details: Browser : Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0 IP Address : 92.196.108.85 Hostname : port-92-196-108-85.dynamic.as20676.net Old Revision : https://wiki.x2go.org/doku.php/doc:howto:tce?rev=1669986493 New Revision : https://wiki.x2go.org/doku.php/doc:howto:tce Date of New Revision: 2022/12/27 14:47 Edit Summary : User : gratuxri There may be newer changes after this revision. If this happens, a message will be shown on the top of the rev page. @@ -59,17 +59,13 @@ #export LBX2GO_GETSRC="true" # Select ONE of the following git reposities # this one loosely corresponds to "stable" - #export LBX2GO_CONFIG='git://code.x2go.org/live-build-x2go.git::feature/openbox-magic-pixel-workaround-buster' - #export LBX2GO_CONFIG='git://code.x2go.org/live-build-x2go.git::feature/mate-minidesktop-buster' - export LBX2GO_CONFIG='git://code.x2go.org/live-build-x2go.git::feature/openbox-magic-pixel-workaround-bullseye' - #export LBX2GO_CONFIG='git://code.x2go.org/live-build-x2go.git::feature/mate-minidesktop-bullseye' + #export LBX2GO_CONFIG='https://gitlab.x2go.org/x2go/live-build-x2go.git::feature/openbox-magic-pixe...' + #export LBX2GO_CONFIG='https://gitlab.x2go.org/x2go/live-build-x2go.git::feature/mate-minidesktop-b...' + export LBX2GO_CONFIG='https://gitlab.x2go.org/x2go/live-build-x2go.git::feature/openbox-magic-pixe...' + #export LBX2GO_CONFIG='https://gitlab.x2go.org/x2go/live-build-x2go.git::feature/mate-minidesktop-b...' # this one loosely corresponds to "heuler" - #export LBX2GO_CONFIG='https://github.com/LinuxHaus/live-build-x2go::feature/openbox-magic-pixel-wo...' - #export LBX2GO_CONFIG='https://github.com/LinuxHaus/live-build-x2go::feature/openbox-mate-minideskt...' - #export LBX2GO_CONFIG='https://github.com/LinuxHaus/live-build-x2go::feature/openbox-magic-pixel-wo...' - #export LBX2GO_CONFIG='https://github.com/LinuxHaus/live-build-x2go::feature/openbox-mate-minideskt...' # NOTE: Add "-stretch" to the end of the LBX2GO_CONFIG string to create a stretch build, # add "-buster" to the end of the LBX2GO_CONFIG string to create a buster build, # add "-bullseye" to the end of the LBX2GO_CONFIG string to create a bullseye build -- This mail was generated by DokuWiki at https://wiki.x2go.org/
A page in your DokuWiki was added or changed. Here are the details: Browser : Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 IP Address : 178.202.75.45 Hostname : ip-178-202-075-045.um47.pools.vodafone-ip.de Old Revision : https://wiki.x2go.org/doku.php/doc:howto:tce?rev=1672152459 New Revision : https://wiki.x2go.org/doku.php/doc:howto:tce Date of New Revision: 2024/01/15 15:12 Edit Summary : [Configuring the Build] added updates for bookworm User : stefanbaur There may be newer changes after this revision. If this happens, a message will be shown on the top of the rev page. @@ -67,8 +67,9 @@ # this one loosely corresponds to "heuler" # NOTE: Add "-stretch" to the end of the LBX2GO_CONFIG string to create a stretch build, # add "-buster" to the end of the LBX2GO_CONFIG string to create a buster build, # add "-bullseye" to the end of the LBX2GO_CONFIG string to create a bullseye build + # add "-bookworm" to the end of the LBX2GO_CONFIG string to create a bookworm build (will be in git repo $SOON) # Select ONE of the following LBX2GO_ARCH lines and comment out the others # (feel free to use long or short options) # for 64-Bit builds, use: @@ -108,8 +109,12 @@ export LBX2GO_BOOTAPPEND_LIVE+=" net.ifnames=0 biosdevname=0" elif [ -z "${LBX2GO_CONFIG##*-bullseye}" ] ; then export LBX2GO_DEBVERSION="bullseye" export LBX2GO_BOOTAPPEND_LIVE+=" net.ifnames=0 biosdevname=0" + elif [ -z "${LBX2GO_CONFIG##*-bookworm}" ] ; then + export LBX2GO_DEBVERSION="bookworm" + export LBX2GO_BOOTAPPEND_LIVE+=" net.ifnames=0 biosdevname=0" + export LBX2GO_ARCHIVE_AREAS="non-free-firmware " else export LBX2GO_DEBVERSION="jessie" fi @@ -177,9 +182,9 @@ export LBX2GO_DEFAULTS+=" --binary-filesystem fat32 \ --hdd-size 1024" fi - export LBX2GO_ARCHIVE_AREAS="main contrib non-free" + export LBX2GO_ARCHIVE_AREAS="main contrib non-free $LBX2GO_ARCHIVE_AREAS" # This is for minidesktop builds and currently only adds firefox-esr language packs # export LBX2GO_LANG='de' -- This mail was generated by DokuWiki at https://wiki.x2go.org/
A page in your DokuWiki was added or changed. Here are the details: Browser : Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 IP Address : 178.202.75.45 Hostname : ip-178-202-075-045.um47.pools.vodafone-ip.de Old Revision : https://wiki.x2go.org/doku.php/doc:howto:tce?rev=1705331555 New Revision : https://wiki.x2go.org/doku.php/doc:howto:tce Date of New Revision: 2024/01/26 15:15 Edit Summary : [Live-Patching the Build] - added example for minidesktop User : stefanbaur There may be newer changes after this revision. If this happens, a message will be shown on the top of the rev page. @@ -252,9 +252,65 @@ ==== Live-Patching the Build ==== To add patches that aren't part of any package yet, you can use the directory ./patch/ for patches that should be added to all versions, and ./patch-minidesktop/ for patches that should only be added to the MATE-MiniDesktop Edition. - You will need to create a directory structure like ./patch/includes.chroot/etc/ to create/overwrite a file in /etc/ within the live environment. + You will need to create a directory structure like <code>./patch/includes.chroot/etc/</code> to create/overwrite a file in <code>/etc/</code> within the live environment. + + e.g. to override <code>/etc/x2go/x2gothinclient-minidesktop_start</code> with a custom version, run <code>mkdir -p ./patch-minidesktop/includes.chroot/etc/x2go/</code> and save the following file as <code>./patch-minidesktop/includes.chroot/etc/x2go/x2gothinclient-minidesktop_start</code> + <code> + #!/bin/bash + + # Copyright (C) 2010-2024 by X2Go project, https://wiki.x2go.org + # Oleksandr Shneyder <o.shneyder@phoca-gmbh.de> + # Moritz 'Morty' Struebe <Moritz.Struebe@informatik.uni-erlangen.de> + # Mike Gabriel <mike.gabriel@das-netzwerkteam.de> + # Stefan Baur <X2Go-ML-1@baur-itcs.de> + # + # X2Go is free software; you can redistribute it and/or modify + # it under the terms of the GNU General Public License as published by + # the Free Software Foundation; either version 2 of the License, or + # (at your option) any later version. + # + # X2Go is distributed in the hope that it will be useful, + # but WITHOUT ANY WARRANTY; without even the implied warranty of + # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + # GNU General Public License for more details. + # + # You should have received a copy of the GNU General Public License + # along with this program; if not, write to the + # Free Software Foundation, Inc., + # 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. + + # make sure pulseaudio can be reached via TCP from the X2Go Server side... + if ! /usr/bin/pactl list modules | grep -A1 'module-native-protocol-tcp' | grep -q 'auth-ip-acl=127.0.0.1;::1' ; then + /usr/bin/pactl 'load-module' 'module-native-protocol-tcp' 'auth-ip-acl=127.0.0.1;::1' + fi + + # make sure we don't start before sessions and settings files exist - avoids race conditions + while ! [ -e ~x2gothinclient/.x2goclient/sessions ] ; do + sleep 1; + done + + while ! [ -e ~x2gothinclient/.x2goclient/settings ]; do + sleep 1 + done + + [ -s /etc/x2go/x2gothinclient_bg.svg ] && X2GO_BG='--background="/etc/x2go/x2gothinclient_bg.svg' + [ -s /etc/x2go/x2gothinclient_branding.svg ] && X2GO_BRAND='--branding="/etc/x2go/x2gothinclient_branding.svg' + + + /usr/lib/x2go/x2goclient --no-menu \ + $X2GO_BG \ + $X2GO_BRAND \ + --kbd-type=auto \ + --set-kbd=1 \ + --tray-icon \ + --read-exports-from=~/export \ + --no-session-edit \ + --add-to-known-hosts \ + & + + </code> ==== Starting the Build ==== In the directory where you want to save your builds, save the following file as x2go-tce-build, and run it (e.g. via //sudo bash ./x2go-tce-build//): <code> #!/bin/bash -- This mail was generated by DokuWiki at https://wiki.x2go.org/
A page in your DokuWiki was added or changed. Here are the details: Browser : Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 IP Address : 178.202.75.45 Hostname : ip-178-202-075-045.um47.pools.vodafone-ip.de Old Revision : https://wiki.x2go.org/doku.php/doc:howto:tce?rev=1706282122 New Revision : https://wiki.x2go.org/doku.php/doc:howto:tce Date of New Revision: 2024/01/26 15:23 Edit Summary : [Configuring the Build] updated build config for bookworm, added notes User : stefanbaur There may be newer changes after this revision. If this happens, a message will be shown on the top of the rev page. @@ -63,13 +63,16 @@ #export LBX2GO_CONFIG='https://gitlab.x2go.org/x2go/live-build-x2go.git::feature/openbox-magic-pixe...' #export LBX2GO_CONFIG='https://gitlab.x2go.org/x2go/live-build-x2go.git::feature/mate-minidesktop-b...' export LBX2GO_CONFIG='https://gitlab.x2go.org/x2go/live-build-x2go.git::feature/openbox-magic-pixe...' #export LBX2GO_CONFIG='https://gitlab.x2go.org/x2go/live-build-x2go.git::feature/mate-minidesktop-b...' - # this one loosely corresponds to "heuler" - # NOTE: Add "-stretch" to the end of the LBX2GO_CONFIG string to create a stretch build, - # add "-buster" to the end of the LBX2GO_CONFIG string to create a buster build, - # add "-bullseye" to the end of the LBX2GO_CONFIG string to create a bullseye build - # add "-bookworm" to the end of the LBX2GO_CONFIG string to create a bookworm build (will be in git repo $SOON) + #export LBX2GO_CONFIG='https://github.com/bauritcs/live-build-x2go.git::feature/openbox-magic-pixel...' + #export LBX2GO_CONFIG='https://github.com/bauritcs/live-build-x2go.git::feature/mate-minidesktop-bo...' + # NOTES: 1) https://github.com/bauritcs loosely corresponds to "heuler" + # 2) Minidesktop builds are work in progress and not production-ready. Cont(r)act us if you need them; feel free to submit patches. + # 3) Add "-stretch" to the end of the LBX2GO_CONFIG string to create a stretch build, + # add "-buster" to the end of the LBX2GO_CONFIG string to create a buster build, + # add "-bullseye" to the end of the LBX2GO_CONFIG string to create a bullseye build + # add "-bookworm" to the end of the LBX2GO_CONFIG string to create a bookworm build (will be in gitlab repo $SOON - use github.com/bauritcs for now) # Select ONE of the following LBX2GO_ARCH lines and comment out the others # (feel free to use long or short options) # for 64-Bit builds, use: -- This mail was generated by DokuWiki at https://wiki.x2go.org/
A page in your DokuWiki was added or changed. Here are the details: Browser : Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 IP Address : 178.202.75.45 Hostname : ip-178-202-075-045.um47.pools.vodafone-ip.de Old Revision : https://wiki.x2go.org/doku.php/doc:howto:tce?rev=1706282586 New Revision : https://wiki.x2go.org/doku.php/doc:howto:tce Date of New Revision: 2024/01/26 18:16 Edit Summary : [What options are available under FURTHER-OPTIONS-GO-HERE?] Added windowwidth parameter documentation User : stefanbaur There may be newer changes after this revision. If this happens, a message will be shown on the top of the rev page. @@ -1045,8 +1045,9 @@ * ''tcpprint'' - Will allow you to use local LPT/USB printers like "dumb" network printers (listening to port 9100 and above). Requires MAC->IP mapping in DHCP server (and optionally, DNS->IP mapping), or static IPs - else your print jobs will end up on random devices. This setup is preferred over the X2GoClient's built-in printing for locally attached printers if X2GoServer and ThinClients are on the same network. It is not recommended when your X2Go connection goes across the internet or when the ThinClient is actually a laptop roaming between different networks. **Attention: When used without ''tcpprintonlyfrom'' (see below), this means anyone that can reach your thin client via e.g. ping can also send print jobs to it!** * ''tcpprintonlyfrom=x.x.x.x'' - Will allow you to specify which IP address may connect to Port 9100 and above for printing to a locally attached LPT/USB printer. This should be the IP of your CUPS server or whatever print server system you use. Understands the same syntax as ''xinetd'''s ''only_from''. * ''throttle=n|n:n:n:n:n'' - Will throttle down- and upload speed (''throttle=n'') or set throttling limits as follows: download:upload:smoothingtime:smoothinglength:latency. Defaults for up- and download are 10 (KiloBytes/s), 3.0 (seconds, using decimals is permitted) smoothingtime, 20 (KiloBytes), 0 (ms). for a detailed description of these parameters, see "man trickle". You can use the first 1, 2, 3, 4 or all 5 parameters. To set down- and/or upload speed to unlimited, use the letter "u" instead of a numeric value. * ''timezone=TIMEZONE'' - can be used to define a timezone other than UTC, e.g. 'Europe/Berlin'. This especially makes sense for MATE-MiniDesktop, but is nice to have in regular TCE-Live as well, because the timestamp of the log messages will show the local time instead of UTC. This is a standard parameter of live-boot, and not specific to X2Go. + * ''windowwidth=[n-nnn]'' - this is only available in MiniDesktop mode. It allows you to set the width of the X2GoClient login window (which gets moved and resized to the right side of your screen during session startup) to any value between 0 and 100. Note that widths smaller than 30 are not recommended and may cause further resizing once the session starts. * ''x3270servers="host[:port][|host[:port]...]"'' - this is only available in MiniDesktop mode. It allows you to specify one or more hosts (with optional ports) for x3270 terminal emulation sessions that will be created as desktop shortcuts on the thinclient. For a default 3270 connection, the port is 23 (telnet) and does not need to be specified. For an SSL-encrypted connection (recommended), the port is 992. Hosts may be IP addresses or DNS names, and need to be separated with a ''|''. (feature available via github repo, soon via x2go repo too) * ''x5250servers="host[:port][|host[:port]...]"'' - this is only available in MiniDesktop mode. It allows you to specify one or more hosts (with optional ports) for x5250 terminal emulation sessions that will be created as desktop shortcuts on the thinclient. For a default 5250 connection, the port is 23 (telnet) and does not need to be specified. For an SSL-encrypted connection (recommended), the port is 992. Hosts may be IP addresses or DNS names, and need to be separated with a ''|''. Note that x5250 support is currently not part of the standard image available via git, as there is no x5250 executable in Debian. You can try using x3270 instead, most modern IBM i (System i, iSeries, AS/400) systems support 3270-type connections as well. If you need native 5250 support, say, with a commercial, closed-source 5250 terminal emulator, please leave a message on the X2Go-User Mailing List and we'll tell you if and how you can integrate that into your build. (feature available via github repo, soon via x2go repo too) * ''xinerama=left-of|right-of|above|below|same-as'' - Allows you to specify how multiple screens are handled (same-as clones the primary screen to all secondary screens, the other commands will cascade and thus expand the screen). Note that the current implementation will enforce "same-as" if it detects a touch screen driver (wacom) and no other pointing device. This is so you won't get stuck being unable to log off, for example, due to your touch device being limited to one screen. * ''xorg-driver=DRIVERNAME'' - will skip graphics driver autodetection and force the specified driver instead. This is a standard parameter of live-boot, and not specific to X2Go. -- This mail was generated by DokuWiki at https://wiki.x2go.org/
A page in your DokuWiki was added or changed. Here are the details: Browser : Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 IP Address : 178.202.75.45 Hostname : ip-178-202-075-045.um47.pools.vodafone-ip.de Old Revision : https://wiki.x2go.org/doku.php/doc:howto:tce?rev=1706292977 New Revision : https://wiki.x2go.org/doku.php/doc:howto:tce Date of New Revision: 2024/01/26 18:37 Edit Summary : Added section [Client Branding using SVGs] User : stefanbaur There may be newer changes after this revision. If this happens, a message will be shown on the top of the rev page. @@ -1062,8 +1062,12 @@ * ''bwlimit=nnn'' - Will allow you to specify a bandwidth limit (valid values: 1-100) in percent for the backgrounded update task. * ''ntfs-uuid='' - Will be required for updating images stored on NTFS filesystems. Full UUID as shown under /dev/disk/by-uuid/ is preferred, but can work with the volume serial number shown in the output of "vol c:" as well. * ''updatesleep=nnnnn'' - Will allow you to specify the upper limit (in seconds) of the update timer's randomizer. Allowed range for upper limit: 240-32767. Will default to 900 if unset or set to an out-of-range value. Lower limit is fixed at 120 seconds. * ''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. ===== 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''. -- This mail was generated by DokuWiki at https://wiki.x2go.org/
A page in your DokuWiki was added or changed. Here are the details: Browser : Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 IP Address : 178.202.75.45 Hostname : ip-178-202-075-045.um47.pools.vodafone-ip.de Old Revision : https://wiki.x2go.org/doku.php/doc:howto:tce?rev=1706294277 New Revision : https://wiki.x2go.org/doku.php/doc:howto:tce Date of New Revision: 2024/01/26 18:38 Edit Summary : [Client Branding/Theming using SVGs] User : stefanbaur There may be newer changes after this revision. If this happens, a message will be shown on the top of the rev page. @@ -1065,9 +1065,9 @@ * ''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. + This is actually a feature of X2GoClient itself, so it will also work on //fat client// installations, and even on Windows and macOS. ===== 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''. -- This mail was generated by DokuWiki at https://wiki.x2go.org/
A page in your DokuWiki was added or changed. Here are the details: Browser : Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 IP Address : 178.202.75.45 Hostname : ip-178-202-075-045.um47.pools.vodafone-ip.de Old Revision : https://wiki.x2go.org/doku.php/doc:howto:tce?rev=1706294306 New Revision : https://wiki.x2go.org/doku.php/doc:howto:tce Date of New Revision: 2024/01/26 19:39 Edit Summary : [Client Branding/Theming using SVGs] Added link to Branding/Theming Wiki page User : stefanbaur There may be newer changes after this revision. If this happens, a message will be shown on the top of the rev page. @@ -1067,8 +1067,9 @@ ===== 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. + You can find a more detailed explanation in the [[wiki:advanced:branding-theming|corresponding X2Go Wiki page]] ===== 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''. A command like <code>ssh -A root@ThinClientIPorDNS 'cat /var/run/x2go-tce-timestamps'</code> -- This mail was generated by DokuWiki at https://wiki.x2go.org/
A page in your DokuWiki was added or changed. Here are the details: Browser : Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 IP Address : 178.202.75.45 Hostname : ip-178-202-075-045.um47.pools.vodafone-ip.de Old Revision : https://wiki.x2go.org/doku.php/doc:howto:tce?rev=1706297974 New Revision : https://wiki.x2go.org/doku.php/doc:howto:tce Date of New Revision: 2024/01/26 19:39 Edit Summary : [Client Branding/Theming using SVGs] User : stefanbaur There may be newer changes after this revision. If this happens, a message will be shown on the top of the rev page. @@ -1067,9 +1067,9 @@ ===== 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. - You can find a more detailed explanation in the [[wiki:advanced:branding-theming|corresponding X2Go Wiki page]] + You can find a more detailed explanation in the [[wiki:advanced:branding-theming|corresponding X2Go Wiki page]]. ===== 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''. A command like <code>ssh -A root@ThinClientIPorDNS 'cat /var/run/x2go-tce-timestamps'</code> -- This mail was generated by DokuWiki at https://wiki.x2go.org/
A page in your DokuWiki was added or changed. Here are the details: Browser : Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 IP Address : 178.202.75.45 Hostname : ip-178-202-075-045.um47.pools.vodafone-ip.de Old Revision : https://wiki.x2go.org/doku.php/doc:howto:tce?rev=1706297985 New Revision : https://wiki.x2go.org/doku.php/doc:howto:tce Date of New Revision: 2024/01/26 19:49 Edit Summary : [Client Branding/Theming using SVGs] added before and after images User : stefanbaur There may be newer changes after this revision. If this happens, a message will be shown on the top of the rev page. @@ -1066,8 +1066,10 @@ ===== 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 ===== 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''. -- This mail was generated by DokuWiki at https://wiki.x2go.org/
A page in your DokuWiki was added or changed. Here are the details: Browser : Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 IP Address : 178.202.75.45 Hostname : ip-178-202-075-045.um47.pools.vodafone-ip.de Old Revision : https://wiki.x2go.org/doku.php/doc:howto:tce?rev=1706298544 New Revision : https://wiki.x2go.org/doku.php/doc:howto:tce Date of New Revision: 2024/09/02 13:32 Edit Summary : [Build system prerequisites for all variants] crossbuild needs another package and config User : stefanbaur There may be newer changes after this revision. If this happens, a message will be shown on the top of the rev page. @@ -31,9 +31,9 @@ * We suggest leaving at least 4 GB of free disk space so the build won't abort due to insufficient disk space while packages are downloaded, unpacked and copied around. * Make sure your package list is up to date by running: <code>sudo apt-get update </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 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 -y && update-binfmts --install aarch64</code> ===== Building your own X2Go-TCE Image ===== ==== Configuring the Build ==== Change to a directory where you want to save your builds, and save the following file as x2go-tce-config: -- This mail was generated by DokuWiki at https://wiki.x2go.org/
A page in your DokuWiki was added or changed. Here are the details: Browser : Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 IP Address : 178.202.75.45 Hostname : ip-178-202-075-045.um47.pools.vodafone-ip.de Old Revision : https://wiki.x2go.org/doku.php/doc:howto:tce?rev=1725283950 New Revision : https://wiki.x2go.org/doku.php/doc:howto:tce Date of New Revision: 2024/09/02 13:34 Edit Summary : [Configuring the Build] added generic paths/templates in config string User : stefanbaur There may be newer changes after this revision. If this happens, a message will be shown on the top of the rev page. @@ -86,9 +86,9 @@ #export LBX2GO_ARCH_MODEL='Pi4' # you can also set this to 'Pi3'. Note that there must not be any whitespace between 'Pi' and the digit. # 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 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 LBX2GO_BOOTAPPEND_LIVE+="fastpo " export LBX2GO_BOOTAPPEND_LIVE -- This mail was generated by DokuWiki at https://wiki.x2go.org/
A page in your DokuWiki was added or changed. Here are the details: Browser : Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 IP Address : 178.202.75.45 Hostname : ip-178-202-075-045.um47.pools.vodafone-ip.de Old Revision : https://wiki.x2go.org/doku.php/doc:howto:tce?rev=1725284055 New Revision : https://wiki.x2go.org/doku.php/doc:howto:tce Date of New Revision: 2024/09/02 18:07 Edit Summary : [Build system prerequisites for all variants] User : stefanbaur There may be newer changes after this revision. If this happens, a message will be shown on the top of the rev page. @@ -31,9 +31,9 @@ * We suggest leaving at least 4 GB of free disk space so the build won't abort due to insufficient disk space while packages are downloaded, unpacked and copied around. * Make sure your package list is up to date by running: <code>sudo apt-get update </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 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 -y && update-binfmts --install aarch64</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 -y && update-binfmts --enable aarch64</code> ===== Building your own X2Go-TCE Image ===== ==== Configuring the Build ==== Change to a directory where you want to save your builds, and save the following file as x2go-tce-config: -- This mail was generated by DokuWiki at https://wiki.x2go.org/
A page in your DokuWiki was added or changed. Here are the details: Browser : Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Goanna/6.6 Firefox/102.0 PaleMoon/33.1.1 IP Address : 178.202.75.45 Hostname : ip-178-202-075-045.um47.pools.vodafone-ip.de Old Revision : https://wiki.x2go.org/doku.php/doc:howto:tce?rev=1725300439 New Revision : https://wiki.x2go.org/doku.php/doc:howto:tce Date of New Revision: 2024/09/02 18:41 Edit Summary : [Build system prerequisites for all variants] command was incomplete User : stefanbaur There may be newer changes after this revision. If this happens, a message will be shown on the top of the rev page. @@ -31,9 +31,9 @@ * We suggest leaving at least 4 GB of free disk space so the build won't abort due to insufficient disk space while packages are downloaded, unpacked and copied around. * Make sure your package list is up to date by running: <code>sudo apt-get update </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 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 -y && update-binfmts --enable aarch64</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 -y && update-binfmts --enable qemu-aarch64</code> ===== Building your own X2Go-TCE Image ===== ==== Configuring the Build ==== Change to a directory where you want to save your builds, and save the following file as x2go-tce-config: -- This mail was generated by DokuWiki at https://wiki.x2go.org/
A page in your DokuWiki was added or changed. Here are the details: Browser : Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 IP Address : 178.202.75.45 Hostname : ip-178-202-075-045.um47.pools.vodafone-ip.de Old Revision : https://wiki.x2go.org/doku.php/doc:howto:tce?rev=1725302504 New Revision : https://wiki.x2go.org/doku.php/doc:howto:tce Date of New Revision: 2024/09/12 08:41 Edit Summary : [Configuring the Build] buildscript needs to check both host and target arch User : stefanbaur There may be newer changes after this revision. If this happens, a message will be shown on the top of the rev page. @@ -194,9 +194,9 @@ # This is to optimize squashfs size, based on a suggestion by intrigeri from the TAILS team # note that this will permanently change /usr/lib/live/build/binary_rootfs # # - 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 if grep -q -- '-Xbcj x86 -b 1024K -Xdict-size 1024K' /usr/lib/live/build/binary_rootfs; then apt install --reinstall live-build fi -- This mail was generated by DokuWiki at https://wiki.x2go.org/
A page in your DokuWiki was added or changed. Here are the details: Browser : Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Goanna/6.6 Firefox/102.0 PaleMoon/33.1.1 IP Address : 178.202.75.45 Hostname : ip-178-202-075-045.um47.pools.vodafone-ip.de Old Revision : https://wiki.x2go.org/doku.php/doc:howto:tce?rev=1726130482 New Revision : https://wiki.x2go.org/doku.php/doc:howto:tce Date of New Revision: 2024/09/12 17:40 Edit Summary : [Starting the Build] check for mksquashfs on foreign archs was wrong and never fired User : stefanbaur There may be newer changes after this revision. If this happens, a message will be shown on the top of the rev page. @@ -492,9 +492,9 @@ # The following is a hack to reduce squashfs creation time in a crossbuild environment. # We're replacing mksquashfs in the changeroot with a wrapper script that drops the # original mksquashfs call into a file. - if (uname -r | grep -q 'i.86' || uname -r | grep -q 'amd64') ; then + if (uname -m | grep -q 'i.86' || uname -m | grep -q 'x86_64' || uname -m | grep -q 'ppc64') ; then # 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 # lb build is called. -- This mail was generated by DokuWiki at https://wiki.x2go.org/
A page in your DokuWiki was added or changed. Here are the details: Browser : Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Goanna/6.6 Firefox/102.0 PaleMoon/33.1.1 IP Address : 178.202.75.45 Hostname : ip-178-202-075-045.um47.pools.vodafone-ip.de Old Revision : https://wiki.x2go.org/doku.php/doc:howto:tce?rev=1726162824 New Revision : https://wiki.x2go.org/doku.php/doc:howto:tce Date of New Revision: 2024/09/12 19:10 Edit Summary : [Build system prerequisites for all variants] added squashfs-tools to crossbuild section User : stefanbaur There may be newer changes after this revision. If this happens, a message will be shown on the top of the rev page. @@ -31,9 +31,9 @@ * We suggest leaving at least 4 GB of free disk space so the build won't abort due to insufficient disk space while packages are downloaded, unpacked and copied around. * Make sure your package list is up to date by running: <code>sudo apt-get update </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 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 -y && update-binfmts --enable qemu-aarch64</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 ===== ==== Configuring the Build ==== Change to a directory where you want to save your builds, and save the following file as x2go-tce-config: -- This mail was generated by DokuWiki at https://wiki.x2go.org/
A page in your DokuWiki was added or changed. Here are the details: Browser : Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Goanna/6.6 Firefox/102.0 PaleMoon/33.1.1 IP Address : 178.202.75.45 Hostname : ip-178-202-075-045.um47.pools.vodafone-ip.de Old Revision : https://wiki.x2go.org/doku.php/doc:howto:tce?rev=1726168223 New Revision : https://wiki.x2go.org/doku.php/doc:howto:tce Date of New Revision: 2024/09/12 19:13 Edit Summary : [Starting the Build] add safety catch for mksquashfs User : stefanbaur There may be newer changes after this revision. If this happens, a message will be shown on the top of the rev page. @@ -554,8 +554,12 @@ sed -e 's/ -Xbcj x86/ /g' -e 's# /# ./chroot/#g' -i \ ./chroot/tmp/filesystem.squashfs.temp #needs switch from e.g. /bin/mksquashfs to $(which mksquashfs) 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 # now let's make this executable chmod 755 ./chroot/tmp/filesystem.squashfs.temp -- This mail was generated by DokuWiki at https://wiki.x2go.org/
A page in your DokuWiki was added or changed. Here are the details: Browser : Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Goanna/6.6 Firefox/102.0 PaleMoon/33.1.1 IP Address : 178.202.75.45 Hostname : ip-178-202-075-045.um47.pools.vodafone-ip.de Old Revision : https://wiki.x2go.org/doku.php/doc:howto:tce?rev=1726168425 New Revision : https://wiki.x2go.org/doku.php/doc:howto:tce Date of New Revision: 2024/09/12 19:18 Edit Summary : [Starting the Build] added info output User : stefanbaur There may be newer changes after this revision. If this happens, a message will be shown on the top of the rev page. @@ -493,8 +493,9 @@ # We're replacing mksquashfs in the changeroot with a wrapper script that drops the # original mksquashfs call into a file. if (uname -m | grep -q 'i.86' || uname -m | 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 # appear in the changeroot; as the changeroot will only be created later on, once # lb build is called. -- This mail was generated by DokuWiki at https://wiki.x2go.org/
A page in your DokuWiki was added or changed. Here are the details: Browser : Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36 IP Address : 91.89.35.26 Hostname : ip-091-089-035-026.um28.pools.vodafone-ip.de Old Revision : https://wiki.x2go.org/doku.php/doc:howto:tce?rev=1726168729 New Revision : https://wiki.x2go.org/doku.php/doc:howto:tce Date of New Revision: 2025/04/20 09:36 Edit Summary : replaced apt-get with apt User : stefanbaur There may be newer changes after this revision. If this happens, a message will be shown on the top of the rev page. @@ -28,12 +28,12 @@ ===== Build system prerequisites for all variants ===== * You need a Debian Buster system to build the image. (Other distributions based on Debian might work, but this is untested.) * We suggest using a 64-Bit system, however, it is possible to use a 32-Bit system if you don't want to build a 64-Bit ThinClient image. * We suggest leaving at least 4 GB of free disk space so the build won't abort due to insufficient disk space while packages are downloaded, unpacked and copied around. - * Make sure your package list is up to date by running: <code>sudo apt-get update </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 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> + * Make sure your package list is up to date by running: <code>sudo apt update </code> + * Install the required package(s) by running: <code>sudo apt 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 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 install qemu-user-static binfmt-support squashfs-tools -y && update-binfmts --enable qemu-aarch64</code> ===== Building your own X2Go-TCE Image ===== ==== Configuring the Build ==== Change to a directory where you want to save your builds, and save the following file as x2go-tce-config: @@ -830,13 +830,13 @@ === Installing GRUB-legacy === * mount /dev/targetpartition to (mountpath) * create a folder ''(mountpath)/boot/grub'' * install grub-legacy into it: - * ''apt-get -y install grub-legacy'' # note this will remove grub2 from your system if it is installed, but will not cause any change to your boot sequence + * ''apt -y install grub-legacy'' # note this will remove grub2 from your system if it is installed, but will not cause any change to your boot sequence * ''grub-install --recheck --root-directory=(mountpath) /dev/targetdevice'' # entire device, not partition * check, and, if required, edit the contents of ''(mountpath)/boot/grub/device.map'' * if you had to make changes, re-run ''grub-install --root-directory=(mountpath) /dev/targetdevice'' # entire device, not partition - * optional: ''apt-get -y install grub2'' # reinstall grub2 if that is what you were using before + * optional: ''apt -y install grub2'' # reinstall grub2 if that is what you were using before * create a boot loader configuration file using the following template: <file - menu.lst> # sample grub-legacy menu.lst for booting X2Go-TCE from local media # Depending on your setup, this goes either into C:\menu.lst or C:\boot\grub\menu.lst, or /boot/grub/menu.lst. @@ -865,9 +865,9 @@ </file> === Installing syslinux === - * install syslinux and mbr: ''apt-get install -y syslinux mbr'' + * install syslinux and mbr: ''apt install -y syslinux mbr'' * run ''syslinux --install /dev/targetpartition'' # if that fails or media won't boot, try ''syslinux -s --install /dev/targetpartition'' * note that you have to mark /dev/targetpartition as "active" in the partition table. You can do that e.g. by calling ''sfdisk -A number-of-target-partition /dev/targetdevice'' * if your system doesn't boot like that, it might be due to an empty Master Boot Record. You can use ''install-mbr /dev/targetdisk'' to fix this. * for syslinux, use these three files as templates: @@ -1220,9 +1220,9 @@ FIXME This page is missing a section/subpage that explains how to speed up the netboot process using iPXE. Basically: <code> - apt-get install ipxe + apt install ipxe cd /your-tftp-root mkdir -p {bios,uefi} ln -s /usr/lib/ipxe/undionly.kpxe ./bios/ ln -s /boot/ipxe.efi ./uefi/ @@ -1307,9 +1307,9 @@ * /etc/x2go/x2go-tcebuilder/scripts-active (dir with symlinks to all active scripts) * /etc/x2go/x2go-tcebuilder/scripts-available (dir with symlinks to our templates and with regular user-created files) * /usr/share/x2go-tcebuilder/template-scripts (scripts we ship, with a big fat header that they should not be changed, but copied) * store the results somewhere under /var/lib/x2go-tcebuilder/ or whatever the proper place according to FHS and Debian would be - * turning it into a package would mean we could add dependencies as well, so the manual apt-get install would not be neccessary + * turning it into a package would mean we could add dependencies as well, so the manual apt install would not be neccessary * additional scripts could be added that work "automagically" if there's no PXE/TFTP/HTTP/FTP server yet - maybe in a separate package x2go-tce-setup-aids.deb which then has dependencies on atftpd and apache|lighttpd, ... FIXME autodetection for SSH Private Keys might need some more bells and whistles. * how about a script that patches the sessions file to enable autologin for all sessions when keys have been found? -- This mail was generated by DokuWiki at https://wiki.x2go.org/
A page in your DokuWiki was added or changed. Here are the details: Browser : Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36 IP Address : 91.89.35.26 Hostname : ip-091-089-035-026.um28.pools.vodafone-ip.de Old Revision : https://wiki.x2go.org/doku.php/doc:howto:tce?rev=1745141771 New Revision : https://wiki.x2go.org/doku.php/doc:howto:tce Date of New Revision: 2025/04/20 09:37 Edit Summary : [Build system prerequisites for all variants] arm64 support, while still experimental, is now available via the regular build script User : stefanbaur There may be newer changes after this revision. If this happens, a message will be shown on the top of the rev page. @@ -31,9 +31,9 @@ * We suggest leaving at least 4 GB of free disk space so the build won't abort due to insufficient disk space while packages are downloaded, unpacked and copied around. * Make sure your package list is up to date by running: <code>sudo apt update </code> * Install the required package(s) by running: <code>sudo apt 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 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 install qemu-user-static binfmt-support squashfs-tools -y && update-binfmts --enable qemu-aarch64</code> + * If you want to be able to cross-build across different architectures (e.g. building an ARM image on an Intel/AMD build host), install the optional package(s) by running: <code>sudo apt install qemu-user-static binfmt-support squashfs-tools -y && update-binfmts --enable qemu-aarch64</code> ===== Building your own X2Go-TCE Image ===== ==== Configuring the Build ==== Change to a directory where you want to save your builds, and save the following file as x2go-tce-config: -- This mail was generated by DokuWiki at https://wiki.x2go.org/
A page in your DokuWiki was added or changed. Here are the details: Browser : Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36 IP Address : 91.89.35.26 Hostname : ip-091-089-035-026.um28.pools.vodafone-ip.de Old Revision : https://wiki.x2go.org/doku.php/doc:howto:tce?rev=1745141840 New Revision : https://wiki.x2go.org/doku.php/doc:howto:tce Date of New Revision: 2025/04/20 09:40 Edit Summary : [Configuring the Build] x2go-tce-config: changed tag from code to file for easier copy-pasting User : stefanbaur There may be newer changes after this revision. If this happens, a message will be shown on the top of the rev page. @@ -36,9 +36,9 @@ ===== Building your own X2Go-TCE Image ===== ==== Configuring the Build ==== Change to a directory where you want to save your builds, and save the following file as x2go-tce-config: - <code> + <file - x2go-tce-config> # NOTE: This file gets sourced by the actual buildscript - so place it in the same directory as the buildscript or adjust the path in the buildscript. # simple check for apt-cacher-ng being active - if # we have a successful connect on port 3142, assume @@ -250,9 +250,9 @@ if [ "$LBX2GO_IMAGETYPE" = "netboot" ]; then export LBX2GO_DEFAULTS+=" $LBX2GO_BOOTLOADER" fi - </code> + </file> ==== Live-Patching the Build ==== To add patches that aren't part of any package yet, you can use the directory ./patch/ for patches that should be added to all versions, and ./patch-minidesktop/ for patches that should only be added to the MATE-MiniDesktop Edition. -- This mail was generated by DokuWiki at https://wiki.x2go.org/
A page in your DokuWiki was added or changed. Here are the details: Browser : Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36 IP Address : 91.89.35.26 Hostname : ip-091-089-035-026.um28.pools.vodafone-ip.de Old Revision : https://wiki.x2go.org/doku.php/doc:howto:tce?rev=1745142018 New Revision : https://wiki.x2go.org/doku.php/doc:howto:tce Date of New Revision: 2025/04/20 09:41 Edit Summary : [Live-Patching the Build] x2gothinclient-minidesktop_start: changed tag from code to file for easier copy-pasting User : stefanbaur There may be newer changes after this revision. If this happens, a message will be shown on the top of the rev page. @@ -258,9 +258,9 @@ You will need to create a directory structure like <code>./patch/includes.chroot/etc/</code> to create/overwrite a file in <code>/etc/</code> within the live environment. e.g. to override <code>/etc/x2go/x2gothinclient-minidesktop_start</code> with a custom version, run <code>mkdir -p ./patch-minidesktop/includes.chroot/etc/x2go/</code> and save the following file as <code>./patch-minidesktop/includes.chroot/etc/x2go/x2gothinclient-minidesktop_start</code> - <code> + <file - x2gothinclient-minidesktop_start> #!/bin/bash # Copyright (C) 2010-2024 by X2Go project, https://wiki.x2go.org # Oleksandr Shneyder <o.shneyder@phoca-gmbh.de> @@ -311,9 +311,9 @@ --no-session-edit \ --add-to-known-hosts \ & - </code> + </file> ==== Starting the Build ==== In the directory where you want to save your builds, save the following file as x2go-tce-build, and run it (e.g. via //sudo bash ./x2go-tce-build//): <code> #!/bin/bash -- This mail was generated by DokuWiki at https://wiki.x2go.org/
A page in your DokuWiki was added or changed. Here are the details: Browser : Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36 IP Address : 91.89.35.26 Hostname : ip-091-089-035-026.um28.pools.vodafone-ip.de Old Revision : https://wiki.x2go.org/doku.php/doc:howto:tce?rev=1745142108 New Revision : https://wiki.x2go.org/doku.php/doc:howto:tce Date of New Revision: 2025/04/20 09:42 Edit Summary : [Live-Patching the Build] added code tags User : stefanbaur There may be newer changes after this revision. If this happens, a message will be shown on the top of the rev page. @@ -253,9 +253,9 @@ fi </file> ==== Live-Patching the Build ==== - To add patches that aren't part of any package yet, you can use the directory ./patch/ for patches that should be added to all versions, and ./patch-minidesktop/ for patches that should only be added to the MATE-MiniDesktop Edition. + To add patches that aren't part of any package yet, you can use the directory <code>./patch/</code> for patches that should be added to all versions, and <code>./patch-minidesktop/</code> for patches that should only be added to the MATE-MiniDesktop Edition. You will need to create a directory structure like <code>./patch/includes.chroot/etc/</code> to create/overwrite a file in <code>/etc/</code> within the live environment. e.g. to override <code>/etc/x2go/x2gothinclient-minidesktop_start</code> with a custom version, run <code>mkdir -p ./patch-minidesktop/includes.chroot/etc/x2go/</code> and save the following file as <code>./patch-minidesktop/includes.chroot/etc/x2go/x2gothinclient-minidesktop_start</code> -- This mail was generated by DokuWiki at https://wiki.x2go.org/
A page in your DokuWiki was added or changed. Here are the details: Browser : Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36 IP Address : 91.89.35.26 Hostname : ip-091-089-035-026.um28.pools.vodafone-ip.de Old Revision : https://wiki.x2go.org/doku.php/doc:howto:tce?rev=1745142176 New Revision : https://wiki.x2go.org/doku.php/doc:howto:tce Date of New Revision: 2025/04/20 09:44 Edit Summary : [Starting the Build] x2go-tce-build: changed tag from code to file for easier copy-pasting User : stefanbaur There may be newer changes after this revision. If this happens, a message will be shown on the top of the rev page. @@ -314,9 +314,9 @@ </file> ==== Starting the Build ==== In the directory where you want to save your builds, save the following file as x2go-tce-build, and run it (e.g. via //sudo bash ./x2go-tce-build//): - <code> + <file - x2go-tce-build> #!/bin/bash # read (source) the config file . ./x2go-tce-config @@ -678,10 +678,9 @@ fi cd .. fi - - </code> + </file> ===== Netbooting ===== ==== Prerequisites ==== * You need an existing DHCP/PXE/TFTP setup with the usual pxelinux.0/pxelinux.cfg boot and configuration files, and a directory where kernel and initrd can be stored. This is not covered here, though we might add a separate howto for that some time later on. -- This mail was generated by DokuWiki at https://wiki.x2go.org/
A page in your DokuWiki was added or changed. Here are the details: Browser : Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36 IP Address : 91.89.35.26 Hostname : ip-091-089-035-026.um28.pools.vodafone-ip.de Old Revision : https://wiki.x2go.org/doku.php/doc:howto:tce?rev=1745142262 New Revision : https://wiki.x2go.org/doku.php/doc:howto:tce Date of New Revision: 2025/04/21 06:10 Edit Summary : [Build system prerequisites for all variants] Buster-> Bookworm User : stefanbaur There may be newer changes after this revision. If this happens, a message will be shown on the top of the rev page. @@ -25,9 +25,9 @@ * At least an i586-compatible CPU * Capability to boot via PXE //or// sufficient local storage (expect 250-450 MB, depending on what you decide to include) * A graphics card and input devices (Keyboard, Mouse/Trackball/Touchpad/Trackpoint/Touchscreen, ...) that are supported by the stock Debian X Server ===== Build system prerequisites for all variants ===== - * You need a Debian Buster system to build the image. (Other distributions based on Debian might work, but this is untested.) + * You need a Debian Bookworm system to build the image. (Other distributions based on Debian might work, but this is untested and may fail. E.g. if you try to build Bookworm images on Bullseye, you can only create netboot images, but no isos.) * We suggest using a 64-Bit system, however, it is possible to use a 32-Bit system if you don't want to build a 64-Bit ThinClient image. * We suggest leaving at least 4 GB of free disk space so the build won't abort due to insufficient disk space while packages are downloaded, unpacked and copied around. * Make sure your package list is up to date by running: <code>sudo apt update </code> * Install the required package(s) by running: <code>sudo apt install genisoimage git-core live-build live-config-doc live-manual-html live-boot-doc lsb-release netcat-traditional</code> -- This mail was generated by DokuWiki at https://wiki.x2go.org/
A page in your DokuWiki was added or changed. Here are the details: Browser : Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36 IP Address : 91.89.35.26 Hostname : ip-091-089-035-026.um28.pools.vodafone-ip.de Old Revision : https://wiki.x2go.org/doku.php/doc:howto:tce?rev=1745215852 New Revision : https://wiki.x2go.org/doku.php/doc:howto:tce Date of New Revision: 2025/04/21 06:11 Edit Summary : [Build system prerequisites for all variants] added rsync User : stefanbaur There may be newer changes after this revision. If this happens, a message will be shown on the top of the rev page. @@ -29,9 +29,9 @@ * You need a Debian Bookworm system to build the image. (Other distributions based on Debian might work, but this is untested and may fail. E.g. if you try to build Bookworm images on Bullseye, you can only create netboot images, but no isos.) * We suggest using a 64-Bit system, however, it is possible to use a 32-Bit system if you don't want to build a 64-Bit ThinClient image. * We suggest leaving at least 4 GB of free disk space so the build won't abort due to insufficient disk space while packages are downloaded, unpacked and copied around. * Make sure your package list is up to date by running: <code>sudo apt update </code> - * Install the required package(s) by running: <code>sudo apt 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 install genisoimage git-core live-build live-config-doc live-manual-html live-boot-doc lsb-release netcat-traditional rsync</code> * If you want to speed up subsequent builds, install the recommended package(s) by running: <code>sudo apt install apt-cacher-ng</code> * If you want to be able to cross-build across different architectures (e.g. building an ARM image on an Intel/AMD build host), install the optional package(s) by running: <code>sudo apt install qemu-user-static binfmt-support squashfs-tools -y && update-binfmts --enable qemu-aarch64</code> ===== Building your own X2Go-TCE Image ===== -- This mail was generated by DokuWiki at https://wiki.x2go.org/
A page in your DokuWiki was added or changed. Here are the details: Browser : Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36 IP Address : 91.89.35.26 Hostname : ip-091-089-035-026.um28.pools.vodafone-ip.de Old Revision : https://wiki.x2go.org/doku.php/doc:howto:tce?rev=1745215892 New Revision : https://wiki.x2go.org/doku.php/doc:howto:tce Date of New Revision: 2025/04/21 06:15 Edit Summary : [Build system prerequisites for all variants] Added notes for Bullseye and Ubuntu User : stefanbaur There may be newer changes after this revision. If this happens, a message will be shown on the top of the rev page. @@ -25,9 +25,11 @@ * At least an i586-compatible CPU * Capability to boot via PXE //or// sufficient local storage (expect 250-450 MB, depending on what you decide to include) * A graphics card and input devices (Keyboard, Mouse/Trackball/Touchpad/Trackpoint/Touchscreen, ...) that are supported by the stock Debian X Server ===== Build system prerequisites for all variants ===== - * You need a Debian Bookworm system to build the image. (Other distributions based on Debian might work, but this is untested and may fail. E.g. if you try to build Bookworm images on Bullseye, you can only create netboot images, but no isos.) + * You need a Debian Bookworm system to build the image. Other distributions based on Debian might work, but this is untested and may fail. At the moment, we know about the following limitations: + * If you try to build Debian Bookworm images on Debian Bullseye, you can only create netboot images, but no iso/iso-hybrid/hdd images. + * If you want to try to build Debian (Bookworm) images on Ubuntu, you will need to install the live-build, debootstrap and debian-archive-keyring packages from the Debian repo. * We suggest using a 64-Bit system, however, it is possible to use a 32-Bit system if you don't want to build a 64-Bit ThinClient image. * We suggest leaving at least 4 GB of free disk space so the build won't abort due to insufficient disk space while packages are downloaded, unpacked and copied around. * Make sure your package list is up to date by running: <code>sudo apt update </code> * Install the required package(s) by running: <code>sudo apt install genisoimage git-core live-build live-config-doc live-manual-html live-boot-doc lsb-release netcat-traditional rsync</code> -- This mail was generated by DokuWiki at https://wiki.x2go.org/
A page in your DokuWiki was added or changed. Here are the details: Browser : Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36 IP Address : 91.89.35.26 Hostname : ip-091-089-035-026.um28.pools.vodafone-ip.de Old Revision : https://wiki.x2go.org/doku.php/doc:howto:tce?rev=1745216123 New Revision : https://wiki.x2go.org/doku.php/doc:howto:tce Date of New Revision: 2025/04/21 06:16 Edit Summary : [Build system prerequisites for all variants] Build Env needs more space these days User : stefanbaur There may be newer changes after this revision. If this happens, a message will be shown on the top of the rev page. @@ -29,9 +29,9 @@ * You need a Debian Bookworm system to build the image. Other distributions based on Debian might work, but this is untested and may fail. At the moment, we know about the following limitations: * If you try to build Debian Bookworm images on Debian Bullseye, you can only create netboot images, but no iso/iso-hybrid/hdd images. * If you want to try to build Debian (Bookworm) images on Ubuntu, you will need to install the live-build, debootstrap and debian-archive-keyring packages from the Debian repo. * We suggest using a 64-Bit system, however, it is possible to use a 32-Bit system if you don't want to build a 64-Bit ThinClient image. - * We suggest leaving at least 4 GB of free disk space so the build won't abort due to insufficient disk space while packages are downloaded, unpacked and copied around. + * We suggest leaving at least 6 GB of free disk space so the build won't abort due to insufficient disk space while packages are downloaded, unpacked and copied around. * Make sure your package list is up to date by running: <code>sudo apt update </code> * Install the required package(s) by running: <code>sudo apt install genisoimage git-core live-build live-config-doc live-manual-html live-boot-doc lsb-release netcat-traditional rsync</code> * If you want to speed up subsequent builds, install the recommended package(s) by running: <code>sudo apt install apt-cacher-ng</code> * If you want to be able to cross-build across different architectures (e.g. building an ARM image on an Intel/AMD build host), install the optional package(s) by running: <code>sudo apt install qemu-user-static binfmt-support squashfs-tools -y && update-binfmts --enable qemu-aarch64</code> -- This mail was generated by DokuWiki at https://wiki.x2go.org/