diff --git a/headless.apkovl.tar.gz b/headless.apkovl.tar.gz index 97fe05d..faed1ed 100644 Binary files a/headless.apkovl.tar.gz and b/headless.apkovl.tar.gz differ 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}" ########################################################