ThinLinX Support > ThinLinX Help Desk > Knowledgebase

Search help:

Can I upgrade TLXOS without using TMS or reinstalling from scratch?


Using TMS is the best and easiest way to perform TLXOS upgrades, and TMS is currently free, so there is no reason for you not to use it.

However, we have given some thought to providing an alternative strategies for upgrading TLXOS, just in case we decide to make TMS a separate paid product in the future.  There are a few ways that you can do this:

1) You can upgrade TLXOS by booting a USB installation image (or, up until RePC 4.8.0, an ISO (CD/DVD) installation image) that contains a later version of TLXOS than you currently have installed.  The installer will detect this, and provided that the device has a paid license that has not yet reached its Support Expiry date (note that this will always be true (until 2038, at least) for recent TLXOS releases, as we retired the Support Expiry concept starting from tms_client 8.2.0), will automatically upgrade installed copies of the /boot, /actualroot and /tfm filesystems, and then "sanitize" /config appropriately, thereby achieving the same result as a TMS-initiated upgrade.

This is a pretty useless strategy for the Raspberry Pi, because only the Pi 4 and later (includes Pi 400) can boot from USB storage while a bootable SD card is also installed, and then only if its EEPROM is programmed with an appropriate boot order.  Moreover, we don't normally release USB installers for TLXOS RPi, because Pi storage is implicitly removable, and it's far more convenient just to image the SD card (or USB drive) with a ready-to-boot O/S rather than boot an O/S installer from USB.

2) The second way to upgrade TLXOS is actually the same way, but booting from a different medium - the network - using our PXE boot provisioning feature.  This involves promoting an on-site TLXOS device to be a network boot server, and have it serve its own copies of /boot, /actualroot and /tfm via the ATA-over-Ethernet (AoE) protocol.  A TLXOS device that is booted from the network via PXE boot will then boot from the /tfm (Maintenance Mode) "disk".  Because the ThinLinX Firmware Managament (TFM, a.k.a. Maintenance Mode) code and the TLXOS installer are in fact exactly the same thing, this will then proceed to automatically upgrade TLXOS on the PXE-booted device (if eligible) just as if it had booted from a local USB flash drive, if the PXE server is running a later version of TLXOS than it is.

This isn't useful on the Raspberry Pi for the same reasons that booting from USB is not useful - once again requiring a Pi 4 or later that has had an appropriate EEPROM boot order modification.  Because there is no easy way (e.g. pressing the F12 key) to reprogram the Pi to do a one-time boot from a different device, this technique is really only useful for initially deploying TLXOS to blank SD cards, since you'd otherwise always want SD card boot to supercede network boot.  So it's useless for upgrades, and you'd be better off using Diskless Mode PXE boot (see below) instead.

For x86-based clients, however, you can achieve a rolling upgrade of TLXOS using a combination of the above two methods.  You upgrade one client at each site by booting the latest USB installer on it, then promote that client to be a Provision Mode PXE server, do a one-time PXE boot of each client at the site so that they upgrade themselves to the same version as the (now upgraded) PXE server, and then turn the PXE boot service off again once all local upgrades are complete.

3) You can minimize O/S upgrade problems by only having a single shared copy of the O/S per site, rather than each device having its own locally installed copy.  This is the alternative "Diskless Client" mode of our PXE boot feature.  It works much the same as Provisioning mode PXE boot, except that client devices boot the PXE server's /boot partition rather than the /tfm partition, and the PXE server will allocate some of its storage for small writable AoE disks for each client device to use as its own AUFS midlayer (/config filesystem) so that they can retain a small amount of persistent per-device data.  It looks just the same to the end user as booting TLXOS from local storage does, and has the additional benefit that upgrading the PXE server implicitly upgrades every other device at the site at the same time.  However, we haven't implemented diskless client upgrade very well yet, and at present this will destroy per-client data rather than selectively preserve it.  We hope to improve that in future.

4) TLXOS RPi has a fourth option for TLXOS "upgrade" - using NOOBS - but this is effectively the same as a reinstall, the only benefit being that it doesn't require physical removal of the SD card.  If you have remotely deployed Pis, this is a better option than using our SD card imager download (or Raspberry Pi Imager).

Related articles Can I install/upgrade/run TLXOS via PXE boot?
I can't boot the USB installer on my Intel NUC / Compute Stick!
Can I customize the installation image prior to install?
Network booting TLXOS RPi from an x86 server
Why do some of my devices show a Support Expiry date while others show "Never"?
Article details
Article ID: 68
Category: Frequently Asked Questions
Date added: 2021-03-19 05:02:22
Views: 24

« Go back