99_10_failsafe_login 460 B

123456789101112131415
  1. # Copyright (C) 2006-2015 OpenWrt.org
  2. # Copyright (C) 2010 Vertical Communications
  3. failsafe_shell() {
  4. local consoles="$(sed -e 's/ /\n/g' /proc/cmdline | grep '^console=' | sed -e 's/^console=//' -e 's/,.*//')"
  5. [ -n "$consoles" ] || consoles=console
  6. for console in $consoles; do
  7. [ -c "/dev/$console" ] && while true; do
  8. ash --login <"/dev/$console" >"/dev/$console" 2>"/dev/$console"
  9. sleep 1
  10. done &
  11. done
  12. }
  13. boot_hook_add failsafe failsafe_shell