CentOS 5.9 (6.xもいけるはず)kernel source full install (別解編)
Centos6.3 kernel build ..
http://d.hatena.ne.jp/toshi_hirasawa/20130306/1362549359
とは違うやり方でカーネルのフルソースのインストールをためしてみる
ここでは、centos5.9でやっているが、6.x(未確認)でもイケるはず
http://wiki.centos.org/HowTos/I_need_the_Kernel_Source
と
http://www.hakodate-ct.ac.jp/~tokai/tokai/research/kmod.html
を参考にさせていただきました。
# yum install rpmdevtools yum-utils
を叩いた後に 一般ユーザとなり
$cd rpmdev-setuptree
と叩くと次のようにtreeを自動作成とか面倒をみてくれるはず(ありがたやー)
[hirasawa@cent5-64b-40 ~]$ cd rpmbuild/ [hirasawa@cent5-64b-40 rpmbuild]$ ls -ltr 合計 40 drwxrwxr-x 2 hirasawa hirasawa 4096 6月 12 13:06 SRPMS drwxrwxr-x 2 hirasawa hirasawa 4096 6月 12 13:06 RPMS drwxrwxr-x 2 hirasawa hirasawa 4096 6月 12 17:28 SPECS drwxrwxr-x 2 hirasawa hirasawa 4096 6月 12 17:28 SOURCES drwxrwxr-x 3 hirasawa hirasawa 4096 6月 12 17:32 BUILD [hirasawa@cent5-64b-40 rpmbuild]$
rootで作業する
5.9の場合は
# yum install rpm-build redhat-rpm-config unifdef
6.xの場合は
# yum install rpm-build redhat-rpm-config asciidoc hmaccalc perl-ExtUtils-Embed xmlto # yum install binutils-devel elfutils-libelf-devel newt-devel python-devel zlib-devel
つづいて、一般ユーザとなって
$ rpm -i http://vault.centos.org/5.9/updates/SRPMS/kernel-2.6.18-348.6.1.el5.src.rpm 2>&1 | grep -v mock $ cd ~/rpmbuild/SPECS [SPECS]$ rpmbuild -bp --target=$(uname -m) kernel.spec
以上で、~/rpmbuild/BUILD/配下にソースが展開される。
あとは好みで長すぎるディレクトリ名をシンボリックリンクで短くするとか
実例としてはこんな感じ
[root@cent5-64b-40 kernel-2.6.18]# pwd /home/hirasawa/rpmbuild/BUILD/kernel-2.6.18 [root@cent5-64b-40 kernel-2.6.18]# ls -ltr 合計 44 drwxr-xr-x 19 hirasawa hirasawa 4096 11月 30 2006 vanilla-2.6.18.4 drwxr-xr-x 2 hirasawa hirasawa 4096 12月 7 2007 config drwxr-xr-x 8 hirasawa hirasawa 4096 12月 7 2007 xen -rw-r--r-- 1 hirasawa hirasawa 3161 6月 12 17:34 Config.mk lrwxrwxrwx 1 hirasawa hirasawa 31 6月 12 17:54 linux -> linux-2.6.18-348.6.1.el5.x86_64 drwxr-xr-x 23 hirasawa hirasawa 4096 6月 12 18:42 linux-2.6.18-348.6.1.el5.x86_64 [root@cent5-64b-40 kernel-2.6.18]# cd linux [root@cent5-64b-40 linux]# pwd /home/hirasawa/rpmbuild/BUILD/kernel-2.6.18/linux [root@cent5-64b-40 linux]# ls COPYING Makefile System.map drivers kernel scripts vmlinux CREDITS Module.markers arch fs lib security Documentation Module.symvers block include mm sound Kbuild README configs init net tools MAINTAINERS REPORTING-BUGS crypto ipc samples usr [root@cent5-64b-40 linux]#
エラーとかワーニングを抑えるためにもここで一度makeしちまうのが吉(だとおもう)