1. SRPMを入手
YUMの場合
$ sudo yum install yum-utils
$ yumdownloader --source kernel
DNFの場合
$ dnf download --source kernel
RedHatカスタマーポータルサイトからダウンロード
RHELサイトにアカウントがある場合はログインしてsrc.rpmをダウンロードする方法もある。
https://access.redhat.com/
ダウンロード > RPM パッケージ検索 > [kernel]を検索 > Source Package - kernel-*.src.rpm をダウンロード。
2. SRPMの展開
インストールと同じ。
$ rpm -ivh kernel.src.rpm
ホームディレクトリにrpmbuildというディレクトリが作成され、その中にSPECSとSOURCESが展開されるはずだが、気になる場合は以下で確認できる。
$ rpm --showrc | grep _topdir
-13: _builddir %{_topdir}/BUILD
-13: _buildrootdir %{_topdir}/BUILDROOT
-13: _rpmdir %{_topdir}/RPMS
-13: _sourcedir %{_topdir}/SOURCES
-13: _specdir %{_topdir}/SPECS
-13: _srcrpmdir %{_topdir}/SRPMS
-13: _topdir %{getenv:HOME}/rpmbuild
3. SPECSフォルダに移動
$ cd ${HOME}/rpmbuild/SPCES
4. rpmbuildコマンドを使ってソース展開とパッチ適用
$ rpmbuild -bp kernel.spec
pathfix.py command not found
のエラーが出る場合は以下パッケージをインストールで解決するかも。
RHEL8の場合:yum install platform-python-devel
RHEL9の場合:yum install python3-devel
${HOME}/rpmbuild/SOURCES 配下のソースをVSCodeなどで確認する。