linuxカーネル再構築

CentOS5.xのマシンでufsなファイルシステムをmountする必要が出てきた。
CentOS5ではufsはサポートされていないので、既存のカーネルのままufs.koを作る事にした。

開発環境をインストールして、最新にする。

[root@c108 ~]# yum groupinstall "Development Libraries" "Development Tools"
[root@c108 ~]# yum update

カーネルソースを取得するツールとカーネル構築に必要な追加パッケージをインストールします。

[root@c108 ~]# yum install yum-utils gnupg unifdef
[root@c108 ~]#

カーネル構築用のユーザ(rpmbuilder)を作成して、ソースを取得する。

[root@c108 ~]# useradd -r -m rpmbuilder
[root@c108 ~]# su - rpmbuilder
 
[rpmbuilder@c108 ~]$ mkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
[rpmbuilder@c108 ~]$ echo '%_topdir %(echo $HOME)/rpmbuild' > ~/.rpmmacros
 
[rpmbuilder@c108 ~]$ yumdownloader --source kernel
 
[rpmbuilder@c108 ~]$ ls -l
合計 66644
-rw-rw-r-- 1 rpmbuilder rpmbuilder 68155255  1月 20 05:04 kernel-2.6.18-408.el5.src.rpm
drwxrwxr-x 7 rpmbuilder rpmbuilder     4096  3月  5 17:40 rpmbuild
[rpmbuilder@c108 ~]$

次に、ソース(kernel-2.6.18-408.el5.src.rpm)を展開して、パッチの適用を済ませる

[rpmbuilder@c108 ~]$ rpm -Uvh kernel-2.6.18-408.el5.src.rpm
[rpmbuilder@c108 ~]$ rpmbuild -bp --target x86_64 rpmbuild/SPECS/kernel.spec

これでお膳立ては済んで、必要なカーネルモジュールを有効にするために make menuconfig を実行する

[rpmbuilder@c108 ~]$ cd rpmbuild/BUILD/kernel-2.6.18/linux-2.6.18-408.el5.x86_64
 
[rpmbuilder@c108 linux-2.6.18-408.el5.x86_64]$ make menuconfig

目的の ufs.ko は、「File systems」->「Miscellaneous filesystems」の「UFS file system support」を有効にする。


トップ     ヘルプ   最終更新のRSS