====== System upgrade ======
This page explains system upgrades on KerOS >= v.4 and also:
* Configuration management (sysupgrade).
* Hotfix packages management during upgrades.
===== Introduction =====
==== Software upgrade files ====
The firmware is released in two formats: __KerOS__ and __Liveburner__.
These have very different behavior, so please use the appropriate file before updating, see the difference in [[wiki:keros_custo:upgrade#upgrade_process| upgrade process]] section.
==== Major firmware upgrades ====
=== From KerOS version 4.3.3 to KerOS version 5.X ===
To upgrade the system from KerOS version 4.3.3 to KerOS version 5.X the use of a liveburner is mandatory.
Two possibilities are available:
* Upgrade with a custom liveburner. It allows to keep some elements like gateway configuration. To use a custom liveburner, please refer to the dedicated page: [[..:keros_custo:upgrade_major_version|Major version upgrade with a custom liveburner]]
* Upgrade with a regular liveburner (erasing the whole partition to reinstall the firmware). Use the liveburner provided in the [[..:resources:resources#keros_firmware_and_toolchain|Wirnet gateways resources page]] and the upgrade process below.
=== From KerOS version 3.x to KerOS version 4.1 ===
The upgrade from KerOS version 3.x to KerOS version 4.1 directly is not recommended by Kerlink. To do so, it must be done in 2 steps:
- Upgrade to KerOS version 4.0 using a liveburner
- Upgrade from KerOS version 4.0 to KerOS version 4.1 using a KerOS package
=== From KerOS version 3.x to KerOS version 4.0 ===
To upgrade the system from KerOS version 3.x to KerOS version 4.0 the use of a liveburner is mandatory.
Two possibilities are available:
* Upgrade with a custom liveburner. It allows to keep some elements like gateway configuration. To build a custom liveburner, please refer to the dedicated page: [[wiki:keros_custo:upgrade_keros3_to_4|Upgrade from KerOS version 3.x to 4.0]]
* Upgrade with a regular liveburner (erasing the whole partition to reinstall the firmware). Use the liveburner provided in the [[wiki:keros_custo:upgrade_keros3_to_4|Upgrade from KerOS version 3.x to 4.0]] page and the upgrade process below.
===== Upgrade process =====
==== Upgrade using a KerOS package ====
Upgrade using a KerOS package (i.e. ''keros_4.X.Y_klk-lpbs-signed.ipk'' file) could be done only with the same major version. \\
Example: \\
* Upgrade from Keros 4.X.X to KerOS 4.Y.Y is possible with a KerOS package (same major version)
* Upgrade from Keros 4.X.X to KerOS 5.X.X is not possible with a KerOS package (major version is different)
The upgrade will install the new KerOS firmware with some consequences on the data:
* User partition files will be preserved.
* Passwords will be preserved.
* The stock restore version will not be updated.
* RootFS modifications will NOT be kept except files indicated in [[#configuration_management_sysupgrade|sysupgrade]] configuration files
The upgrade process itself is the following sequence:
- Backup files indicated in configuration (system files and software/customer defined files).
- Remove hotfix packages.
- Upgrade the system itself.
- Restore sysupgrade files => will override new firmware files!!
To upgrade your system, follow the software update process. Information [[wiki:keros_custo:sw_updates|here]].
==== Upgrade using a liveburner package ====
The upgrade will install the new KerOS firmware with some consequences on the data:
* Updates stock restore version with liveburner package version.
* Resets the default password on your gateway.
* Erases the whole partition to reinstall the firmware.
To upgrade your system, follow the software update process. Information [[wiki:keros_custo:sw_updates|here]].
===== Configuration management (sysupgrade) =====
Sysupgrade process is available in case of an upgrade using a ''kerOS'' package or using a ''liveburner'' package.\\
During an upgrade, the only way to keep system files (network configuration, password...) is to make a backup during the upgrade. This is done by the **sysupgrade** mechanism.
This mecanism is divided in 2 elements:
* **''/etc/sysupgrade.conf''**: Contains the system (KerOS) elements to backup/restore in case of upgrade.
* **''/etc/sysupgrade.d/''**: a directory with ''.conf'' files where additional elements to backup/restore can be added (i.e. by additional packages).
By default, the system has a predefined list of configuration files to preserve:
++++
File to download - /etc/sysupgrade.conf |
## This file contains files and directories that should
## be preserved during an upgrade.
# /etc/example.conf
# System Configuration files
#############
/etc/profile
/etc/strongswan.conf
/etc/timestamp
/etc/network/
/etc/bnm/bnm.conf
/etc/hosts
/etc/kgpsd.conf
/etc/default/
/etc/firewall.d/
/etc/ssh/
/etc/ipsec.secrets
/etc/ipsec.conf
/etc/monit.d/
/etc/strongswan.d/
/etc/cron/
/etc/shadow
/etc/udhcpc.d/50default
/etc/ntp.conf
# System persistent data
############
/var/log/
++++
If a specific software also needs to keep configurations between upgrades, it is possible to add a ''.conf'' file in the ''/etc/sysupgrade.d'' directory:
++++
File to download - /etc/sysupgrade.d/myapp.conf |
## This file contains files and directories that should
## be preserved during an upgrade.
/etc/myapp.conf
++++
A specific reporting file is generated when an upgrade is done: **''/user/.sysupgrade.log''**.
===== Hotfix packages management =====
Hotfix packages are only available for a specific version of the firmware. So in case of upgrade, they will be automatically removed.
More information on hotfix package [[wiki:keros_custo:package_management#hotfix_packages|here]].