ウェブサイト検索

Debian でカーネルをインストールしてコンパイルする方法


Linux を使用する最大の魅力の 1 つはカスタマイズが簡単なことであり、カスタマイズするのが最も楽しいものの 1 つは、Linux オペレーティング システムの中心であるカーネル 自体です。

おそらく、独自のカーネルをコンパイルする必要はほとんどないでしょう。通常、ディストリビューションに同梱され、パッケージ管理システム経由で更新されるもので十分ですが、場合によってはカーネルの再コンパイルが必要になる場合があります。

これらの理由としては、特殊なハードウェアが必要であること、モジュール化されたカーネルではなくモノリシック カーネルを作成したいこと、不要なドライバーを削除してカーネルを最適化すること、開発カーネルを実行すること、または単純に Linux についてさらに学ぶことが考えられます。

この場合、グラフィック カード用の新しいドライバーなどのいくつかの新機能が含まれ、ファイル システムに大幅な改善が加えられた、新しくリリースされたカーネルを Debian システム上でコンパイルします。

Debian でカーネルをコンパイルする方法

始めるには、 いくつかのパッケージ、 つまりビルド必須カーネルヘッダーが必要です。

sudo apt update
sudo apt install build-essential linux-headers-$(uname -r)

次に、公式カーネル Web サイトにアクセスして、目的のカーネル バージョンをダウンロードします。あるいは、次のコマンドを使用してソースを直接ダウンロードすることもできます。

wget https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.7.tar.xz
tar -xvf linux-6.7.tar.xz
cd linux-6.7/

次に、カーネルを構成する必要があります。現在使用している構成から始めて、それを基にして構築することをお勧めします。これを実現するには、既存の設定を /boot ディレクトリから現在の作業ディレクトリにコピーし、.config として保存します。

cp /boot/config-`uname -r` .config

実際の構成プロセスを開始するには、2 つのオプションのいずれかがあります。

  1. X11 がインストールされている場合は、make xconfig を実行すると、カーネルの設定を支援する優れた GUI メニューが表示されます。 です。
  2. CLI 環境で実行している場合は、make menuconfig を実行できますが、これを使用するには libncurses5-dev パッケージがインストールされている必要があります。

cli 環境を使用する場合は、必ずlibncurses5-dev パッケージをインストールして、図に示すようにカーネル構成プロセスを開始してください。

apt install libncurses5-dev
make menuconfig

ご覧のとおり、選択した構成に入ると、カーネルに使用できるさまざまなオプションが大量にあります。実際、このチュートリアルの範囲には多すぎます。

カーネル オプションを選択するときは、試行錯誤し、たくさんのグーグル検索をして学習するのが最善の方法です。 カーネルを最新バージョンに更新したいだけの場合は、何も変更する必要はなく、「設定を保存」を選択するだけです。現在のカーネルの設定ファイルを新しいカーネルの .config ファイルにコピーしたためです。

ロード可能なモジュールのサポート」で「カーネル モジュール ローダー」が選択されていることに注意してください。そうでなく、カーネル モジュールを使用している場合は、事態が非常に混乱する可能性があります。

次に、次のコマンドを使用してカーネル コンパイル プロセスを開始します。これにより、カーネルがコンパイルされ、モジュールがインストールされ、必要なファイルがブート ディレクトリにコピーされます。

make
make modules_install
make install

インストールしたら再起動し、GRUBメニューから新しいカーネルを選択するだけです。

問題のトラブルシューティングができるように、起動プロセス中のエラー メッセージに細心の注意を払ってください。

Debian で新しいカーネル バージョンを確認するには、ターミナルで次のコマンドを使用できます。

uname -r

インストールされているカーネルのリストを表示したい場合は、/boot ディレクトリの内容を確認できます。

ls /boot

Debian で古いカーネルを削除する

Debian で古いカーネルを削除するには、まず dpkg コマンドを使用して、インストールされているカーネルを一覧表示し、削除するカーネルを特定する必要があります。

dpkg --list | grep linux-image

古いカーネルを削除するには、次の apt コマンドを使用します。linux-image-OLD_VERSION を削除するカーネルのバージョン番号に置き換えてください。

sudo apt purge linux-image-OLD_VERSION

古いカーネルを削除した後、GRUB を更新して変更を反映します。

update-grub

結論として、Debian でカーネルをコンパイルすることは、ユーザーがオペレーティング システムを特定のニーズに合わせて調整し、最新の機能と最適化を組み込むことができる貴重なスキルです。