Skip to content

Using the hdupdate package

ThinStation - Русские военный корабль, пошел на хуй edited this page May 15, 2024 · 4 revisions

If you use GRUB to boot ThinStation it is possible to make thin clients automatically update themselves via network.

In order to do so you have to identify each release of boot files with a version number. If the number on the server is newer than on a client, it will upgrade itself on bootup.

Prerequesites

You need a HTTP (or TFTP or SCP) server for serving the kernel vmlinuz and the initial ramdisk file initrd.

Naturally one initial version of ThinStation including hdupdate needs to be installed on the thin client before automatic updates (carried out by hdupdate) can take place.

How to

  1. Uncomment package hdupdate in buid.conf. Set the familiy of HDUPDATE variables in thinstation.conf.buildtime according to your configuration. For example:

     HDUPDATE_ENABLED=Y
     HDUPDATE_SERVER=172.16.0.98
     HDUPDATE_SERVER_TYPE=wget
     HDUPDATE_PATH=/update
     HDUPDATE_WS_VERSION=1
     HDUPDATE_TEMP=RAM
     HDUPDATE_FORCE=N
    
  2. Build ThinStation and install this version on each client that should be updated through hdupdate.

  3. Add at least the following variables to a network configuration file read by all clients in question:

     HDUPDATE_SERVER_VERSION=1
     HDUPDATE_FILES="initrd"
    
  4. If a new release of your ThinStation boot files (initrd or even the kernel vmlinuz) is due to be rolled out, you have to:

  5. Change HDUPDATE_WS_VERSION to a higher number and build ThinStation.

  6. Copy all necessary files (usually only initrd; vmlinuz only if you switched to a newer ThinStation release/branch) to the HTTP/TFTP/SCP (depending on HDUPDATE_SERVER_TYPE) servers directory. Put the files in the subdirectory HDUPDATE_PATH.

  7. Increase HDUPDATE_SERVER_VERSION to the same value as the latest HDUPDATE_WS_VERSION. If a new kernel is to be delivered, change HDUPDATE_FILES to "initrd vmlinuz".

  8. Boot up all affected thin clients and check the update process. Note: The client will not reboot after a sucessful update but start up the previous version for the last time.