thinRoot

thinRoot is a buildroot (https://buildroot.org/) powered operating system environment to create lightweight user-defined kiosk systems or ThinClients (e.g. using x86 hardware, RaspberryPi, ASUS Tinkerboard, etc.) to smoothly connect to server-based desktop environments via ThinLinc, RDP, SPICE@ProxmoxVE, VNC or to create a simply web-kiosk.

APACHE-2.0 License

Stars
52

Bot releases are hidden (Show)

thinRoot - thinRoot 20230208

Published by jens-maus over 1 year ago

Changes:

  • updated buildroot to 2022.08.3
  • instead of using the "sync" option when mounting USB data drives - which slows down transfer speed considerably and also increases the wear level load - we ensure a good synced media via decreased vm.dirty_expire_centisecs and vm.dirty_writeback_centisecs to 5 seconds. Thus we use a global sysctl.conf now with reasonable values.
thinRoot - thinRoot 20221019

Published by jens-maus about 2 years ago

Changes:

  • updated upstream kernel to 5.15.74 LTS.
  • updated buildroot to 2022.08 and adapted patchset accordingly.
  • added +gfx-thin-client option to queselect rdp callout script to feature advanced xfreerdp 2.8.0 settings.
  • added missing CROCUS gallium driver for mesa3d and added 20-intel.conf xorg config file to take care of correct DRI/device OpenGL settings.
  • use the powersave scaling governor as the default one.
thinRoot - thinRoot 20220706

Published by jens-maus over 2 years ago

Changes:

  • updated upstream kernel to 5.15.50 LTS.
  • updated buildroot to 2022.05 and adapted patchset accordingly.
  • updated rpi-eeprom package to latest pieeprom-2022-04-26 version.
  • retired obsolete qt-webkit-kiosk package in favour of qt-webengine-kiosk.
  • added -x jitter option to rngd startup to disable performance hungry jitter RNG source.
thinRoot - thinRoot 20220309

Published by jens-maus over 2 years ago

Changes:

  • updated upstream kernel to 5.10.104 LTS.
  • updated buildroot to 2022.02 and adapted patchset accordingly.
  • added /video option to xfreerdp startup script to improve vide playback capabilities.
thinRoot - thinRoot 20220303

Published by jens-maus over 2 years ago

Changes:

  • updated thinlinc client to 4.14.0-2324
  • updated upstream kernel to 5.10.103 LTS
  • updated buildroot to 2021.11.2 and adapted patchset accordingly.
thinRoot - thinRoot 20220119

Published by jens-maus almost 3 years ago

Changes:

  • updated raspberrypi kernel defconfig fragments to get back correct functionality for rpi3.
  • added new S99SetupLEDs startup script which will make sure that the onboard LED of a RaspberryPi/Tinkerboard will be set to "heartbeat" mode for better monitoring of the current state.
  • fixed VNC viewer startup by using the ThinLinc client own vncviewer for connecting to pure vnc servers using qutselect.
  • updated buildroot to latest 2021.08.3 version.
  • updated Linux kernel versions to 5.10.92 (intelnuc).
thinRoot - thinRoot 20210910

Published by jens-maus about 3 years ago

Changes:

  • updated ThinLinc client to latest 4.13.0-2172 version.
  • updated buildroot to latest 2021.08 version.
  • updated Linux kernel versions to 5.10.62 (intelnuc+tinkerboard) and 5.10.60/1.20210831 (RaspberryPi) as well as updated RaspberryPi firmware to 1.20210805.
  • integrated a potential u-boot fix for a stalling bootup in u-boot when a usb keyboard is connected.
  • modified kernel defconfigs for RaspberryPi to use upstream kernel defconfigs plus some fragment files with our dedicated changeset.
  • added a new RaspberryPi4 (32bit) target for generating a 32bit version for the RaspberryPi4 platform so that we can add/support a ThinLinc client, simply because ThinLinc is still only 32bit for ARM.
  • updated Busybox.config and added PID_FILE_PATH so that crond will put its crond.reboot file into /run correctly and not in root.
  • we also generate a /VERSION file for the intelnuc platform so that we can identify the used thinRoot version during runtime as well.
  • added default bootEnv.txt files for RaspberryPi and Tinkerboard platform but with disabled entries so that users can pickup the BASE_PATH stuff on their own more easily.
thinRoot - thinRoot 20210812

Published by jens-maus about 3 years ago

Changes:

  • implemented hardware support for using a RaspberryPi4, RaspberryPi3 or ASUS Tinkerboard as a thinRoot client system.
  • converted the qutselect package into a cmake-package to compile it correctly with the buildroot own compiler suite.
  • use max timeout of 60 seconds or otherwise the bootup process can hang forever in the DHCP phase.
  • added a fixed version of dhcpcd-run-hooks which executes logger without -i
  • modified S42LoadNetFiles to correctly deal with non existing BOOT_IMAGE parameter in /proc/cmdline and also correctly deal with BASE_PATH being specified instead. This should finally allow our raspberrypi to work correctly as a thinroot client.
  • upon startup no idle shutdown cronjob will be created in case the idle shutdown timer was set to 0
  • splitted the wm vs. qutselect startup in dedicated wm-startup.sh and qutselect-startup.sh scripts so that users can more easily override which command should be executed upon X11/WM startup, especially if they are not interested in running qutselect at all.
  • updated qutselect to latest 2.4 version.
  • updated Linux kernel to 5.10.57 LTS.
thinRoot - thinRoot 20210628

Published by jens-maus over 3 years ago

Changes:

  • tuned X11 default settings to make sure all modules are loaded in correct order and that we have a 32bit screen as well.
  • added remmina as dedicated buildroot package for potential future use.
  • updated freerdp package to latest 2.3.2 version potentially including important fixes.
  • updated Linux kernel to 5.10.46 LTS.
  • updated buildroot to latest 2021.05
thinRoot - thinRoot 20210424

Published by jens-maus over 3 years ago

Changes:

  • updated ThinLinc client to latest version (4.12.1r6733).
  • updated intel-e1000e package to latest version and added support for intelNUC Gen11 (Panther Canyon) hardware.
  • updated Linux kernel to 5.10.32 LTS.
  • updated buildroot to latest 2021.02.1 version.
thinRoot - thinRoot 20201216

Published by jens-maus almost 4 years ago

Changes:

  • added /dynamic-resolution to xfreerdp call so that the resolution is updated in case a user switch between NUC stations having different monitors/resolutions.
  • bumped kernel to latest 5.4.84 LTS version.
  • bumped buildroot to 2020.11
thinRoot - thinRoot 20201130

Published by jens-maus almost 4 years ago

Changes:

  • added ffmpeg and libxv and additional /bpp:32 /gdi:hw /rfx /gfx:avc444 /network:lan parameters to xfreerdp for an improved gfx performance.
  • added a workaround patch to fix regular disconnect issues with w2012r2 and w2016 terminal server connection using xfreerdp 2.2.0 (FreeRDP/FreeRDP#4717)
  • modified intel-nuc build template to use BR2_x86_corei7 for a cpu optimized build for an potentially increased performance.
  • bumped buildroot version to latest 2020.08.2
  • bumped linux kernel version to LTS 5.4.80
thinRoot - thinRoot 20200805

Published by jens-maus about 4 years ago

Changes:

  • integrated hardware support for the Intel NUC10 (Comet Lake) generation (NUC10i3BNK/BNH)
  • bumped linux-firmware package to latest 20200721 for an improved integrated hardware firmware version support
  • bumped buildroot version to latest 2020.05.1
  • bumped linux kernel version to LTS 5.4.56
thinRoot - thinRoot 20200716

Published by jens-maus over 4 years ago

Changes:

  • updated to latest qutselect 2.3 which comes with a keyboard selection bugfix.
  • bumped buildroot version to latest 2020.05
  • fixed xfreerdp startup to use keyboard ids rather than names to reduce conflicts when starting and removed obsolete -floatbar argument.
  • bumped integrated thinlinc client version to latest 4.12.0-6517
  • bumped linux kernel version to LTS 5.4.52
thinRoot - thinRoot 20200107

Published by jens-maus almost 5 years ago

  • updated ThinLinc client to latest 4.11.0-6323 version
  • updated used linux kernel version to latest 4.19.93 LTS
  • updated buildroot to latest 2019.11 version
thinRoot - thinRoot 20191119

Published by jens-maus almost 5 years ago

  • minor fix to the usbmount+ntfs issue so that NTFS usb thumb drives are properly unmounted again.
  • updated buildroot to latest 2019.08.2
  • bumped the latest kernel to 4.19.84
  • enabled "sync" option for mounting USB drives so that filesystem corruption should be less frequent.
  • fixed usbmount.conf to only specify uid/gid/umask for vfat/ntfs and not in general options or otherwise other filesystems won't mount correctly.
  • changed kernel config to enable wifi, bluetooth and also allow to use mmc/sd card interfaces of various NUC models.
  • modified usbmount.rules udev rule to allow to automount mmcblk devices also. Thus removed the sysfs-skip patch completly as it is not necessary.
  • adapted buildroot defconfig to include iwlwifi/bluetooth firmwares to get bluetooth/wifi in principle working. Also added bluetooth (bluez) tools for configuring bluetooth connectivity.
thinRoot - thinRoot 20191030

Published by jens-maus almost 5 years ago

  • implemented a ntfs-3g usbmount functionality that uses ntfs-3g instead of the kernels' own ntfs (limited) driver to mount NTFS thumb drives.
  • bumped the latest kernel to 4.19.81.
thinRoot - thinRoot 20191017

Published by jens-maus about 5 years ago

  • fixed an issue with USB thumb drives containing FAT filesystems with UTF-8 encodings were not respected. Now the utf8 vfat option is used to mount these drives with utf8 encoding enabled so that xfreerdp can forward these files correctly to Windows Terminalservers.
  • added ext2, ext3 and f2fs filesystem to be usable on external USB thumb drives. In addition, more usable codepages are added to the kernel now.
  • updated buildroot to latest 2019.08.1 stable version
  • updated linux kernel to latest 4.19.79 LTS
thinRoot - thinRoot 20190916

Published by jens-maus about 5 years ago

  • updated buildroot to latest 2019.08 stable version
  • updated linux kernel to latest 4.19.73 LTS
thinRoot - thinRoot 20190826

Published by jens-maus about 5 years ago

  • enhanced S42LoadNetFiles startup to grab own hostname from a thinroot.hosts file in case the dhcp server didn't reply with a useable hostname at all.
  • use clientid instead of duid to workaround broken DHCP servers not extracting the MAC address out of the duid (M$ suxxs).
  • added NET_DNS_XXXX env variable handling to LoadNetFiles so that we can override the DNS servers and search string accordingly.
  • added NTP_TIME_SERVER parsing and push to chrony.conf to allow to override the default, dhcp-provided NTP server selection.
  • updated ThinLinc client to latest 4.10.1-6197 version.
  • updated linux kernel to 4.19.68 LTS
Badges
Extracted from project README
Current Release Downloads Contributors Average time to resolve an issue Percentage of issues still open Commits since last release License Donate GitHub stars Donate