カーネルコマンドラインに「panic = N」と入力すると、パニックのN秒後にシステムを再起動できます。
しかし、ブートローダーさえも登場する前に、(デフォルトのカーネルコマンドラインオプション以外の)これを指定する設定オプションはありますか?いくつかのカーネルオプションはありますか?
そのような設定オプションはないようです。デフォルトのタイムアウトは0で、これは http://www.mjmwired.net/kernel/Documentation/kernel-parameters.txt#1898 によると、「永久に待機」します。
オプションは kernel/panic.c で定義されています。初期値を別の値に設定するパッチを作成できます。
3秒後に再起動をハードコードするには、次のように変更します。
int panic_timeout;
に:
int panic_timeout = 3;
から man proc
:
/ proc/sys/kernel/panic
このファイルは、カーネル変数panic_timeoutへの読み取り/書き込みアクセスを提供します。これがゼロの場合、カーネルはパニックでループします。ゼロ以外の場合は、この秒数後にカーネルが自動再起動する必要があることを示します。ソフトウェアウォッチドッグデバイスドライバーを使用する場合、推奨設定は60です。
構成ファイルはブート(grub)構成ファイル自体です。これは、ブート時に呼び出されるパラメーターであり、ファイルシステムがマウントされていない間は、grubが他の構成ファイルから読み取ることが期待できないためです。
ただし、これは初期化された設定であるため、sysctl
を使用してランタイムを変更することもできます。したがって、基本的に/etc/sysctl.conf
パラメータkernel.panic = 3
は構成の更新です。
Linuxカーネルでは(3以上で見ました)、.config
にオプションがあります。 CONFIG_PANIC_TIMEOUT
はパラメーターで、デフォルトは0
です。これらのバージョンのLinuxカーネルでは、Lekensteynの回答も機能します。しかし、その変数は.config
からのみ取得しています。
int panic_timeout = CONFIG_PANIC_TIMEOUT;
LinuxカーネルはCONFIG_CMDLINE_BOOL
をサポートしています
ビルド時にカーネルへのブート引数を指定できるようにします。一部のシステム(組み込みシステムなど)では、カーネルブート引数の一部またはすべてをカーネル自体に提供する必要があります(つまり、ブートローダーに依存せずに提供します)。
この "ポータル"にもいくつかの例があります。 g。
設定オプションを追加する this パッチを使用できます。
最初に他の回答で情報をまとめます。この値は、sysctlを介してkernel/panic.cおよびrwで定義されています。ブートコマンドラインとして渡すことができます。
さらに言えば、 bootコマンドラインはコンパイル時にデフォルト値を設定できます です。