diff --git a/configs/mender_convert_config b/configs/mender_convert_config index 2d52138..620098e 100644 --- a/configs/mender_convert_config +++ b/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" diff --git a/mender-convert-modify b/mender-convert-modify index 72875a0..6cdbe03 100755 --- a/mender-convert-modify +++ b/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 diff --git a/scripts/bootstrap-rootfs-overlay-demo-server.sh b/scripts/bootstrap-rootfs-overlay-demo-server.sh index 59e1967..80124fd 100755 --- a/scripts/bootstrap-rootfs-overlay-demo-server.sh +++ b/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 " + echo "Usage: $(basename $0) --output-dir --server-ip " 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