Knowledgebase
ThinLinX Support > ThinLinX Help Desk > Knowledgebase

Search help:


Can TLXOS be used in a server role?

Solution

Yes, it can.  Although TLXOS is designed primarily with a graphical role in mind, it's still useful more generally as a small-footprint remotely-managed Linux O/S.

I am using TLXOS in the following server roles:

  • File server

The most important 24x7 server for my ThinLinX development work, which I use on a daily basis, is a fanless Clientron C800 thin client (dual core Celeron 1.58 GHz CPU, 8 GB RAM, 16 GB eMMC) which has been fitted with a 1 TB mSATA SSD.  It runs TLXOS SFF (currently 5.0.0 LTS), on which I have installed quite a lot of extra software, but it's main use is as an NFS server (using Debian's nfs-kernel-server package), containing all of the master filesystem images for current and pre-release versions of TLXOS.  It has been in continuous use for many years, and its physical portability is very useful to me (I take it with me whenever I travel interstate or overseas).

  • Network-Attached Storage (NAS) appliance

I have a multi-terabyte DIY NAS based on a mini-ITX mainboard in a shuttle PC case (roughly the size of a large toaster) with four 3.5" SATA hard disks in a software RAID 5 layout.  It runs TLXOS SFF (currently 5.0.0 LTS), with nfs-kernel-server and samba packages (and their dependencies) added, and very little else.  I use a hook built into the storage_detect script to automatically share all detected non-TLXOS filesystems via CIFS.  I have made a copy of this script available here.  TLXOS boots from a 32 GB compact flash card in a CF-to-SATA adapter, rather than the magnetic hard disks that make up the RAID (which TLXOS automatically assembles without the need for any additional software).

  • Web server

http://archive.thinlinx.com (a.k.a. http://tlxcbr.dyndns.org:2491/) is a Raspberry Pi 4 in an Argon One M.2 case that boots from an M.2 SSD (via USB 3), on which I run TLXOS RPi (currently 5.0.0 LTS) 24x7.  I have installed the Nginx web server on it, and am using it to serve archived ThinLinX content using my home broadband.

  • iSCSI server

I'm using a DE3185TYKHE NUC, which otherwise isn't useful for very much (the single core Atom CPU is underpowered even for a thin client!) as a fully-solid-state iSCSI server.  The DE3185TYKHEis unusual for an Intel NUC in that it is fanless, while also having space for a high-capacity 2.5" SATA SSD.  It runs TLXOS SFF (currently 5.0.0 LTS).  I have trivially modified its initramfs with an /etc/lvm/lvm.conf tweak that makes LVM ignore /dev/sda, and installed Debian's targetcli-fb package on it, in order to serve the entirety of its 500 GB SATA SSD via kernel-accelerated LIO iSCSI.  The iSCSI volume contains shared storage for a two-node oVirt cluster (its performance over gigabit Ethernet and WiFi (multipathed) is pretty poor, but then iSCSI always is on anything less than 10 Gbit/s Ethernet, and it's a lot cheaper than a fibrechannel fabric!

  • The Things Network (TTN) LORAWAN gateway

I am hosting TTN public gateway that Internet of Things (IoT) LORAWAN sensor devices that are within range (< 5 km or so) can use to report data to the open source TTN network.  This is based on a Raspberry Pi 3A with a RAKWireless RAK2245 LORAWAN HAT that runs TLXOS RPi (currently 5.0.0 LTS) using the ARMv7 deb that I prepared (available here), in a home-made case made from a plastic DVD spindle, with a .  I also have a RAKWireless RAK7246, which is just a Raspberry Pi Zero with a RAK2246 HAT (which you can't buy separately) in a compact translucent plastic case, and I have installed TLXOS RPi IoT and the ARMv6 version of my RAK2245[/6] deb on that.  I don't really have a use for it yet.

  •  ARM hypervisor

One of my most useful development tools is a Raspberry Pi 4 with 8 GiB RAM in another Argon One M.2 case, booting as-yet-unreleased TLXOS RPi 5.1.0 64-bit (I haven't upgraded it to 5.2.0 because we will probably eventually adopt TLXOS 5.1.x, which is based on Bullseye, as a successor for 5.0.x LTS) from a 1 TB M.2 SSD.  This is used as a KVM hypervisor, hosting my fleet of ARM development VMs, which - courtesy of KVM - run at near-native speed.  I have installed the Debian qemu-system-arm package and its dependencies, but little else.  The VMs themselves are actual Debian rather than TLXOS, and I use them to compile TLXOS software on (where necessary - we use Debian's own binaries wherever possible, but it is frequently necessary to compile debs and unpackaged ourselves, including ThinLinX's own software (TMS/tms_client/Tlxconfig) of course). 

  • Emulated ARM hypervisor

As a backup for the abovementioned Raspberry Pi hypervisor, I also have a copy of TLXOS RePC (currently 5.0.0 LTS) that is itself a virtual machine running under VMware ESXi, and uses Debian's qemu-system-arm package to run the Debian VMs under ARM emulation on an x86 CPU.  They run much slower than on my Pi hypervisor, of course, but since I have to take my ESXi hypervisor (it's a NUC8i3BEK with 32 GiB of RAM and a 1 TB NVMe SSD) with me when I travel anyway, it means that I have the option of leaving the Pi hypervisor at home to save space and weight.  I have created an rsync script to synchronize the content of the VMs with their equivalents on the Pi hypervisor.

A common requirement for all of the above is the ability to run "headless", i.e. with no monitor attached.  There is no need to do anything special for this on x86 platforms (unless the very low default resolution you're likely to get is a problem, e.g. for VNC access), but the Raspberry Pi does not like this, and needs to be forced to use a specific resolution by setting hdmi_force_hotplug=1 in config.txt and selecting a fixed mode set and resolution for Output 1 using TMS or Tlxconfig.  If you don't do this, then Xorg and everything dependent on it will not start, which will make remote console access using VNC impossible.

For headless Raspberry Pi servers, I also like to turn audio off (set audio=off in the dtparam line) and disable Bluetooth (add dtoverlay=disable-bt) and wireless (add dtoverlay=disable-wifi) in config.txt in order to reduce  power consumption.

 

Related articles TLXOS 5.2.0
What hardware does TLXOS support? What is each TLXOS edition for?
Is TLXOS 32-bit or 64-bit?
What hardware do you recommend?
What is the difference between TLXOS 4.8.x/5.0.x LTS and later versions (e.g. 4.11.x/5.2.x)? Which do I need?
Article details
Article ID: 105
Category: Frequently Asked Questions
Date added: 2024-02-29 05:57:46
Views: 26

 
« Go back