home · contact · privacy
Retry passwd until successful rather than aborting script.
authorPlom Heller <plom@plomlompom.com>
Mon, 7 Sep 2026 03:26:21 +0000 (05:26 +0200)
committerPlom Heller <plom@plomlompom.com>
Mon, 7 Sep 2026 03:26:21 +0000 (05:26 +0200)
setup_scripts/_lib.sh
setup_scripts/install_debian.sh
setup_scripts/start_root.sh

index 149f0465d10e893041c6f9b8b00725182c464f10..1dfa7e55d3712e8857ea61f51c6fc639a39609ba 100644 (file)
@@ -139,6 +139,11 @@ unmount_unrbind() {
 chroot_sh() {
     LANG=C.UTF-8 chroot "${PATH_MNT_ROOT}" /bin/sh -c "$@"
 }
+retry_until_success() {
+    until "$@"; do
+        msg 'Command failed, retrying: %s …' "$*"
+    done
+}
 create_lv() {
     local VG=$1
     local LV=$2
index 6c9a05faa8b021c281ad2e036e0c2a0b61215e82..87938b3ee527a4f403e4544d8e457df746b0335a 100755 (executable)
@@ -147,7 +147,7 @@ efibootmgr \
 
 # ask root login at latest possible moment, so that on fails: less left undone
 msg 'Setting up root login …'
-chroot_sh "passwd"
+retry_until_success chroot_sh "passwd"
 
 # clean up
 unmount_unrbind
index 2e13e68257c64fbd562363c11fe7eddb829d990c..94e9ca33f2812615e196cff64cd8cd4b165a35b2 100755 (executable)
@@ -46,7 +46,8 @@ udevadm control --reload-rules
 udevadm trigger --action=add --subsystem-match=backlight
 
 msg 'Setting up user: %s' "${USERNAME}"
-adduser --comment "" "${USERNAME}"
+adduser --disabled-password --comment "" "${USERNAME}"
+retry_until_success passwd "${USERNAME}"
 usermod -a -G sudo,video "${USERNAME}"
 
 msg 'Synchronizing clock …'