failsafe: run on all consoles listed in /proc/cmdline
[openwrt/staging/ansuel.git] / package / base-files / files / lib / preinit / 99_10_failsafe_login
1 # Copyright (C) 2006-2015 OpenWrt.org
2 # Copyright (C) 2010 Vertical Communications
3
4 failsafe_shell() {
5 local consoles="$(sed -e 's/ /\n/g' /proc/cmdline | grep '^console=' | sed -e 's/^console=//' -e 's/,.*//')"
6 [ -n "$consoles" ] || consoles=console
7 for console in $consoles; do
8 [ -c "/dev/$console" ] && while true; do
9 ash --login <"/dev/$console" >"/dev/$console" 2>"/dev/$console"
10 sleep 1
11 done &
12 done
13 }
14
15 boot_hook_add failsafe failsafe_shell