diff options
-rw-r--r-- | target/linux/ar71xx/base-files/etc/inittab | 2 | ||||
-rwxr-xr-x | target/linux/ar71xx/base-files/etc/uci-defaults/inittab-console-fixup | 25 |
2 files changed, 25 insertions, 2 deletions
diff --git a/target/linux/ar71xx/base-files/etc/inittab b/target/linux/ar71xx/base-files/etc/inittab index af4bf80dc..17f829f6d 100644 --- a/target/linux/ar71xx/base-files/etc/inittab +++ b/target/linux/ar71xx/base-files/etc/inittab @@ -1,4 +1,2 @@ ::sysinit:/etc/init.d/rcS S boot ::shutdown:/etc/init.d/rcS K shutdown -ttyS0::askfirst:/bin/ash --login -ttyATH0::askfirst:/bin/ash --login diff --git a/target/linux/ar71xx/base-files/etc/uci-defaults/inittab-console-fixup b/target/linux/ar71xx/base-files/etc/uci-defaults/inittab-console-fixup new file mode 100755 index 000000000..4836817be --- /dev/null +++ b/target/linux/ar71xx/base-files/etc/uci-defaults/inittab-console-fixup @@ -0,0 +1,25 @@ +#!/bin/sh +# +# Copyright (C) 2011 OpenWrt.org +# + +enable_console_login() { + local cons=$1 + local initline="$cons::askfirst:/bin/ash --login" + + grep -qs "^$initline" /etc/inittab || { + echo "$initline" >> /etc/inittab + sync + kill -HUP 1 + } +} + +inittab_console_fixup() { + for cons in ttyS0 ttyATH0; do + grep -qs "console=$cons" /proc/cmdline && { + enable_console_login $cons + } + done +} + +inittab_console_fixup |