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 | 
