From 69d62a6929b9d69c2a4b16f0fa97c7c3b748f0a2 Mon Sep 17 00:00:00 2001 From: rootzoll Date: Tue, 5 Oct 2021 12:27:52 +0200 Subject: [PATCH] #2600 move final rebot into controller --- home.admin/00raspiblitz.sh | 8 +-- home.admin/_bootstrap.sh | 64 ++---------------- .../setup.scripts/controlFinalDialog.sh | 56 ++++++++++++--- pictures/ssh4-done.png | Bin 19566 -> 20244 bytes 4 files changed, 56 insertions(+), 72 deletions(-) diff --git a/home.admin/00raspiblitz.sh b/home.admin/00raspiblitz.sh index 52a0d170..3add5d80 100755 --- a/home.admin/00raspiblitz.sh +++ b/home.admin/00raspiblitz.sh @@ -173,8 +173,8 @@ do # push to final setup gui dialogs #echo "# controlFinalDialog.sh" /home/admin/setup.scripts/controlFinalDialog.sh - # exit for final setup reboot - state="reboot" + # exit because controller will reboot at the end + exit 0 fi # exit loop/script in case if system shutting down @@ -185,14 +185,12 @@ do echo "RaspiBlitz going to ${state}" echo "***********************************************************" if [ "${state}" == "reboot" ]; then - if [ "${message}" == "finalsetup" ]; then - echo "This is the final setup reboot - you will get disconnected." - fi echo "SSH again into system with:" echo "ssh admin@${localip}" echo "Use your password A" echo "***********************************************************" fi + sleep 10 exit 0 fi diff --git a/home.admin/_bootstrap.sh b/home.admin/_bootstrap.sh index 65b9b83b..4b24a9a3 100755 --- a/home.admin/_bootstrap.sh +++ b/home.admin/_bootstrap.sh @@ -706,66 +706,16 @@ if [ ${isMounted} -eq 0 ]; then done ################################################### - # WAIT LOOP: AFTER FRESH SETUP, MIGRATION - # successfull update & recover can skip this + # HANDOVER TO FINAL SETUP CONTROLLER ################################################### - if [ "${setupPhase}" == "setup" ] || [ "${setupPhase}" == "migration" ]; then - echo "# Go into WAIT LOOP for final setup dialog ..." >> $logFile - sed -i "s/^state=.*/state=waitfinal/g" ${infoFile} - sed -i "s/^message=.*/message='Setup Done'/g" ${infoFile} - else - echo "# Skip WAIT LOOP boot directly into main menu ..." >> $logFile - sed -i "s/^state=.*/state=ready/g" ${infoFile} - sed -i "s/^message=.*/message='Setup Done'/g" ${infoFile} - fi + echo "# HANDOVER TO FINAL SETUP CONTROLLER ..." >> $logFile + sed -i "s/^state=.*/state=waitfinal/g" ${infoFile} + sed -i "s/^message=.*/message='Setup Done'/g" ${infoFile} - source ${infoFile} - echo "WAIT LOOP: FINAL SETUP .. see controlFinalDialog.sh network(${network})" >> $logFile - until [ "${state}" == "ready" ] - do - - # get latest network info & update raspiblitz.info (in case network changes) - source <(/home/admin/config.scripts/internet.sh status) - sed -i "s/^localip=.*/localip='${localip}'/g" ${infoFile} - - # give the loop a little bed time - sleep 4 - - # check info file for updated values - # especially the state for checking loop - source ${infoFile} - - done - echo "WAIT LOOP: DONE" >> $logFile - - ######################################## - # AFTER FINAL SETUP TASKS - - # make sure for future starts that blockchain service gets started after bootstrap - # so deamon reloas needed ... system will go into reboot after last loop - # needs to be after wait loop because otherwise the "restart" on COPY OVER LAN will not work - echo "# Updating service ${network}d.service ..." >> $logFile - sudo sed -i "s/^Wants=.*/Wants=bootstrap.service/g" /etc/systemd/system/${network}d.service - sudo sed -i "s/^After=.*/After=bootstrap.service/g" /etc/systemd/system/${network}d.service - sudo systemctl daemon-reload - - # delete setup data from RAM - sudo rm ${setupFile} - - # signal that setup phase is over - sed -i "s/^setupPhase=.*/setupPhase='done'/g" ${infoFile} - - ######################################## - # AFTER SETUP REBOOT - # touchscreen activation, start with configured SWAP, fix LCD text bug - sudo cp /home/admin/raspiblitz.log /home/admin/raspiblitz.setup.log - timeout 60 /home/admin/config.scripts/blitz.shutdown.sh reboot finalsetup - sleep 10 - # if system has not rebooted yet - force reboot directly - sudo shutdown -r now - sleep 60 - exit 0 + # system has to wait before reboot to present like seed words and other info/options to user + echo "BOOTSTRAP EXIT ... waiting for final setup controller to initiate final reboot." >> $logFile + exit 1 else diff --git a/home.admin/setup.scripts/controlFinalDialog.sh b/home.admin/setup.scripts/controlFinalDialog.sh index 30cea3b5..dc9e147c 100755 --- a/home.admin/setup.scripts/controlFinalDialog.sh +++ b/home.admin/setup.scripts/controlFinalDialog.sh @@ -104,28 +104,64 @@ if [ "${setupPhase}" == "setup" ]; then clear whiptail --title " Setup Done " --msgbox "\ Your RaspiBlitz setup is done. Welcome new Node Operator! :D\n -There can be some waiting time until your blockchain is fully synced before you can enter the RaspiBlitz user menu.\n +After the final reboot there can be some waiting time until your blockchain is fully synced before you can enter the RaspiBlitz user menu.\n It is safe to log out during the sync and return later.\n -" 12 65 +" 13 65 # when coming from migration from other node elif [ "${setupPhase}" == "migration" ]; then clear whiptail --title " Migration Done " --msgbox "\ Your running now RaspiBlitz. Welcome to the family! :D\n -There might now be some waiting time until your Blockchain is fully synced before you can enter the RaspiBlitz user menu.\n +After the final reboot there might now be some waiting time until your Blockchain is fully synced before you can enter the RaspiBlitz user menu.\n Its safe to logout during sync and return later.\n -" 12 65 +" 13 65 # just in case then from another phase else clear - echo "Missing Final Done Dialog for: ${setupPhase}" - echo "PRESS ENTER" - read key + whiptail --title " Recovery/Update Done " --msgbox "\ +Your RaspiBlitz is now ready again :D\n +After the final reboot there might now be some waiting time until your Blockchain sync has catched up before you can enter the RaspiBlitz user menu.\n +" 11 65 fi -echo "Starting ... (please wait)" +# source info fresh +source /home/admin/raspiblitz.info +clear +echo "***********************************************************" +echo "RaspiBlitz going to reboot" +echo "***********************************************************" +echo "This is the final setup reboot - you will get disconnected." +echo "SSH again into system with:" +echo "ssh admin@${localip}" +echo "Use your password A" +echo "***********************************************************" -# signal to backend that all is good and it can continue -sudo sed -i "s/^state=.*/state='ready'/g" /home/admin/raspiblitz.info \ No newline at end of file +######################################## +# AFTER FINAL SETUP TASKS + +# make sure for future starts that blockchain service gets started after bootstrap +# so deamon reloas needed ... system will go into reboot after last loop +# needs to be after wait loop because otherwise the "restart" on COPY OVER LAN will not work +echo "# Updating service ${network}d.service ..." >> $logFile +sudo sed -i "s/^Wants=.*/Wants=bootstrap.service/g" /etc/systemd/system/${network}d.service +sudo sed -i "s/^After=.*/After=bootstrap.service/g" /etc/systemd/system/${network}d.service +sudo systemctl daemon-reload + +# delete setup data from RAM +sudo rm ${setupFile} + +# signal that setup phase is over +sed -i "s/^setupPhase=.*/setupPhase='done'/g" ${infoFile} + +######################################## +# AFTER SETUP REBOOT +# touchscreen activation, start with configured SWAP, fix LCD text bug +sudo cp /home/admin/raspiblitz.log /home/admin/raspiblitz.setup.log +timeout 120 /home/admin/config.scripts/blitz.shutdown.sh reboot finalsetup +# if system has not rebooted yet - force reboot directly +sudo shutdown -r now +sleep 120 +echo "FAIL: automatic final reboot didnt worked .. please report to dev team and try to reboot manually" +exit 0 \ No newline at end of file diff --git a/pictures/ssh4-done.png b/pictures/ssh4-done.png index 42b7375d92cc7b2177a1232079f933cc8132596f..d97e349a19f50c094514664b9b2da7ab64de934b 100644 GIT binary patch literal 20244 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 Ro`n_Ctj$lD6`OkA{tvsn_y)ob%j!eKxpf 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 Wsi&*v_`L_6J>}`@=d#Wzp$P!$NSe|B