A page in your DokuWiki was added or changed. Here are the details: Date : 2021/01/25 00:18 Browser : Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36 IP-Address : 82.212.29.219 Hostname : HSI-KBW-082-212-029-219.hsi.kabelbw.de Old Revision: https://wiki.x2go.org/doku.php/doc:howto:tce?rev=1610241860 New Revision: https://wiki.x2go.org/doku.php/doc:howto:tce Edit Summary: [Configuring the Build] This is part one of the patch to create Images for the Raspberry Pi User : stefanbaur @@ -42,18 +42,22 @@ # 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/ export LB_APT_HTTP_PROXY=http://127.0.0.1:3142/ fi + + # set these to true to save source files + #export LB_SOURCE="true" + #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' @@ -69,18 +73,32 @@ # 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' - # EXPERIMENTAL: For ARM (Raspberry Pi), try: - # export LBX2GO_ARCH='-a arm64' - # Note that ARM builds are currently not working, at least not on the Pi. + # 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. # 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" + + if echo -e "$LBX2GO_CONFIG" | grep -q "openbox"; then + 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 + fi # detect if the selected git repo is meant to build a buster, stretch or jessie image if [ -z "${LBX2GO_CONFIG##*-stretch}" ] ; then export LBX2GO_DEBVERSION="stretch" + export LBX2GO_BOOTAPPEND_LIVE+=" net.ifnames=0 biosdevname=0" + elif [ -z "${LBX2GO_CONFIG##*-buster-heuler}" ] ; then + export LBX2GO_DEBVERSION="buster" + export LBX2GO_BOOTAPPEND_LIVE+=" net.ifnames=0 biosdevname=0" + elif [ -z "${LBX2GO_CONFIG##*-buster-heuler-bpo}" ] ; then + 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" @@ -95,9 +113,9 @@ export LBX2GO_BOOTLOADERPARAMNAME="--bootloader" fi # set boot loader type - leave this unchanged unless you really know what you're doing - if echo "$LBX2GO_ARCH" | awk '{print $2}' | grep -q "arm" && ! dpkg --print-architecture | grep -q 'arm'; then + if echo $LBX2GO_ARCH | awk '{print $2}' | grep -q "arm" ; then # This is part of our experimental ARM support LBX2GO_BOOTLOADERPARAMNAME=" " LBX2GO_BOOTLOADER=" " else @@ -136,11 +154,21 @@ $LBX2GO_BOOTLOADERPARAMNAME $LBX2GO_BOOTLOADER --distribution $LBX2GO_DEBVERSION" # This is part of our experimental ARM support - if echo "$LBX2GO_ARCH" | grep -q 'arm'; then + if echo $LBX2GO_ARCH | grep -q 'arm' && ! dpkg --print-architecture | grep -q 'arm' ; then export LBX2GO_DEFAULTS+=" --bootstrap-qemu-arch arm64 \ - --bootstrap-qemu-static /usr/bin/qemu-arm-static" + --bootstrap-qemu-static /usr/bin/qemu-aarch64-static \ + --apt-options \"--yes -oAPT::Default-Release=${LBX2GO_DEBVERSION} -oAPT::Immediate-Configure=false\" " + fi + + # This is part of our experimental ARM support + # This makes sure the resulting disk image is at least 1GB in size, even though our build currently requires way less. + # It's unlikely that anyone will need to boot from a smaller partition; but if we let live-build pick the minimum size automatically, + # we will not have enough space left to copy the firmware blobs into the right location. + if echo $LBX2GO_ARCH | grep -q 'arm' ; then + export LBX2GO_DEFAULTS+=" --binary-filesystem fat32 \ + --hdd-size 1024" fi export LBX2GO_ARCHIVE_AREAS="main contrib non-free" @@ -148,18 +176,25 @@ # 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 - 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 + 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 + 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 + 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. # For all other uses of the TCE-Live image creator (i.e. Minidesktop), your results may vary ... use at your own risk. 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" @@ -172,13 +207,22 @@ # 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 + # 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' # to create a tar file only (seems to be broken in older live-build versions - Buster works): # 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 + fi if [ "$LBX2GO_IMAGETYPE" = "netboot" ]; then LBX2GO_DEFAULTS+=" $LBX2GO_BOOTLOADER" fi -- This mail was generated by DokuWiki at https://wiki.x2go.org/