Fedora10でカーネルの再構築

rpmbuild系。

atmarkit Linux TIPS

http://www.atmarkit.co.jp/flinux/rensai/linuxtips/a113rebuild.html

cent5にてパッケージが存在するかどうかを確認したらとりあえずそろっていた。

以下、キーワードの抜粋だけ

#yum install rpmdevtools yum-utils
(redhat-rpm-configもDLされる)

[root@cent5-19 ~]# rpm -qf /usr/bin/rpmdev-setuptree 
rpmdevtools-5.3-2.el5
[root@cent5-19 ~]# which yumdownloader
/usr/bin/yumdownloader
[root@cent5-19 ~]# rpm -qf /usr/bin/yumdownloader
yum-utils-1.1.10-9.el5.centos

$rpmdev-setuptreeにて、カレントディレクトリ配下に作業エリアrpmbuild/ができる

$yumdownloader --source kernel

これをCentOSでやるとこうなる

[root@cent5-19 ~]# yumdownloader --source kernel
Loading "fastestmirror" plugin
Loading mirror speeds from cached hostfile
 * epel: ftp.riken.jp
 * rpmforge: apt.sw.be
 * base: www.ftp.ne.jp
 * updates: www.ftp.ne.jp
 * addons: www.ftp.ne.jp
 * extras: www.ftp.ne.jp
Enabling epel-source repository
epel-source               100% |=========================| 1.9 kB    00:00     
primary.sqlite.bz2        100% |=========================| 662 kB    00:00     
No source RPM found for kernel - 2.6.18-92.1.6.el5.i686
No source RPM found for kernel - 2.6.18-92.1.18.el5.i686
No source RPM found for kernel - 2.6.18-92.el5.i686
No source RPM found for kernel - 2.6.18-92.1.10.el5.i686
No source RPM found for kernel - 2.6.18-92.1.13.el5.i686
No source RPM found for kernel - 2.6.18-92.1.1.el5.i686
No source RPM found for kernel - 2.6.18-92.1.22.el5.i686
No source RPM found for kernel - 2.6.18-92.1.17.el5.i686
Nothing to download
[root@cent5-19 ~]# 

つまり、src.rpmが存在しないのね

この時点でCentOS脱落(笑

kernel-2.xx-xx.src.rpm
がDLされるはず(どこに? カレントに?)

# yum-builddep kernel-2.xx.xx.src.rpm < dep解決に必要なパッケージをDL?

$ rpm -Uvh kernel-2.xx.xx.src.rpm

これにて、rpmdev-setuptreeコマンドにて作成されたtree配下に
カーネルソースが展開される

$ cd ~/rpmbuild/SPECS
$ rpmbuild -bp --target=`uname -m` kernel.spec

$cd ~/rpmbuild/BUILD/kernel-xx.xx/linux-xx.xx.i686
$cp configs/kernel-xx.xx.config .config
$make oldconfig

$make menuconfig

$cd ~/rpmbuild/SPECS
vi kernel.spec %define buildid .local を %define buildid .20090202

$rpmbuild -bb -target=`uname -m` kernel.spec

$pwd ~/rpmbuild/RPMS/i686
$su
#rpm -ivh kernel-xx.xx.090202.xx.xx.rpm

でインストール -Uvhではだめらしい。(なんで