ホームページ  >  記事  >  運用・保守  >  CentOS でソース コードから新しいバージョンのカーネルをコンパイルしてインストールする方法

CentOS でソース コードから新しいバージョンのカーネルをコンパイルしてインストールする方法

WJ
WJオリジナル
2020-06-06 17:14:272399ブラウズ

CentOS でソース コードから新しいバージョンのカーネルをコンパイルしてインストールする方法

CentOS でソース コードから新しいバージョンのカーネルをコンパイルしてインストールするにはどうすればよいですか?

職場では、新しい技術ソリューションを使用する必要があるため、新しい機能をサポートするために新しいバージョンのカーネルが必要になることがよくありますが、CentOS システムに付属のカーネル バージョンは一般に古いものです。システム カーネルをアップグレードし、新しいバージョンのカーネルをインストールする必要があります。ここでは、CentOS 7 システムを例として、カーネルの最新バージョンをコンパイルしてインストールするプロセスを次のように要約します:

1. カーネル ソース コード パッケージの最新の安定バージョンをダウンロードします。 /usr/local/ src にコピーし、現在のディレクトリ

CentOS でソース コードから新しいバージョンのカーネルをコンパイルしてインストールする方法

##2 に抽出します。カーネル ソース パッケージ

CentOS でソース コードから新しいバージョンのカーネルをコンパイルしてインストールする方法

#3. カーネル コンパイル構成設定ファイルの既存のバージョンを /boot ディレクトリから次の場所にコピーします。新しいカーネル ソース コードの解凍ディレクトリを作成し、その名前を変更します .config

[root@localhost src]# cd linux-5.2.11
[root@localhost linux-5.2.11]# cp /boot/config-3.10.0-957.el7.x86_64 ./.config

の隠しファイルについては、ブート ディレクトリから元のカーネル設定ファイルをコピーするのが主に便宜上の目的です。このファイルには、インストールされたモジュール設定情報が保存されますシステムのインストール時にカーネルによって実行されます (それ以外の場合は、各モジュールのコンパイル構成を手動で再インストールする必要があります)。

4. 依存関係パッケージをインストールします

開発ツール パッケージ グループをインストールします

[root@localhost linux-5.2.11]# yum -y groupinstall "development tools"

ncurse-devel パッケージをインストールします (menuconfig テキスト インターフェイス ウィンドウの依存関係パッケージを作成します)

[root@localhost linux-5.2.11]# yum -y install ncurses-devel

5. make menuconfig を実行し、テキスト インターフェイスのコンパイル オプション メニュー ウィンドウを開きます。コンパイルされたカーネル名の変更や新しいモジュールの追加など、カーネルによってロードされるモジュール コンパイル オプションを調整できます。以前のシステムにはありませんでした。お待ちください。

カーネル名を変更します:

General setup --->local version -append to kernel release

ここでカーネル名を

5.2.11-001.el7.x86_64

# に変更します。

CentOS でソース コードから新しいバージョンのカーネルをコンパイルしてインストールする方法#新しく追加された NTFS ファイル システム サポート モジュール:

ファイル システム --->DOS/FAT/NT ファイルシステム --->NTFS ファイル システム サポート

CentOS でソース コードから新しいバージョンのカーネルをコンパイルしてインストールする方法モジュールモード (M オプション) でコンパイルすることをお勧めします。 (* 記号は静的にコンパイルされ、カーネル ファイルにパッケージ化されます。新しく追加されたモジュールが増えると、カーネル ファイルのサイズが増加します)

#6. カーネルをコンパイルします

[root@localhost linux-5.2.11]# make -j 4  #根据CPU核数开启多线程编译以加快编译速度

長いコンパイル プロセスを開始します。これには、CPU ハードウェアのパフォーマンスに応じて、約 1 ~ 2 時間かかります。 CentOS でソース コードから新しいバージョンのカーネルをコンパイルしてインストールする方法

コンパイルの開始時にエラーが表示された場合は、対応するコンポーネント パッケージを事前にインストールする必要がある場合があります。たとえば、次のとおりです。

[root@localhost linux-5.2.11]# yum -y install openssh-devel elfutils-libelf-devel bc

対応するエラー プロンプトに従って、対応するコンポーネントをインストールします。パッケージはyumモードであり、一部のコンポーネントパッケージはepelソース内にあるため、epelソースウェアハウスを事前に構成する必要があります。

7. モジュールのコンパイルとインストール

コンパイルが完了したら、make modules_install を実行してカーネル モジュールをインストールします

[root@localhost linux-5.2.11]# make modules_install

8カーネル コア ファイルをインストールします

[root@localhost linux-5.2.11]# make install
reboot

新しいバージョンのカーネルをデフォルトの起動カーネルとして設定する必要がある場合は、このコマンド

grub2-set-default 0  #0表示 /boot/grub2/grub.cfg 文件中排在第一位的 menuentry 段
# を使用できます。 ##システムの再起動後、カーネルのバージョンを確認してください。最新バージョンは 5.2.11

[root@localhost ~]# uname -r
5.2.11-001.el7.x86_64

です。この時点で、カーネルのコンパイルとインストールのプロセス全体が完了しました。

関連資料:

centOS チュートリアル

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

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