私は/boot
「根」です。config-2.6.32-431.el6.x86_46
私の名前を修正して追加しました。CONFIG_LOCALVERSION="John"
ただし、入力するとuname -r
バージョンのみが表示され、最後に私の名前は表示されません。無効な設定ファイルを編集しましたか?
答え1
編集中のファイルは、単にカーネルがコンパイルされたときの設定履歴です。ここで変更する唯一の方法は、新しいカーネルをコンパイルするためにシステムを準備し、ファイルをカーネル/boot
ソースツリーにコピーして、コンパイル中にカーネルオプションとして使用できるようにすることです。
構成ファイルはカーネルを構築する方法を決定し、いくつかのオプション(CONFIG_LOCALVERSION
たとえば、.現在の構成の最初の行は次のようになります)。
CONFIG_64BIT=y
これはカーネルビルドプロセスに64ビットシステム用にコンパイルするように指示します。ファイルを見ると、ロード可能なモジュール()でビルドできるドライバを有効(y
)または無効()にするためのいくつかのn
オプションが表示されますm
。
したがって、このファイルはカーネルには存在せず、ビルド時にカーネルを定義します。それ以上も以下でもない。カーネルがコンパイルされると、このファイルは効果的に重複します。/boot
後で各オプションを経ずにその値を最初から決定することなく、同様のカーネルを再構築できるように保存されます。私の現在の設定ファイルには、次から始まる4448行がありますCONFIG
。各行を決定するのはかなり難しく、エラーが発生しやすい。代わりに、このファイルをカーネルビルドツリーにコピーして変更する必要があるいくつかの設定を変更してから、カーネルを再構築することができます。
コンパイル時にハードコードされるのでCONFIG_LOCALVERSION
変更できません。 commandを介してのみ読み取ることがuname
できます。またはg4ur4vが言ったように、procファイルシステムから読み取ることができます/proc/sys/kernel
。
答え2
uname -r
からデータを取得します/proc/sys/kernel/osrelease
。
このファイルは変更できません。
/boot
新しいカーネルをコンパイルしようとしたときに使用されるため、ファイルを変更しても実行中のカーネルには影響しません。