ホームページ >運用・保守 >Linuxの運用と保守 >Linuxカーネルをコンパイルする方法

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

angryTom
angryTomオリジナル
2019-11-06 10:58:403673ブラウズ

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

#Linux 用カーネルをコンパイルする方法

#カーネルをダウンロード

最初に行うことは、カーネル ソース コードをダウンロードすることです。 Kernel.org で、ダウンロードする必要なカーネルの URL を見つけます。 URL を見つけたら、次のコマンド (例として 4.17 RC2 カーネルを使用します) を使用して、ソース コード ファイルをダウンロードします。

wget https://git.kernel.org/torvalds/t/linux-4.17-rc2.tar.gz

必要な環境をインストールします

カーネルをコンパイルするには、まず必要な環境をいくつかインストールする必要があります。これは 1 つのコマンドで実行できます。

sudo apt-get install git fakeroot build-essential ncurses-dev xz-utils libssl-dev bc flex libelf-dev bison

注意してください。カーネルのコンパイル プロセスを完了するには、少なくとも 128GB のローカル空きディスク領域が必要です。したがって、十分なスペースがあることを確認する必要があります。

ソース コードを解凍します

新しくダウンロードしたカーネルが配置されているフォルダーで、次のコマンドを使用してカーネルを解凍します。 command

cd linux-4.17-rc2

新しく生成されたフォルダーを入力します。

カーネルの構成

カーネルを正式にコンパイルする前に、最初にどのモジュールを含める必要があるかを構成する必要があります。実は、非常に簡単な設定方法がいくつかあります。 1 つのコマンドを使用して、現在のカーネル構成ファイルをコピーし、信頼性の高い menuconfig コマンドを使用して必要な変更を加えることができます。次のコマンドを使用して完了します。

tar xvzf linux-4.17-rc2.tar.gz

構成ファイルが作成できたので、コマンド

make menuconfig

を入力します。このコマンドにより構成ツールが開き、利用可能な各モジュールを繰り返し処理し、必要なモジュールまたは不要なモジュールを有効または無効にすることができます。

カーネルの重要な部分を無効にする可能性が高いため、menuconfig では段階的に慎重に作業を進めてください。オプションがわからない場合は、そのままにしておいてください。あるいは、現在実行中のカーネルの構成ファイルのコピーを使用することをお勧めします (カーネルが機能することがわかっているため)。構成リスト全体 (非常に長い) を確認したら、コンパイルを開始する準備が整います。

コンパイルとインストール

次に、カーネルを実際にコンパイルします。最初のステップは、make コマンドを使用してコンパイルすることです。 make コマンドを呼び出して、必要な質問に答えます。これらの質問は、アップグレードする既存のカーネルとアップグレードされたカーネルによって異なります。

長い質問に答えた後、次のコマンドを使用して、以前に有効にしたモジュールをインストールできます:

cp /boot/config-$(uname -r) .config

このコマンドには時間がかかります。

ここで、次のコマンドを使用してカーネルをインストールします:

make modules_install

もう一度、かなりの時間がかかるコマンドを使用します。実際、make install コマンドは make modules_install コマンドよりも時間がかかります。

カーネルをブートとして有効にする

make install コマンドが完了したら、カーネルをブートとして有効にします。次のコマンドを使用して次のことを実現します。

sudo make install

もちろん、上記のカーネル バージョン番号をコンパイルしたものに置き換える必要があります。コマンドが完了したら、次のコマンドを使用して grub を更新します。

sudo update-initramfs -c -k 4.17-rc2

これで、システムを再起動し、新しくインストールされたカーネルを選択できます。

推奨:

Linux 使用法チュートリアル

以上がLinuxカーネルをコンパイルする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

関連記事

続きを見る