[make-initrd] [PATCH v1 34/41] fork pipeline: bootchain-loop: cleanup, testing and debugging
Leonid Krivoshein
klark.devel at gmail.com
Fri Sep 24 18:59:04 MSK 2021
---
.../bootchain-core/data/sbin/bootchain-loop | 36 +++++++++++++++++++
1 file changed, 36 insertions(+)
diff --git
a/make-initrd/features/bootchain-core/data/sbin/bootchain-loop
b/make-initrd/features/bootchain-core/data/sbin/bootchain-loop
index 70a5bf6..7474ebb 100755
--- a/make-initrd/features/bootchain-core/data/sbin/bootchain-loop
+++ b/make-initrd/features/bootchain-core/data/sbin/bootchain-loop
@@ -94,3 +94,39 @@ elif [ "$rc" = 0 ] && [ -f "$BC_PASSED/$PROG" ]; then
else
fatal "daemon terminated incorrectly (rc=$rc)"
fi
+
+if [ -z "$BC_DEBUG" ]; then
+ grep -qs " $mntdir/" /proc/mounts ||
+ run umount -- "$mntdir" &&
+ run rm -rf -- "$mntdir" ||:
+else
+ prevdir="$(readlink-e "$destdir" 2>/dev/null ||:)"
+ [ "$prevdir" = "$rootmnt" ] && datadir="" ||
+ datadir="$rootmnt"
+ destdir=
+ callnum=0
+ name=STAGE2
+
+ message "[$callnum] Handler: $handlerdir/debug"
+
+ export name callnum datadir destdir prevdir
+
+ run "$handlerdir/debug" ||:
+ debug "last step finished with exit code $rc"
+fi
+
+if [ -f "$BC_LOGFILE" ] && [ -n "${BC_DEBUG}${BC_TEST-}" ]; then
+ if [ -d "$rootmnt/var/log" ]; then
+ destdir="$rootmnt/var/log"
+ else
+ run mkdir -p -- "$mntdir"
+ destdir="$mntdir"
+ fi
+
+ if [ -n "${BC_TEST-}" ]; then
+ debug "test '$BC_TEST' in the stage1 passed"
+ echo "$BC_TEST" >"$destdir"/BC-TEST.passed
+ fi
+
+ run cp -Lf -- "$BC_LOGFILE" "$destdir/"
+fi
--
2.21.0
More information about the Make-initrd
mailing list