diff mbox series

[1/1] busybox: write commented login line in /etc/inittab when getty disabled

Message ID 20191001130948.17935-1-mailist@logilin.fr
State Accepted
Headers show
Series [1/1] busybox: write commented login line in /etc/inittab when getty disabled | expand

Commit Message

Christophe Blaess Oct. 1, 2019, 1:09 p.m. UTC
From: Stephen Bos <stephen.bos@hagergroup.com>

When the "Run a getty" option is disabled, busybox doesn't remove the
/etc/inittab line from previous builds. With this patch, the line is
correctly commented out.

Signed-off-by: Stephen Bos <stephen.bos@hagergroup.com>
Co-authored-by: Stephen Bos <stephen.bos@hagergroup.com>
Co-authored-by: Christophe Blaess <christophe.blaess@logilin.fr>
---
 package/busybox/busybox.mk | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

Comments

Matt Weber Oct. 25, 2019, 8:02 p.m. UTC | #1
Stephen,

On Tue, Oct 1, 2019 at 8:49 AM Stephen Bos <mailist@logilin.fr> wrote:
>
> From: Stephen Bos <stephen.bos@hagergroup.com>
>
> When the "Run a getty" option is disabled, busybox doesn't remove the
> /etc/inittab line from previous builds. With this patch, the line is
> correctly commented out.
>
> Signed-off-by: Stephen Bos <stephen.bos@hagergroup.com>
> Co-authored-by: Stephen Bos <stephen.bos@hagergroup.com>
> Co-authored-by: Christophe Blaess <christophe.blaess@logilin.fr>

1) Setup a basic busybox build and verified console was setup with
getty after a full build
2) Unchecked the getty and verified it was commended out in inittab
after a rebuild
3) Enabled getty and changed tty used, rebuilt and verified tty string updated
4) Disabled getty  and verified it was commended out after a rebuild

Tested-by Matt Weber <matthew.weber@rockwellcollins.com>
Carlos Santos Oct. 25, 2019, 8:17 p.m. UTC | #2
On Fri, Oct 25, 2019 at 5:02 PM Matthew Weber <matthew.weber@collins.com> wrote:
>
> Stephen,
>
> On Tue, Oct 1, 2019 at 8:49 AM Stephen Bos <mailist@logilin.fr> wrote:
> >
> > From: Stephen Bos <stephen.bos@hagergroup.com>
> >
> > When the "Run a getty" option is disabled, busybox doesn't remove the
> > /etc/inittab line from previous builds. With this patch, the line is
> > correctly commented out.
> >
> > Signed-off-by: Stephen Bos <stephen.bos@hagergroup.com>
> > Co-authored-by: Stephen Bos <stephen.bos@hagergroup.com>
> > Co-authored-by: Christophe Blaess <christophe.blaess@logilin.fr>
>
> 1) Setup a basic busybox build and verified console was setup with
> getty after a full build
> 2) Unchecked the getty and verified it was commended out in inittab
> after a rebuild
> 3) Enabled getty and changed tty used, rebuilt and verified tty string updated
> 4) Disabled getty  and verified it was commended out after a rebuild
>
> Tested-by Matt Weber <matthew.weber@rockwellcollins.com>

I like the idea but a corresponding change should be made to sysvinit.
Thomas Petazzoni Oct. 27, 2019, 11:52 a.m. UTC | #3
On Tue,  1 Oct 2019 15:09:48 +0200
Stephen Bos <mailist@logilin.fr> wrote:

> From: Stephen Bos <stephen.bos@hagergroup.com>
> 
> When the "Run a getty" option is disabled, busybox doesn't remove the
> /etc/inittab line from previous builds. With this patch, the line is
> correctly commented out.
> 
> Signed-off-by: Stephen Bos <stephen.bos@hagergroup.com>
> Co-authored-by: Stephen Bos <stephen.bos@hagergroup.com>
> Co-authored-by: Christophe Blaess <christophe.blaess@logilin.fr>
> ---
>  package/busybox/busybox.mk | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)

We normally don't really care about such issue, because it only occurs
when you do a full build, change the configuration, and then run "make"
again, without doing a full clean build. Buildroot never guarantees
that the build output will be correct in such situations.

But well, in this specific case it is very cheap to do, so ok, fair
enough.

Applied, thanks!

Thomas
diff mbox series

Patch

diff --git a/package/busybox/busybox.mk b/package/busybox/busybox.mk
index a154584592..cc9921dabe 100644
--- a/package/busybox/busybox.mk
+++ b/package/busybox/busybox.mk
@@ -218,8 +218,12 @@  define BUSYBOX_SET_GETTY
 	$(SED) '/# GENERIC_SERIAL$$/s~^.*#~$(SYSTEM_GETTY_PORT)::respawn:/sbin/getty -L $(SYSTEM_GETTY_OPTIONS) $(SYSTEM_GETTY_PORT) $(SYSTEM_GETTY_BAUDRATE) $(SYSTEM_GETTY_TERM) #~' \
 		$(TARGET_DIR)/etc/inittab
 endef
-BUSYBOX_TARGET_FINALIZE_HOOKS += BUSYBOX_SET_GETTY
+else
+define BUSYBOX_SET_GETTY
+	$(SED) '/# GENERIC_SERIAL$$/s~^.*#~#ttyS0::respawn:/sbin/getty -L ttyS0 115200 vt100 #~' $(TARGET_DIR)/etc/inittab
+endef
 endif # BR2_TARGET_GENERIC_GETTY
+BUSYBOX_TARGET_FINALIZE_HOOKS += BUSYBOX_SET_GETTY
 
 BUSYBOX_TARGET_FINALIZE_HOOKS += SYSTEM_REMOUNT_ROOT_INITTAB