diff --git a/packages/static/kairos-overlay-files/collection.yaml b/packages/static/kairos-overlay-files/collection.yaml index 734cb01..7d98b8d 100644 --- a/packages/static/kairos-overlay-files/collection.yaml +++ b/packages/static/kairos-overlay-files/collection.yaml @@ -1,4 +1,4 @@ packages: - name: "kairos-overlay-files" category: "static" - version: "1.1.58" + version: "1.2.0" diff --git a/packages/static/kairos-overlay-files/files/etc/cos/bootargs.cfg b/packages/static/kairos-overlay-files/files/etc/cos/bootargs.cfg index f0a3e43..f08d0f5 100644 --- a/packages/static/kairos-overlay-files/files/etc/cos/bootargs.cfg +++ b/packages/static/kairos-overlay-files/files/etc/cos/bootargs.cfg @@ -1,5 +1,8 @@ function setSelinux { source (loop0)/etc/os-release + if [ -f (loop0)/etc/kairos-release ]; then + source (loop0)/etc/kairos-release + fi # Disable selinux for all distros. Supporting selinux requires more than # just enabling it like this. @@ -16,7 +19,10 @@ function setSelinux { } function setExtraConsole { - source (loop0)/etc/os-release + source (loop0)/etc/kairos-release + if [ -f (loop0)/etc/kairos-release ]; then + source (loop0)/etc/kairos-release + fi set baseExtraConsole="console=ttyS0" # rpi if test $KAIROS_MODEL == "rpi3" -o test $KAIROS_MODEL == "rpi4"; then @@ -29,7 +35,10 @@ function setExtraConsole { } function setExtraArgs { - source (loop0)/etc/os-release + source (loop0)/etc/kairos-release + if [ -f (loop0)/etc/kairos-release ]; then + source (loop0)/etc/kairos-release + fi set baseExtraArgs="" # rpi if test $KAIROS_MODEL == "rpi3" -o test $KAIROS_MODEL == "rpi4"; then diff --git a/packages/static/kairos-overlay-files/files/system/oem/50_recovery.yaml b/packages/static/kairos-overlay-files/files/system/oem/50_recovery.yaml index f1884a2..82c4697 100644 --- a/packages/static/kairos-overlay-files/files/system/oem/50_recovery.yaml +++ b/packages/static/kairos-overlay-files/files/system/oem/50_recovery.yaml @@ -22,6 +22,7 @@ stages: commands: - | . /etc/os-release + [ -f "/etc/kairos-release" ] && . /etc/kairos-release echo >> /etc/issue echo "You are booting from recovery mode. Run 'kairos-agent reset' to reset the system to $VERSION" >> /etc/issue echo " or 'kairos-agent upgrade' to upgrade the active partition" >> /etc/issue diff --git a/packages/system/suc-upgrade/definition.yaml b/packages/system/suc-upgrade/definition.yaml index ce2f3e9..12a5c81 100644 --- a/packages/system/suc-upgrade/definition.yaml +++ b/packages/system/suc-upgrade/definition.yaml @@ -1,3 +1,3 @@ name: "suc-upgrade" category: "system" -version: "0.2.3" +version: "0.3.0" diff --git a/packages/system/suc-upgrade/suc-upgrade.sh b/packages/system/suc-upgrade/suc-upgrade.sh index f89ea64..c536ba7 100644 --- a/packages/system/suc-upgrade/suc-upgrade.sh +++ b/packages/system/suc-upgrade/suc-upgrade.sh @@ -3,10 +3,23 @@ set -x -e HOST_DIR="${HOST_DIR:-/host}" if [ "$FORCE" != "true" ]; then - if diff /etc/os-release $HOST_DIR/etc/os-release >/dev/null; then - echo Update to date with - cat /etc/os-release - exit 0 + if [ -f "/etc/kairos-release" ]; then + UPDATE_VERSION=$(source /etc/kairos-release && echo "${KAIROS_VERSION}") + else + UPDATE_VERSION=$(source /etc/os-release && echo "${KAIROS_VERSION}") + fi + + if [ -f "/etc/kairos-release" ]; then + CURRENT_VERSION=$(source "${HOST_DIR}"/etc/kairos-release && echo "${KAIROS_VERSION}") + else + CURRENT_VERSION=$(source "${HOST_DIR}"/etc/os-release && echo "${KAIROS_VERSION}") + fi + + if [ "$CURRENT_VERSION" == "$UPDATE_VERSION" ]; then + echo Up to date + echo "Current version: ${CURRENT_VERSION}" + echo "Update version: ${UPDATE_VERSION}" + exit 0 fi fi