From e6a8753212cf547f827431a2b29103360deaa19e Mon Sep 17 00:00:00 2001 From: /rootzoll Date: Thu, 12 Sep 2024 16:02:42 +0200 Subject: [PATCH] #4694 hdd detection fix (#4728) * call resolvconf native path * only fatpack with lcd when called by command * repair ssh * hdd minimum size 130 gb * detectVM --- home.admin/_bootstrap.sh | 22 ++++++++++--------- home.admin/config.scripts/blitz.datadrive.sh | 16 ++++++++++---- .../config.scripts/blitz.preparerelease.sh | 5 ++--- home.admin/config.scripts/blitz.ssh.sh | 4 +++- 4 files changed, 29 insertions(+), 18 deletions(-) diff --git a/home.admin/_bootstrap.sh b/home.admin/_bootstrap.sh index 1b2a77eed..10da720a4 100755 --- a/home.admin/_bootstrap.sh +++ b/home.admin/_bootstrap.sh @@ -45,14 +45,9 @@ echo "***********************************************" >> $logFile # list all running systemd services for future debug systemctl list-units --type=service --state=running >> $logFile -# check if the file /etc/ssh/sshd_init_keys exists --> initial boot of fresh sd card image -if [ -f "/etc/ssh/sshd_init_keys" ]; then - echo "# init SSH KEYS fresh for new user" >> $logFile - /home/admin/config.scripts/blitz.ssh.sh init >> $logFile -else - echo "# make sure SSH server is configured & running" >> $logFile - /home/admin/config.scripts/blitz.ssh.sh checkrepair >> $logFile -fi +# make sure ssh is configured and running +echo "# make sure SSH server is configured & running" >> $logFile +/home/admin/config.scripts/blitz.ssh.sh checkrepair >> $logFile echo "## prepare raspiblitz temp" >> $logFile @@ -86,6 +81,12 @@ ln_cl_mainnet_sync_initial_done=0 ln_cl_testnet_sync_initial_done=0 ln_cl_signet_sync_initial_done=0 +# detect VM +vm=0 +if [ $(systemd-detect-virt) != "none" ]; then + vm=1 +fi + # load already persisted valued (overwriting defaults if exist) source ${infoFile} 2>/dev/null @@ -96,6 +97,7 @@ echo "setupPhase=${setupPhase}" >> $infoFile echo "setupStep=${setupStep}" >> $infoFile echo "baseimage=${baseimage}" >> $infoFile echo "cpu=${cpu}" >> $infoFile +echo "vm=${vm}" >> $infoFile echo "blitzapi=${blitzapi}" >> $infoFile echo "displayClass=${displayClass}" >> $infoFile echo "displayType=${displayType}" >> $infoFile @@ -131,8 +133,9 @@ echo "# raspi_bootdir(${raspi_bootdir})" >> $logFile flagExists=$(ls ${raspi_bootdir}/stop 2>/dev/null | grep -c 'stop') if [ "${flagExists}" == "1" ]; then # set state info + localip=$(hostname -I | awk '{print $1}') /home/admin/_cache.sh set state "stop" - /home/admin/_cache.sh set message "stopped for manual provision" + /home/admin/_cache.sh set message "stopped for manual provision ${localip}" systemctl stop background.service systemctl stop background.scan.service # log info @@ -284,7 +287,6 @@ source <(/home/admin/config.scripts/blitz.datadrive.sh status) ################################ echo "Waiting for HDD/SSD ..." >> $logFile -ls -la /etc/ssh >> $logFile until [ ${isMounted} -eq 1 ] || [ ${#hddCandidate} -gt 0 ] do diff --git a/home.admin/config.scripts/blitz.datadrive.sh b/home.admin/config.scripts/blitz.datadrive.sh index 14e444193..aee8e8ed3 100755 --- a/home.admin/config.scripts/blitz.datadrive.sh +++ b/home.admin/config.scripts/blitz.datadrive.sh @@ -230,21 +230,29 @@ if [ "$1" = "status" ]; then echo "hddTemperature=" echo "hddTemperatureStr='?°C'" - # display results from hdd & partition detection - echo "hddCandidate='${hdd}'" hddBytes=0 hddGigaBytes=0 if [ "${hdd}" != "" ]; then hddBytes=$(fdisk -l /dev/$hdd | grep GiB | cut -d " " -f 5) if [ "${hddBytes}" = "" ]; then - hddBytes=$(fdisk -l /dev/$hdd | grep TiB | cut -d " " -f 5) + hddBytes=$(fdisk -l /dev/$hdd | grep TiB | cut -d " " -f 5) fi hddGigaBytes=$(echo "scale=0; ${hddBytes}/1024/1024/1024" | bc -l) fi + + # check if big enough + if [ ${hddGigaBytes} -lt 130 ]; then + echo "# Found HDD '${hdd}' is smaller than 130GB" + hdd="" + hddDataPartition="" + fi + + # display results from hdd & partition detection + echo "hddCandidate='${hdd}'" echo "hddBytes=${hddBytes}" echo "hddGigaBytes=${hddGigaBytes}" echo "hddPartitionCandidate='${hddDataPartition}'" - + # if positive deliver more data if [ ${#hddDataPartition} -gt 0 ]; then # check partition size in bytes and GBs diff --git a/home.admin/config.scripts/blitz.preparerelease.sh b/home.admin/config.scripts/blitz.preparerelease.sh index e02d7a0db..9c71f1b7d 100755 --- a/home.admin/config.scripts/blitz.preparerelease.sh +++ b/home.admin/config.scripts/blitz.preparerelease.sh @@ -86,10 +86,9 @@ fi echo echo "deleting SSH Pub keys ..." echo "keys will get recreated and sshd reactivated on fresh bootup, by _bootstrap.sh service" -sudo systemctl stop sshd -sudo systemctl disable sshd +sudo systemctl stop ssh +sudo systemctl disable ssh sudo rm /etc/ssh/ssh_host_* -sudo touch ${raspi_bootdir}/ssh echo "OK" echo diff --git a/home.admin/config.scripts/blitz.ssh.sh b/home.admin/config.scripts/blitz.ssh.sh index 44b999472..ae25a3980 100755 --- a/home.admin/config.scripts/blitz.ssh.sh +++ b/home.admin/config.scripts/blitz.ssh.sh @@ -52,6 +52,7 @@ if [ "$1" = "init" ]; then rm /etc/ssh/sshd_init_keys echo "# restart sshd" + systemctl enable ssh systemctl restart sshd if [ $? -gt 0 ]; then echo "error='sshd restart failed'" @@ -138,7 +139,8 @@ if [ "$1" = "checkrepair" ]; then if [ ${sshdRunning} -eq 0 ]; then echo "# DETECTED: SSHD NOT RUNNING --> Try reconfigure & kickstart again" sudo dpkg-reconfigure openssh-server - sudo systemctl restart sshd + sudo systemctl enable ssh + sudo systemctl restart ssh sleep 3 fi