Browse Source

MEN-4097: Install Mender Shell addon

Changelog: Support installing mender-shell addon. Not installed by
default, it can be configured using MENDER_ADDON_SHELL_INSTALL and
MENDER_ADDON_SHELL_VERSION variables.

Changelog: Set mender-shell version to master

Changelog: Create demo configuration for Mender Shell addon in
bootstrap-rootfs-overlay-demo-server.sh script

Signed-off-by: Lluis Campos <lluis.campos@northern.tech>
2.3.x
Lluis Campos 4 years ago
parent
commit
9e96418719
  1. 10
      configs/mender_convert_config
  2. 25
      mender-convert-modify
  3. 14
      scripts/bootstrap-rootfs-overlay-demo-server.sh

10
configs/mender_convert_config

@ -115,6 +115,16 @@ MENDER_PARTITION_ALIGNMENT="8388608"
# Valid values are "latest" (default), "master" or a specific version
MENDER_CLIENT_VERSION="latest"
# Install Mender Shell addon
#
MENDER_ADDON_SHELL_INSTALL="n"
# Mender Shell addon version
#
# Valid values are "latest" (default), "master" or a specific version
# MENDER_ADDON_SHELL_VERSION="latest"
MENDER_ADDON_SHELL_VERSION="master"
# File storage, containing binary files, do not modify this unless you know
# what you are doing.
MENDER_STORAGE_URL="https://downloads.mender.io"

25
mender-convert-modify

@ -123,6 +123,31 @@ if [ "${MENDER_ENABLE_SYSTEMD}" == "y" ]; then
work/rootfs/etc/systemd/system/multi-user.target.wants/mender-client.service"
fi
if [ "${MENDER_ADDON_SHELL_INSTALL}" = "y" ]; then
mkdir -p work/mender-shell-deb/files
log_info "Installing Mender Shell addon"
if [ "${MENDER_ADDON_SHELL_VERSION}" = "latest" ]; then
deb_name=$(deb_from_repo_get "work/mender-shell-deb" ${MENDER_APT_REPO_URL} ${deb_arch} "stable" "mender-shell" "latest")
elif [ "${MENDER_ADDON_SHELL_VERSION}" = "master" ]; then
deb_name=$(deb_from_repo_get "work/mender-shell-deb" ${MENDER_APT_REPO_URL} ${deb_arch} "experimental" "mender-shell" "latest")
else
DEBIAN_REVISION="-1"
deb_name=$(deb_from_repo_get "work/mender-shell-deb" ${MENDER_APT_REPO_URL} ${deb_arch} "experimental" "mender-shell" "${MENDER_ADDON_SHELL_VERSION}${DEBIAN_REVISION}")
fi
cd work/mender-shell-deb
run_and_log_cmd "ar -xv ${deb_name}"
run_and_log_cmd "sudo tar xJf data.tar.xz -C files"
cd - > /dev/null 2>&1
run_and_log_cmd "sudo rsync --archive --keep-dirlinks --verbose work/mender-shell-deb/files/ work/rootfs/"
run_and_log_cmd "sudo ln -sf /lib/systemd/system/mender-shell.service \
work/rootfs/etc/systemd/system/multi-user.target.wants/mender-shell.service"
fi
if [ "${MENDER_GRUB_EFI_INTEGRATION}" == "y" ]; then
# Check for known U-Boot problems in all files on the boot partition.
check_for_broken_uboot_uefi_support work/boot

14
scripts/bootstrap-rootfs-overlay-demo-server.sh

@ -1,6 +1,6 @@
#!/bin/bash
#
# Copyright 2019 Northern.tech AS
# Copyright 2020 Northern.tech AS
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@ -37,7 +37,7 @@ while (( "$#" )); do
;;
*)
echo "Sorry but the provided option is not supported: $1"
echo "Usage: $(basename $0) --output-dir ./rootfs_overlay_demo --server-ip <your server IP address>"
echo "Usage: $(basename $0) --output-dir <rootfs overlay dir> --server-ip <your server IP address>"
exit 1
;;
esac
@ -66,6 +66,16 @@ EOF
chmod 600 ${output_dir}/etc/mender/mender.conf
cat <<- EOF > ${output_dir}/etc/mender/mender-shell.conf
{
"ServerURL": "https://docker.mender.io",
"ShellCommand": "/bin/sh",
"User": "root"
}
EOF
chmod 600 ${output_dir}/etc/mender/mender-shell.conf
cat <<- EOF > ${output_dir}/etc/hosts
127.0.0.1 localhost

Loading…
Cancel
Save