Make-initrd development discussion
 help / color / mirror / Atom feed
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