kernel.sysrqの設定に関係なく、SysRqを常に有効にするにはどうすればよいですか?

kernel.sysrqの設定に関係なく、SysRqを常に有効にするにはどうすればよいですか?

一部のLinuxディストリビューションにはkernel.sysrq=16(同期)のみを許可するという意味があります。SysRq + s例: Fedora(25 および 28) は次のように設定されています。/usr/lib/sysctl.d/50-default.conf

できるだけ早く使用できるように/etc/sysctl.d/95-sysrq.conf手動で設定された場所にファイルを作成する必要があります(ただし、状況によっては十分に高速ではない可能性があります)。kernel.sysrq=1

$ grep -nHi sysrq /usr/lib/sysctl.d/* /etc/sysctl.d/*
/usr/lib/sysctl.d/50-default.conf:16:# Use kernel.sysrq = 1 to allow all keys.
/usr/lib/sysctl.d/50-default.conf:17:# See http://fedoraproject.org/wiki/QA/Sysrq for a list of values and keys.
/usr/lib/sysctl.d/50-default.conf:18:kernel.sysrq = 16
/etc/sysctl.d/95-sysrq.conf:1:kernel.sysrq=1

初期起動でSysrqを有効にしたり設定を無視したりする方法はありますかkernel.sysrqcat /proc/cmdlineたとえば、Grubブートメニュー(またはの行xen.cfg)にカーネルブートパラメータを追加するなどです(現在のエントリの場合)kernel=

答え1

sysrq_always_enabledカーネルブートパラメータに応じて文書:

sysrq_always_enabled
            [KNL]
            Ignore sysrq setting - this boot parameter will
            neutralize any effect of /proc/sys/kernel/sysrq.
            Useful for debugging.

kernel.sysctl=0カーネルブートパラメータを追加しても(上記の記事で述べたように)、Sysrqが動作しているか(例:ヘルプ、同期)テストしましたsysrq_always_enabled(注:必ずしもそうではありません)。sysrq_always_enabled=1)。 (再確認するためにSysrqが
ないときとないときに動作しないマップテストしました)kernel.sysctl=0sysrq_always_enabled/proc/cmdline
ソースコードこれも確認されました。

注:/proc/sys/kernel/sysrq読み取り/書き込みの別の方法です。kernel.sysrq

sysrq に関する追加情報:https://www.kernel.org/doc/html/v4.15/admin-guide/sysrq.html
sysrq_always_enabled言及されていないが、ここ)

編集する:sysrq_always_enabled適用されると、dmesg行があります。

[    0.000000] sysrq: sysrq always enabled.

関連情報