CentOSの特定のバージョンのカーネルソースを比較したときのメモ
RPMディレクトリ作成
eval echo "%_topdir ~/rpm" > ~/.rpmmacros mkdir -p ~/rpm/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
SRPMをダウンロード
wget http://ftp.iij.ad.jp/pub/linux/centos/5.6/updates/SRPMS/kernel-2.6.18-238.12.1.el5.src.rpm wget http://vault.centos.org/5.5/updates/SRPMS/kernel-2.6.18-194.11.1.el5.src.rpm
※URLは適当に探してくる
SRPMのインストール
rpm -ivh kernel-2.6.18-194.11.1.el5.src.rpm
RPMを %prep 段階まで作成(ソースの展開からパッチまで)
rpmbuild -bp --target x86_64 ~/rpm/SPECS/kernel-2.6.spec
出来上がったカーネルソースをリネームしておく
mv ~/rpm/BUILD/kernel-2.6.18/ ~/rpm/BUILD/kernel-2.6.18-194.11.1.el5/
別バージョンのカーネルソースも同じ様に作成
rpm -ivh kernel-2.6.18-238.12.1.el5.src.rpm rpmbuild -bp --target x86_64 ~/rpm/SPECS/kernel-2.6.spec mv ~/rpm/BUILD/kernel-2.6.18/ ~/rpm/BUILD/kernel-2.6.18-238.12.1.el5/
比較してみる
(cd ~/rpm/BUILD/ && diff -rq \ kernel-2.6.18-194.11.1.el5/linux-2.6.18.x86_64/ \ kernel-2.6.18-238.12.1.el5/linux-2.6.18.x86_64/ ) (cd ~/rpm/BUILD/ && diff -u \ kernel-2.6.18-194.11.1.el5/linux-2.6.18.x86_64/xxx/yyy/zzz.c \ kernel-2.6.18-238.12.1.el5/linux-2.6.18.x86_64/xxx/yyy/zzz.c )