From 1eca862849ff53fa2de1679f68f90e4779ca656e Mon Sep 17 00:00:00 2001 From: macmpi Date: Tue, 16 May 2023 09:28:58 +0200 Subject: [PATCH] improve overlay file detection take name from dmesg add suggestion for removal in banner --- headless.apkovl.tar.gz | Bin 5058 -> 5242 bytes overlay/etc/local.d/headless.start | 15 +++++++++++++-- sample_unattended.sh | 5 +++-- 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/headless.apkovl.tar.gz b/headless.apkovl.tar.gz index 97fe05d22b0cf2ee668d43883f4984adec4866da..faed1ed7cabfeedcb39336fc306c3bdd3b93c9e0 100644 GIT binary patch literal 5242 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 A(f|Me literal 5058 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 diff --git a/overlay/etc/local.d/headless.start b/overlay/etc/local.d/headless.start index 8eec0c6..b68e546 100755 --- a/overlay/etc/local.d/headless.start +++ b/overlay/etc/local.d/headless.start @@ -11,9 +11,12 @@ exec 1>/dev/console 2>&1 logger -st ${0##*/} "Alpine Linux headless bootstrap v$VERSION by macmpi" mkdir /tmp/.trash -ovlpath=$( find /media -maxdepth 2 -type d -path '*/.*' -prune -o -type f -name *.apkovl.tar.gz -exec dirname {} \; | head -1 ) -# Help randomess for wpa_supplicant and ssh server +# grab used ovl filename from dmesg +ovl="$( dmesg | grep -o 'Loading user settings from .*:' | awk '{print $5}' | sed 's/:.*$//' )" +ovlpath="$( dirname "$ovl" )" + +# Help randomness for wpa_supplicant and ssh server rc-service seedrng start ## Setup Network interfaces @@ -95,10 +98,18 @@ cat <<-EOF >> /etc/ssh/sshd_config EOF # Banner file +warn="" +grep -q "${ovlpath}.*[[:space:]]ro[[:space:],]" /proc/mounts; RO=$? +[ "$RO" -eq "0" ] && warn="(remount partition read-write!)" + cat <<-EOF > /tmp/.trash/banner Alpine Linux headless bootstrap v$VERSION by macmpi +You may want to delete/rename overlay before next reboot ${warn}: +$ovl +(can be done automatically with unattended script - see sample snippet) + EOF # Bundled temporary keys are moved in RAM /tmp so they won't be stored diff --git a/sample_unattended.sh b/sample_unattended.sh index 58fab1b..0ab512e 100644 --- a/sample_unattended.sh +++ b/sample_unattended.sh @@ -14,12 +14,13 @@ sleep 60 ## This snippet removes apkovl file on volume after initial boot -ovlpath=$( find /media -maxdepth 2 -type d -path '*/.*' -prune -o -type f -name *.apkovl.tar.gz -exec dirname {} \; | head -1 ) +ovl="$( dmesg | grep -o 'Loading user settings from .*:' | awk '{print $5}' | sed 's/:.*$//' )" +ovlpath="$( dirname "$ovl" )" # also works in case volume is mounted read-only grep -q "${ovlpath}.*[[:space:]]ro[[:space:],]" /proc/mounts; RO=$? [ "$RO" -eq "0" ] && mount -o remount,rw "${ovlpath}" -rm "${ovlpath}"/*.apkovl.tar.gz +rm -f "${ovl}" [ "$RO" -eq "0" ] && mount -o remount,ro "${ovlpath}" ########################################################