CentOSのカーネルはRPM形式で配布されています。RPM形式のファイルに対して、パッチを当てるためには、リビルドをする環境が必要になります。リビルドをするには、SRPM(source RPM)をダウンロードする必要があります。
###1.対象のバージョンのkernerl RPMのSRPMをダウンロード
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)」