Wire up flashImage
This commit is contained in:
@@ -26,6 +26,8 @@ OPTIONS
|
||||
(For testing, enabled by default for --ssh-upgrade)
|
||||
--flash, -f DEVICE
|
||||
Example: /dev/sdX
|
||||
--reset
|
||||
CLeanup all source and output files
|
||||
--debug, -d
|
||||
--help, -h
|
||||
EOF
|
||||
@@ -38,7 +40,9 @@ input() {
|
||||
|
||||
debug "${FUNCNAME[0]}"
|
||||
|
||||
if _input=$(getopt -o +v:p:i:lb:f:dh -l release:,profile:,info:,list-profiles,builddir:,ssh-upgrade:,ssh-backup:,flash:,debug,help -- "$@"); then
|
||||
unset RESET
|
||||
|
||||
if _input=$(getopt -o +v:p:i:lb:f:dh -l release:,profile:,info:,list-profiles,builddir:,ssh-upgrade:,ssh-backup:,flash:,reset,debug,help -- "$@"); then
|
||||
eval set -- "$_input"
|
||||
while true; do
|
||||
case "$1" in
|
||||
@@ -64,7 +68,10 @@ input() {
|
||||
shift && SSH_BACKUP_PATH="$1"
|
||||
;;
|
||||
--flash|-f)
|
||||
shift && flash_dev="$1"
|
||||
shift && FLASH_DEV="$1"
|
||||
;;
|
||||
--reset)
|
||||
RESET=true
|
||||
;;
|
||||
--debug|-d)
|
||||
echo "Debugging on"
|
||||
@@ -91,10 +98,6 @@ profiles() {
|
||||
|
||||
debug "${FUNCNAME[0]}"
|
||||
|
||||
[[ -z $DEBUG ]] && DEBUG=false # Set to true to enable debugging by default
|
||||
[[ -z $BUILDDIR ]] && BUILDDIR="$PWD"
|
||||
[[ -z $FILESDIR ]] && FILESDIR="$BUILDDIR/files/"
|
||||
|
||||
# Additional packages to install for all profiles
|
||||
default_packages="\
|
||||
luci \
|
||||
@@ -360,14 +363,6 @@ getImageBuilder() {
|
||||
}
|
||||
|
||||
|
||||
# copyFiles() {
|
||||
# debug "${FUNCNAME[0]}"
|
||||
# declare -l _this_files_dir="$_files_dir/$PROFILE"
|
||||
# [[ ! -d "$_files_dir" ]] && return
|
||||
# $PROFILE == "r2s"
|
||||
# }
|
||||
|
||||
|
||||
makeImage() {
|
||||
|
||||
debug "${FUNCNAME[0]}"
|
||||
@@ -398,6 +393,9 @@ sshBackup() {
|
||||
debug "${FUNCNAME[0]}"
|
||||
|
||||
local _date _hostname _backup_fname
|
||||
|
||||
[[ -d "$FILESDIR" ]] || mkdir -p "$FILESDIR"
|
||||
|
||||
printf -v _date '%(%Y-%m-%d-%H-%M-%S)T'
|
||||
_hostname=$(ssh -qt "$SSH_BACKUP_PATH" echo -n \$HOSTNAME)
|
||||
_backup_fname="backup-$_hostname-$_date.tar.gz"
|
||||
@@ -435,7 +433,7 @@ flashImage() {
|
||||
|
||||
local _umount
|
||||
|
||||
if [[ ! -e "$flash_dev" ]]; then
|
||||
if [[ ! -e "$FLASH_DEV" ]]; then
|
||||
echo "The device specified by --flash could not be found"
|
||||
exit 1
|
||||
fi
|
||||
@@ -456,13 +454,13 @@ flashImage() {
|
||||
debug "gunzip -qfk $img_gz"
|
||||
gunzip -qfk "$img_gz"
|
||||
|
||||
echo "Unmounting target device $flash_dev partitions"
|
||||
_umount=( "$flash_dev"?* )
|
||||
echo "Unmounting target device $FLASH_DEV partitions"
|
||||
_umount=( "$FLASH_DEV"?* )
|
||||
debug "umount ${_umount[*]}"
|
||||
sudo umount "${_umount[@]}"
|
||||
|
||||
debug "sudo dd if=\"$img\" of=\"$flash_dev\" bs=2M conv=fsync"
|
||||
if sudo dd if="$img" of="$flash_dev" bs=2M conv=fsync; then
|
||||
debug "sudo dd if=\"$img\" of=\"$FLASH_DEV\" bs=2M conv=fsync"
|
||||
if sudo dd if="$img" of="$FLASH_DEV" bs=2M conv=fsync; then
|
||||
sync
|
||||
echo "Image flashed sucessfully!"
|
||||
else
|
||||
@@ -505,17 +503,31 @@ askOk() {
|
||||
}
|
||||
|
||||
|
||||
reset() {
|
||||
askOk "Remove $FILESDIR $BUILDDIR/sources $BUILDDIR/bin?" || exit $?
|
||||
debug "rm -rf $FILESDIR $BUILDDIR/sources $BUILDDIR/bin"
|
||||
rm -rf "$FILESDIR" "${BUILDDIR:?}/sources" "${BUILDDIR:?}/bin"
|
||||
}
|
||||
|
||||
|
||||
main() {
|
||||
|
||||
: "${DEBUG:=false}" # Set to true to enable debugging by default
|
||||
scriptdir=$(dirname "$0")
|
||||
# scriptdir="$PWD"
|
||||
: "${BUILDDIR:=$scriptdir}"
|
||||
: "${FILESDIR:=$BUILDDIR/files}"
|
||||
|
||||
input "$@"
|
||||
profiles
|
||||
[[ -v RESET ]] && reset
|
||||
prerequisites
|
||||
getImageBuilder
|
||||
#copyFiles
|
||||
[[ -v SSH_BACKUP_PATH ]] && sshBackup
|
||||
if makeImage; then
|
||||
[[ -v SSH_UPGRADE_PATH ]] && sshUpgrade
|
||||
[[ -v flash_dev ]] && flashImage
|
||||
[[ -v FLASH_DEV ]] && flashImage
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user