diff options
| -rw-r--r-- | meta/classes-recipe/core-image.bbclass | 1 | ||||
| -rw-r--r-- | meta/classes-recipe/image.bbclass | 2 | ||||
| -rw-r--r-- | meta/classes-recipe/rootfs-postcommands.bbclass | 20 | ||||
| -rw-r--r-- | meta/recipes-core/sysvinit/sysvinit-inittab/start_getty | 3 |
4 files changed, 24 insertions, 2 deletions
diff --git a/meta/classes-recipe/core-image.bbclass b/meta/classes-recipe/core-image.bbclass index 7ef7d07390..4b5f2c99c4 100644 --- a/meta/classes-recipe/core-image.bbclass +++ b/meta/classes-recipe/core-image.bbclass | |||
| @@ -31,6 +31,7 @@ | |||
| 31 | # - allow-empty-password | 31 | # - allow-empty-password |
| 32 | # - allow-root-login | 32 | # - allow-root-login |
| 33 | # - post-install-logging | 33 | # - post-install-logging |
| 34 | # - serial-autologin-root - with 'empty-root-password': autologin 'root' on the serial console | ||
| 34 | # - dev-pkgs - development packages (headers, etc.) for all installed packages in the rootfs | 35 | # - dev-pkgs - development packages (headers, etc.) for all installed packages in the rootfs |
| 35 | # - dbg-pkgs - debug symbol packages for all installed packages in the rootfs | 36 | # - dbg-pkgs - debug symbol packages for all installed packages in the rootfs |
| 36 | # - lic-pkgs - license packages for all installed pacakges in the rootfs, requires | 37 | # - lic-pkgs - license packages for all installed pacakges in the rootfs, requires |
diff --git a/meta/classes-recipe/image.bbclass b/meta/classes-recipe/image.bbclass index 433172378a..e387645503 100644 --- a/meta/classes-recipe/image.bbclass +++ b/meta/classes-recipe/image.bbclass | |||
| @@ -39,7 +39,7 @@ INHIBIT_DEFAULT_DEPS = "1" | |||
| 39 | # IMAGE_FEATURES may contain any available package group | 39 | # IMAGE_FEATURES may contain any available package group |
| 40 | IMAGE_FEATURES ?= "" | 40 | IMAGE_FEATURES ?= "" |
| 41 | IMAGE_FEATURES[type] = "list" | 41 | IMAGE_FEATURES[type] = "list" |
| 42 | 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" | 42 | 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" |
| 43 | 43 | ||
| 44 | # Generate companion debugfs? | 44 | # Generate companion debugfs? |
| 45 | IMAGE_GEN_DEBUGFS ?= "0" | 45 | IMAGE_GEN_DEBUGFS ?= "0" |
diff --git a/meta/classes-recipe/rootfs-postcommands.bbclass b/meta/classes-recipe/rootfs-postcommands.bbclass index d40adf5f0e..bf1e992bb2 100644 --- a/meta/classes-recipe/rootfs-postcommands.bbclass +++ b/meta/classes-recipe/rootfs-postcommands.bbclass | |||
| @@ -13,6 +13,9 @@ ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains_any("IMAGE_FEATURES", [ 'deb | |||
| 13 | # Allow dropbear/openssh to accept root logins if debug-tweaks or allow-root-login is enabled | 13 | # Allow dropbear/openssh to accept root logins if debug-tweaks or allow-root-login is enabled |
| 14 | ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains_any("IMAGE_FEATURES", [ 'debug-tweaks', 'allow-root-login' ], "ssh_allow_root_login; ", "",d)}' | 14 | ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains_any("IMAGE_FEATURES", [ 'debug-tweaks', 'allow-root-login' ], "ssh_allow_root_login; ", "",d)}' |
| 15 | 15 | ||
| 16 | # Autologin the root user on the serial console, if empty-root-password and serial-autologin-root are active | ||
| 17 | ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains("IMAGE_FEATURES", [ 'empty-root-password', 'serial-autologin-root' ], "serial_autologin_root; ", "",d)}' | ||
| 18 | |||
| 16 | # Enable postinst logging if debug-tweaks or post-install-logging is enabled | 19 | # Enable postinst logging if debug-tweaks or post-install-logging is enabled |
| 17 | ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains_any("IMAGE_FEATURES", [ 'debug-tweaks', 'post-install-logging' ], "postinst_enable_logging; ", "",d)}' | 20 | ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains_any("IMAGE_FEATURES", [ 'debug-tweaks', 'post-install-logging' ], "postinst_enable_logging; ", "",d)}' |
| 18 | 21 | ||
| @@ -201,6 +204,23 @@ ssh_allow_root_login () { | |||
| 201 | fi | 204 | fi |
| 202 | } | 205 | } |
| 203 | 206 | ||
| 207 | # | ||
| 208 | # Autologin the 'root' user on the serial terminal, | ||
| 209 | # if empty-root-password' AND 'serial-autologin-root are enabled | ||
| 210 | # | ||
| 211 | serial_autologin_root () { | ||
| 212 | if ${@bb.utils.contains("DISTRO_FEATURES", "sysvinit", "true", "false", d)}; then | ||
| 213 | # add autologin option to util-linux getty only | ||
| 214 | sed -i 's/options="/&--autologin root /' \ | ||
| 215 | "${IMAGE_ROOTFS}${base_bindir}/start_getty" | ||
| 216 | elif ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "true", "false", d)}; then | ||
| 217 | if [ -e ${IMAGE_ROOTFS}${systemd_system_unitdir}/serial-getty@.service ]; then | ||
| 218 | sed -i '/^\s*ExecStart\b/ s/getty /&--autologin root /' \ | ||
| 219 | "${IMAGE_ROOTFS}${systemd_system_unitdir}/serial-getty@.service" | ||
| 220 | fi | ||
| 221 | fi | ||
| 222 | } | ||
| 223 | |||
| 204 | python sort_passwd () { | 224 | python sort_passwd () { |
| 205 | import rootfspostcommands | 225 | import rootfspostcommands |
| 206 | rootfspostcommands.sort_passwd(d.expand('${IMAGE_ROOTFS}${sysconfdir}')) | 226 | rootfspostcommands.sort_passwd(d.expand('${IMAGE_ROOTFS}${sysconfdir}')) |
diff --git a/meta/recipes-core/sysvinit/sysvinit-inittab/start_getty b/meta/recipes-core/sysvinit/sysvinit-inittab/start_getty index 699a1ead1a..7106fb72fb 100644 --- a/meta/recipes-core/sysvinit/sysvinit-inittab/start_getty +++ b/meta/recipes-core/sysvinit/sysvinit-inittab/start_getty | |||
| @@ -9,9 +9,10 @@ case $(readlink -f "${getty}") in | |||
| 9 | if [ -x "/usr/bin/setsid" ] ; then | 9 | if [ -x "/usr/bin/setsid" ] ; then |
| 10 | setsid="/usr/bin/setsid" | 10 | setsid="/usr/bin/setsid" |
| 11 | fi | 11 | fi |
| 12 | options="" | ||
| 12 | ;; | 13 | ;; |
| 13 | esac | 14 | esac |
| 14 | 15 | ||
| 15 | if [ -e /sys/class/tty/$2 -a -c /dev/$2 ]; then | 16 | if [ -e /sys/class/tty/$2 -a -c /dev/$2 ]; then |
| 16 | ${setsid:-} ${getty} -L $1 $2 $3 | 17 | ${setsid:-} ${getty} ${options:-} -L $1 $2 $3 |
| 17 | fi | 18 | fi |
