--- rc.sysinit.orig 2005-10-07 16:27:33 +0400 +++ rc.sysinit 2006-04-28 18:05:53 +0400 @@ -286,18 +286,35 @@ if ! /etc/rc.d/scripts/raidstart; then echo echo - echo "*** An error occurred during the RAID startup" - echo "*** Dropping you to a shell; the system will reboot" - echo "*** when you leave the shell." + echo "*** An error occurred during the RAID startup:" + stop= + if grep -iqws 'onraiderror=ignore' /proc/cmdline; then + echo + echo "TRY TO CONTINUE NORMAL STARTUP" + echo + elif grep -iqws 'onraiderror=stop' /proc/cmdline; then + stop=1 + else + echo "*** - Press ENTER for dropping you to a shell;" + echo "*** the system will reboot when you leave the shell." + echo "*** - Or wait 60 seconds for trying to continue normal startup." + read -t 60 && stop=1 + fi - PS1="(RAID Repair) \# # "; export PS1 - sulogin + if [ -n "$stop" ]; then + echo + echo "DROP TO SHELL, REBOOT WHEN YOU LEAVE THE SHELL..." + echo + PS1="(RAID Repair) \# # "; export PS1 + sulogin - echo "Unmounting file systems" - umount -arnf - mount -n -o remount,ro / - echo "Automatic reboot in progress." - reboot -f + echo "Unmounting file systems" + umount -arnf + mount -n -o remount,ro / + echo "Automatic reboot in progress." + reboot -f + sulogin_reboot + fi fi fi