From fe7ab50ab181cd83f8b18c514648c1287ee91591 Mon Sep 17 00:00:00 2001 From: cimryan Date: Fri, 2 Nov 2018 22:44:28 -0700 Subject: [PATCH] Extract verify-configuration.sh from setup-teslausb --- setup/pi/setup-teslausb | 10 +++++++--- setup/pi/verify-configuration.sh | 28 ++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+), 3 deletions(-) create mode 100644 setup/pi/verify-configuration.sh diff --git a/setup/pi/setup-teslausb b/setup/pi/setup-teslausb index 1318e42..85aa667 100644 --- a/setup/pi/setup-teslausb +++ b/setup/pi/setup-teslausb @@ -102,6 +102,12 @@ function check_available_space () { setup_progress "There is sufficient space available." } +function verify_configuration () { + get_script /tmp verify-configuration.sh setup/pi + + /tmp/verify-configuration.sh +} + function get_script () { local local_path="$1" local name="$2" @@ -195,9 +201,7 @@ headless_setup_progress_flash 1 setup_progress "Verifying that the requested configuration is valid..." -check_variable "campercent" - -check_available_space +verify_configuration # Flash for Stage 3 headless (grab scripts) headless_setup_progress_flash 2 diff --git a/setup/pi/verify-configuration.sh b/setup/pi/verify-configuration.sh new file mode 100644 index 0000000..6ee926c --- /dev/null +++ b/setup/pi/verify-configuration.sh @@ -0,0 +1,28 @@ +#!/bin/bash -eu + +function check_variable () { + local var_name="$1" + if [ -z "${!var_name+x}" ] + then + setup_progress "STOP: Define the variable $var_name like this: export $var_name=value" + exit 1 + fi +} + +function check_available_space () { + setup_progress "Verifying that there is sufficient space available on the MicroSD card..." + + local available_space="$( parted -m /dev/mmcblk0 u b print free | tail -1 | cut -d ":" -f 4 | sed 's/B//g' )" + + if [ "$available_space" -lt 4294967296 ] + then + setup_progress "STOP: The MicroSD card is too small." + exit 1 + fi + + setup_progress "There is sufficient space available." +} + +check_variable "campercent" + +check_available_space