Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Reza Arbab <arbab@linux.ibm.com>
To: buildroot@buildroot.org, Arnout Vandecappelle <arnout@mind.be>,
	"Yann E . MORIN" <yann.morin.1998@free.fr>
Cc: Joel Stanley <joel@jms.id.au>,
	Fabrice Fontaine <fontaine.fabrice@gmail.com>,
	Laurent Vivier <laurent@vivier.eu>
Subject: [Buildroot] [PATCH v5 4/5] package/petitboot: run script when exiting to shell
Date: Wed,  7 Feb 2024 11:51:34 -0600	[thread overview]
Message-ID: <20240207175135.1532037-5-arbab@linux.ibm.com> (raw)
In-Reply-To: <20240207175135.1532037-1-arbab@linux.ibm.com>

When the user selects the shell escape option from the petitboot menu,
reset the terminal so output is raw rather than being confined to the
ncurses window set up for the petitboot menu, and print some helpful
text before running the shell.

To do this, override the default HOST_PROG_SH (/bin/sh) with a small
script. Doing so also enables someone to customize this behavior by
overlaying a different script.

Signed-off-by: Reza Arbab <arbab@linux.ibm.com>
---
 package/petitboot/pb-shell     | 10 ++++++++++
 package/petitboot/petitboot.mk |  3 +++
 2 files changed, 13 insertions(+)
 create mode 100644 package/petitboot/pb-shell

diff --git a/package/petitboot/pb-shell b/package/petitboot/pb-shell
new file mode 100644
index 000000000000..99887c3f3b87
--- /dev/null
+++ b/package/petitboot/pb-shell
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+reset
+
+cat <<EOM
+Exiting petitboot. Type 'exit' to return.
+You may run 'pb-sos' to gather diagnostic data.
+EOM
+
+exec /bin/sh
diff --git a/package/petitboot/petitboot.mk b/package/petitboot/petitboot.mk
index 291083269ae9..e2f762842534 100644
--- a/package/petitboot/petitboot.mk
+++ b/package/petitboot/petitboot.mk
@@ -29,6 +29,7 @@ PETITBOOT_CONF_OPTS = \
 	--without-twin-x11 \
 	$(if $(BR2_PACKAGE_BUSYBOX),--enable-busybox,--disable-busybox) \
 	HOST_PROG_KEXEC=/usr/sbin/kexec \
+	HOST_PROG_SH=/usr/libexec/petitboot/pb-shell \
 	HOST_PROG_SHUTDOWN=/usr/sbin/kexec-restart
 
 # HPA and Busybox tftp are supported. HPA tftp is part of Buildroot's tftpd
@@ -81,6 +82,8 @@ define PETITBOOT_POST_INSTALL
 		$(TARGET_DIR)/usr/sbin/kexec-restart
 	$(INSTALL) -D -m 0755 $(PETITBOOT_PKGDIR)/pb-console \
 		$(TARGET_DIR)/etc/init.d/pb-console
+	$(INSTALL) -D -m 0755 $(PETITBOOT_PKGDIR)/pb-shell \
+		$(TARGET_DIR)/usr/libexec/petitboot/pb-shell
 
 	mkdir -p $(TARGET_DIR)/etc/udev/rules.d
 	for port in $(PETITBOOT_GETTY_PORT); do \
-- 
2.39.3

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

  parent reply	other threads:[~2024-02-07 17:51 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-07 17:51 [Buildroot] [PATCH v5 0/5] package/petitboot: misc fixes/enhancement Reza Arbab
2024-02-07 17:51 ` [Buildroot] [PATCH v5 1/5] package/petitboot: minor makefile cleanup Reza Arbab
2024-02-07 19:14   ` Yann E. MORIN
2024-03-08 11:27   ` Peter Korsgaard
2024-02-07 17:51 ` [Buildroot] [PATCH v5 2/5] package/petitboot: prefer UTF-8 support Reza Arbab
2024-02-07 19:43   ` Yann E. MORIN
2024-03-08 11:27   ` Peter Korsgaard
2024-02-07 17:51 ` [Buildroot] [PATCH v5 3/5] package/petitboot: fix shutdown Reza Arbab
2024-07-12 22:02   ` Arnout Vandecappelle via buildroot
2024-02-07 17:51 ` Reza Arbab [this message]
2024-07-12 22:02   ` [Buildroot] [PATCH v5 4/5] package/petitboot: run script when exiting to shell Arnout Vandecappelle via buildroot
2024-02-07 17:51 ` [Buildroot] [PATCH v5 5/5] package/petitboot: run UI as non-root user Reza Arbab
2024-07-12 22:03   ` Arnout Vandecappelle via buildroot

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=20240207175135.1532037-5-arbab@linux.ibm.com \
    --to=arbab@linux.ibm.com \
    --cc=arnout@mind.be \
    --cc=buildroot@buildroot.org \
    --cc=fontaine.fabrice@gmail.com \
    --cc=joel@jms.id.au \
    --cc=laurent@vivier.eu \
    --cc=yann.morin.1998@free.fr \
    /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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox