From: Leonid Krivoshein <klark.devel@gmail.com>
To: make-initrd@lists.altlinux.org
Subject: [make-initrd] [PATCH v1 25/41] fork pipeline: bootchained modified
Date: Fri, 24 Sep 2021 18:58:05 +0300
Message-ID: <56f95272-9b57-57e4-7162-16652b00f182@gmail.com> (raw)
---
.../bootchain-core/data/sbin/bootchained | 41 +++++++++++++------
1 file changed, 29 insertions(+), 12 deletions(-)
diff --git a/make-initrd/features/bootchain-core/data/sbin/bootchained
b/make-initrd/features/bootchain-core/data/sbin/bootchained
index 369938a..7a1843e 100755
--- a/make-initrd/features/bootchain-core/data/sbin/bootchained
+++ b/make-initrd/features/bootchain-core/data/sbin/bootchained
@@ -1,38 +1,55 @@
#!/bin/bash -efu
-. shell-error
-. shell-signal
+. bootchain-sh-functions
-message_time=1
pidfile="/var/run/$PROG.pid"
-logfile="/var/log/$PROG.log"
+
exit_handler()
{
local rc="$?"
trap - EXIT
rm -f -- "$pidfile"
+ wait
exit $rc
}
+debug()
+{
+ [ -z "$BC_DEBUG" ] ||
+ message "$*"
+}
+
+
+# Entry point
[ ! -f "$pidfile" ] ||
fatal "already running"
-
set_cleanup_handler exit_handler
echo "$$" >"$pidfile"
-. pipeline-sh-functions
-
-
-[ "${RDLOG-}" != 'console' ] ||
- logfile=/dev/console
+if [ "${RDLOG-}" = console ]; then
+ BC_LOGFILE=/dev/console
+elif [ -z "${NOTTYS-}" ] &&
+ [ -n "$BC_LOG_VT" ] &&
+ [ ! -c "$BC_LOGFILE" ] &&
+ command -v openvt >/dev/null
+then
+ touch -- "$BC_LOGFILE"
+ [ -e "/dev/tty$BC_LOG_VT" ] ||
+ mknod "/dev/tty$BC_LOG_VT" c 4 "$BC_LOG_VT"
+ openvt -f -w -c$BC_LOG_VT -- /sbin/bootchain-logvt &
+fi
exec >"$BC_LOGFILE" 2>&1
message "Starting server [$(initrd_version)]..."
+debug "Booting with /proc/cmdline:"
+fdump /proc/cmdline
run mkdir -p -- "$mntdir" "$BC_PASSED"
-mountpoint -q "$mntdir" ||
- mount -t tmpfs tmpfs "$mntdir" ||:
+mountpoint -q -- "$mntdir" ||
+ run mount -t tmpfs tmpfs "$mntdir" ||:
+
+export chainsteps="${BOOTCHAIN-}"
bootchain-loop
--
2.21.0
reply other threads:[~2021-09-24 15:58 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=56f95272-9b57-57e4-7162-16652b00f182@gmail.com \
--to=klark.devel@gmail.com \
--cc=make-initrd@lists.altlinux.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Make-initrd development discussion
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/make-initrd/0 make-initrd/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 make-initrd make-initrd/ http://lore.altlinux.org/make-initrd \
make-initrd@lists.altlinux.org make-initrd@lists.altlinux.ru make-initrd@lists.altlinux.com
public-inbox-index make-initrd
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.make-initrd
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git