For some reason, my Linux machine will properly turn off when striking SysRq+O, but won't reboot as expected when doing SysRq+B.
Both of these ones show up in the help message (with SysRq+H) and all my SysRq options are enabled:
$ cat /proc/sys/kernel/sysrq
1
I use a 11-years-old machine (Intel Q9550 / ASUS P5E3, assembled by myself) that currently runs a Fedora 31
linux distribution, but the problems shows up at least since Fedora 25
. I first suspected the custom kernels from this distribution to be the cause, but it seems to occur with self-compiled genuine kernels too.
It also used to work in the past and with other distribs such as Knoppix, but I can't remember when it started to happen.
Nothing happens nor shows up when I do SysRq+B, neither on console nor dmesg log. Every other option (in particular, R, E, I or S) seems to be OK, and to produce log trafic. Does anybody know what could cause the reboot operation to be disabled ?
This leads my to a "secondary" question:
Inside the kernel source, at rows 447
and 469
of drivers/tty/sysrq.c
, I can see:
&sysrq_reboot_op, /* b */
…
/* o: This will often be registered as 'Off' at init time */
NULL, /* o */
So rebooting (which not currently works for me) is supposed to be always defined by default while turning off (which does work) is set to NULL, then defined at init time. I couldn't find which is this actor, nor at what exact time this powering off option is enabled. Could you help me on this too ?
Many thanks in advance for your help.
EDIT : lastest kernel at write time is 5.5.1
but the code quoted above belongs to 5.4.15
and older, and I'm running the Redhat's 5.4.15-200.fc31.x86_64
package.