Quote:
Originally Posted by pan64
here is a quick explanation on how the boot process works: https://en.wikipedia.org/wiki/Linux_startup_process
I think you mixed the 32bit/64bit environments (probably some kernel modules?) but we should know much more about partitions and installations to be able to give you further help
|
Booting UP works fine. It's booting DOWN that fails. Do you have any documentation on THAT?
I know that kernel syscall reboot(2) needs to be called. I suspect that /sbin/shutdown should be making this call and for some reason is not doing so. Could it be waiting for something that isn't happening?
Ctrl+Alt+SysRq+b does work, so the kernel can at least do that much. Ctrl+C echos a "^C". Ctrl+Alt+Del causes the string "shutdown: warning: cannot open /var/run/shutdown.pid" to be output. So this suggests to me that userland is still up.
OTOH, if I do "reboot -f" it just freezes. Then Ctrl+C does nothing and Ctrl+Alt+Del does nothing. But Ctrl+Alt+SysRq+b still works.
Edit:
I was wrong about the reboot(2) call. I edited the /etc/rc.d/rc.6 script and where it invokes "/sbin/reboot", I made it invoke "/sbin/strace -ftt /sbin/reboot" (I copied /usr/bin/strace to /sbin/strace to be sure it was available). It showed that reboot(LINUX_REBOOT_MAGIC1, LINUX REBOOT_MAGIC2, LINUX_REBOOT_CMD_RESTART) was being called. So it is the kernel that is hanging on this.
I'm going to change this script to do "echo b > /proc/sysrq-trigger" instead of /sbin/reboot. Maybe that will work better (if /proc is still mounted).
Edit2:
The "echo b > /proc/sysrq-trigger" works (so /proc was still mounted OK).