WIP continue
This commit is contained in:
@@ -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=
|
||||||
@@ -229,15 +252,19 @@ read_sd_dev() {
|
|||||||
SDDEV=
|
SDDEV=
|
||||||
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
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user