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 つのオプションのいずれかがあります。
- X11 がインストールされている場合は、
make xconfig
を実行すると、カーネルの設定を支援する優れた GUI メニューが表示されます。 です。 - 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 でカーネルをコンパイルすることは、ユーザーがオペレーティング システムを特定のニーズに合わせて調整し、最新の機能と最適化を組み込むことができる貴重なスキルです。