From: Luca Ceresoli <luca.ceresoli@bootlin.com>
To: "Johannes Schneider via lists.openembedded.org"
<johannes.schneider=leica-geosystems.com@lists.openembedded.org>
Cc: johannes.schneider@leica-geosystems.com,
openembedded-core@lists.openembedded.org
Subject: Re: [OE-core] [meta-oe][PATCH v3] classes: rootfs-postcommands: autologin root on serial-getty
Date: Wed, 27 Jul 2022 12:28:27 +0200 [thread overview]
Message-ID: <20220727122828.09c7e1c0@booty> (raw)
In-Reply-To: <20220727033739.1752802-1-johannes.schneider@leica-geosystems.com>
On Wed, 27 Jul 2022 05:37:39 +0200
"Johannes Schneider via lists.openembedded.org"
<johannes.schneider=leica-geosystems.com@lists.openembedded.org> wrote:
> when empty-root-password AND serial-autologin-root are part of the
> IMAGE_FEATURES, save some of the developers time by not having to type
> the (then still sole) 'root' username on the serial consoleafter each
s/consoleafter/console after/
> and every reboot
>
> this is done by inserting '--autologin root' into the command line of
> the responsible 'getty' service
>
> Signed-off-by: Johannes Schneider <johannes.schneider@leica-geosystems.com>
> ---
> meta/classes/core-image.bbclass | 1 +
> meta/classes/image.bbclass | 2 +-
> meta/classes/rootfs-postcommands.bbclass | 15 +++++++++++++++
> 3 files changed, 17 insertions(+), 1 deletion(-)
>
> diff --git a/meta/classes/core-image.bbclass b/meta/classes/core-image.bbclass
> index 84fd3eeb38..6764035729 100644
> --- a/meta/classes/core-image.bbclass
> +++ b/meta/classes/core-image.bbclass
> @@ -29,6 +29,7 @@
> # - allow-empty-password
> # - allow-root-login
> # - post-install-logging
> +# - serial-autologin-root - with 'empty-root-password': autologin 'root' on the serial console
> # - dev-pkgs - development packages (headers, etc.) for all installed packages in the rootfs
> # - dbg-pkgs - debug symbol packages for all installed packages in the rootfs
> # - lic-pkgs - license packages for all installed pacakges in the rootfs, requires
> diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
> index 2139a7e576..fe32cdefd5 100644
> --- a/meta/classes/image.bbclass
> +++ b/meta/classes/image.bbclass
> @@ -34,7 +34,7 @@ INHIBIT_DEFAULT_DEPS = "1"
> # IMAGE_FEATURES may contain any available package group
> IMAGE_FEATURES ?= ""
> IMAGE_FEATURES[type] = "list"
> -IMAGE_FEATURES[validitems] += "debug-tweaks read-only-rootfs read-only-rootfs-delayed-postinsts stateless-rootfs empty-root-password allow-empty-password allow-root-login post-install-logging overlayfs-etc"
> +IMAGE_FEATURES[validitems] += "debug-tweaks read-only-rootfs read-only-rootfs-delayed-postinsts stateless-rootfs empty-root-password allow-empty-password allow-root-login serial-autologin-root post-install-logging overlayfs-etc"
>
> # Generate companion debugfs?
> IMAGE_GEN_DEBUGFS ?= "0"
> diff --git a/meta/classes/rootfs-postcommands.bbclass b/meta/classes/rootfs-postcommands.bbclass
> index a8a952f31d..65fe74cc5d 100644
> --- a/meta/classes/rootfs-postcommands.bbclass
> +++ b/meta/classes/rootfs-postcommands.bbclass
> @@ -8,6 +8,9 @@ ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains_any("IMAGE_FEATURES", [ 'deb
> # Allow dropbear/openssh to accept root logins if debug-tweaks or allow-root-login is enabled
> ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains_any("IMAGE_FEATURES", [ 'debug-tweaks', 'allow-root-login' ], "ssh_allow_root_login; ", "",d)}'
>
> +# Autologin the root user on the serial console, if empty-root-password and serial-autologin-root are active
> +ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains("IMAGE_FEATURES", [ 'empty-root-password', 'serial-autologin-root' ], "serial_autologin_root; ", "",d)}'
> +
> # Enable postinst logging if debug-tweaks or post-install-logging is enabled
> ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains_any("IMAGE_FEATURES", [ 'debug-tweaks', 'post-install-logging' ], "postinst_enable_logging; ", "",d)}'
>
> @@ -196,6 +199,18 @@ ssh_allow_root_login () {
> fi
> }
>
> +#
> +# Autologin the 'root' user on the serial terminal,
> +# if empty-root-password' AND 'serial-autologin-root are enabled
> +#
> +serial_autologin_root () {
> + if [ -e ${IMAGE_ROOTFS}${systemd_system_unitdir}/serial-getty@.service ]; then
> + sed -i '/^\s*ExecStart\b/ s/getty /&--autologin root /' \
> + "${IMAGE_ROOTFS}${systemd_system_unitdir}/serial-getty@.service"
> + fi
> +}
> +
> +
Extra empty line.
I took you patch for testing with the above fixed, no need to resend
just for those.
Thanks.
--
Luca Ceresoli, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
prev parent reply other threads:[~2022-07-27 10:28 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-07-27 3:37 [meta-oe][PATCH v3] classes: rootfs-postcommands: autologin root on serial-getty Johannes Schneider
2022-07-27 7:27 ` [OE-core] " Marta Rybczynska
2022-07-27 7:34 ` SCHNEIDER Johannes
2022-07-27 10:28 ` Luca Ceresoli [this message]
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=20220727122828.09c7e1c0@booty \
--to=luca.ceresoli@bootlin.com \
--cc=johannes.schneider=leica-geosystems.com@lists.openembedded.org \
--cc=johannes.schneider@leica-geosystems.com \
--cc=openembedded-core@lists.openembedded.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
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.