エンジニアと発達障害

メンタルヘルスやプログラミングについて書いていきます

CentOS カーネルパッチ適用の仕方(1/2)

CentOSカーネルRPM形式で配布されています。RPM形式のファイルに対して、パッチを当てるためには、リビルドをする環境が必要になります。リビルドをするには、SRPM(source RPM)をダウンロードする必要があります。

1.対象のバージョンのkernerl RPMSRPMをダウンロード

dnf download --source kernel-4.18.0-305.3.1.el8

もし、dnfでダウンロード可能なrepositryに指定したバージョンが存在していない場合、以下のURLからダウンロードしてください。 https://vault.centos.org/8.4.2105/BaseOS/Source/SPackages/kernel-4.18.0-305.3.1.el8.src.rpm

2.SRPMをインストール

rpm -ivh kernel-4.18.0-305.3.1.el8.src.rpm

SRPMをインストールすると、ソースファイルなどRPMビルド必要なデータが /root/rpmbuild 配下にインストールされます。

3.RPMをビルド

cd /root/rpmbuild/SPECS
rpmbuild -bb kernel.spec

ここでビルド依存性の失敗というエラーが出る場合があります。この場合、下記ページを参照してください。 CentOS RPMパッケージビルド手順

ビルドが完了すると、ビルドに使われたカーネルソースは、/root/rpmbuild/BUILD 以下に展開されています。そのカーネルソースに対して、パッチを適用していきます。

続きは次回 「CentOS カーネルパッチ適用の仕方(2/2)」