Knowledgebase
ThinLinX Support > ThinLinX Help Desk > Knowledgebase

Search help:


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

Solution

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, except that the images for the new O/S are provided via 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.  You then boot a TLXOS device at the same site into Maintenance Mode by any means available (if it already has TLXOS on it, you can just switch it to Maintenance Mode; if not, you can PXE boot it or boot a USB or ISO installer).  Because the ThinLinX Firmware Managament (TFM, a.k.a. Maintenance Mode) code and the TLXOS installer run the exact same code, 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 technique allows you to perform a rolling upgrade of TLXOS.  You upgrade one client at each site by booting the latest USB installer on it (or reimaging its SD card), then promote that client to be a Provision Mode PXE server, switch each of the remaining clients at the site into Maintenance Mode 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.

It is not necessary to actually PXE boot a client unless it does not have TLXOS already installed.  You are only making use of a "side effect" of the provisioning mode PXE boot server feature, namely the read-only AoE filesystem shares.

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?
Can TMS be used to manage remote devices connecting via the Internet?
Upgrading from TLXOS 4.x to 5.x fails - what's wrong?
Why won't my Pi boot from certain brands of SD card?
Why doesn't the installer install anything? It just says "ready for firmware upgrade"!
Article details
Article ID: 68
Category: Frequently Asked Questions
Date added: 2021-03-19 05:02:22
Views: 232

 
« Go back