[[linuxカーネル再構築]]

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

開発環境をインストールして、最新にする。
#code(nonumber){{
[root@c108 ~]# yum groupinstall "Development Libraries" "Development Tools"
[root@c108 ~]# yum update
}}

カーネルソースを取得するツールとカーネル構築に必要な追加パッケージをインストールします。
#code(nonumber){{
[root@c108 ~]# yum install yum-utils gnupg unifdef
[root@c108 ~]#
}}

カーネル構築用のユーザ(rpmbuilder)を作成して、ソースを取得する。
#code(nonumber){{
[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)を展開して、パッチの適用を済ませる
#code(nonumber){{
[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 を実行する
#code(nonumber){{
[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