WIP continue

This commit is contained in:
Martin Winkler
2020-02-10 23:03:25 +01:00
parent e65b619ca7
commit f83383cd51

View File

@@ -9,11 +9,25 @@ WDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >>/dev/null 2>&1 && pwd )"
#CONFIG_FILE="$WDIR/${toolName}.cfg" #CONFIG_FILE="$WDIR/${toolName}.cfg"
#CONFIG_FILE_DEFAULT="${CONFIG_FILE}.example" #CONFIG_FILE_DEFAULT="${CONFIG_FILE}.example"
#step_config() { osName=
# echo "Called once before executing steps." distName=
# echo "e.g. to source a config file:"
# #. "$CONFIG_FILE" step_config() {
#} if [ "$(which lsb_release)" == "" ] ; then
echoerr " [W] Cannot detect OS. Assuming Ubuntu"
osName="Ubuntu"
else
osName=$(lsb_release -is)
distName=$(lsb_release -cs)
fi
if [ "$osName" == "" ] ; then
echoerr " [W] Error dedecting OS. Assuming Ubuntu"
osName="Ubuntu"
fi
echo " [I] Detected OS: $osName $distName"
}
SDDEV= SDDEV=
SDBOOT= SDBOOT=
@@ -81,15 +95,14 @@ step_2() {
exe read -p " Press enter to contiue." exe read -p " Press enter to contiue."
} }
step_3_info() { echo "TODO Prepare SD for first run [SD CARD DEVICE]"; } step_3_info() { echo "Prepare SD for first run [SD CARD DEVICE]"; }
step_3() { step_3() {
echoerr " [E] Not ready yet...TODO"
#return 1
if [ -z $2 ] && [ ! -z $SDDEV ] ; then if [ -z $2 ] && [ ! -z $SDDEV ] ; then
if [ $QUIET -ne 0 ] ; then if [ $QUIET -ne 0 ] ; then
answer="n" answer="n"
else else
exe lsblk -p "$SDDEV"
echo
exe read -p "Is $SDDEV still the SD card (y/[n])? " answer exe read -p "Is $SDDEV still the SD card (y/[n])? " answer
fi fi
@@ -101,35 +114,44 @@ step_3() {
SDDEV="" SDDEV=""
;; ;;
esac esac
fi fi
read_sd_dev "$2" read_sd_dev "$2"
if [ $? -ne 0 ] ; then endReturn -o $? "SD card device not found"
echoerr " [E] SD card device not found"
return 1
fi
if [ ! -w "$SDBOOT" ] ; then if [ ! -w "$SDBOOT" ] ; then
echoerr " [E] SD card boot partion not writeable" echoerr " [E] SD card boot partion not writeable"
return 1 return 1
fi fi
# enable systemd ssh service # enable systemd ssh service
echo " [I] Enable SSH access"
exe touch "$SDBOOT"/ssh exe touch "$SDBOOT"/ssh
# save SD boot settings for easy emergency start from SD # save SD boot settings for easy emergency start from SD
echo " [I] Save SD card boot information for later use"
exe cp -ar "$SDBOOT"/cmdline.txt "$SDBOOT"/cmdline.txt.sd exe cp -ar "$SDBOOT"/cmdline.txt "$SDBOOT"/cmdline.txt.sd
exe cp -ar "$SDROOT"/etc/fstab "$SDROOT"/etc/fstab.sd exe cp -ar "$SDROOT"/etc/fstab "$SDROOT"/etc/fstab.sd
} }
step_4_info() { echo "TODO Prepare SD for HD boot [SD CARD DEVICE] [HD DEVICE]"; } step_4_info() {
local sd="[SD CARD DEVICE]"
local hd="[HD DEVICE]"
if [ ! -z $2 ] ; then
sd="SD: \"$2\""
fi
if [ ! -z $3 ] ; then
hd="HD: \"$3\""
fi
echo "TODO Prepare $sd to boot from $hd"
}
step_4_alias() { ALIAS="hdboot"; } step_4_alias() { ALIAS="hdboot"; }
step_4() { step_4() {
#TODO #TODO
echoerr " [E] Not ready yet...TODO" echoerr " [E] Not ready yet...TODO"
#return 1 #return 1
read_sd_dev "$2" read_sd_dev "$2"
endReturn -o $? "SD detection error" endReturn -o $? "SD detection error $?"
echo " [I] SD: $SDDEV" echo " [I] SD: $SDDEV"
echo " $SDBOOT" echo " $SDBOOT"
echo " $SDROOT" echo " $SDROOT"
@@ -208,6 +230,7 @@ ledOffCmd="sudo sh -c 'echo 0 > ${ledPowerBright}'"
read_sd_dev() { read_sd_dev() {
local partExt=""
if [ ! -z "$1" ] ; then if [ ! -z "$1" ] ; then
SDBOOT= SDBOOT=
SDROOT= SDROOT=
@@ -230,14 +253,18 @@ read_sd_dev() {
return 1 return 1
fi fi
if [ "$osName" == "Raspbian" ] ; then
partExt="p"
fi
if [ -z $SDBOOT ] ; then if [ -z $SDBOOT ] ; then
SDBOOT=$(findmnt -no TARGET "${SDDEV}p1") SDBOOT=$(findmnt -no TARGET "${SDDEV}${partExt}1")
fi fi
if [ -z $SDROOT ] ; then if [ -z $SDROOT ] ; then
SDROOT=$(findmnt -no TARGET "${SDDEV}p2") SDROOT=$(findmnt -no TARGET "${SDDEV}${partExt}2")
fi fi
if [ -z $SDROOTPUUID ] ; then if [ -z $SDROOTPUUID ] ; then
SDROOTPUUID=$(findmnt -no PARTUUID "${SDDEV}p2") SDROOTPUUID=$(findmnt -no PARTUUID "${SDDEV}${partExt}2")
fi fi
} }