CentOS 5.3をAmazon EC2上に構築した場合、何点かのエラーが発生し対処する必要がある。
・loopデバイスが無い → Xen用のカーネルモジュールに入れ替え
・iptablesが使えない → Xen用のカーネルモジュールに入れ替え
・glibc互換モードの警告 → glibcの再構築
・tty2〜tty6が無い警告 → 仮想端末を作らない暫定対処
上の2つは過去の記事で解決済みなので、この記事では下の2つの対処をする。
■ glibcが互換モードで動作している警告への対処
CentOS起動後、/var/log/messagesに次のようなエラーが記録されているはず。
kernel: ***************************************************************
kernel: ** WARNING: Currently emulating unsupported memory accesses **
kernel: ** in /lib/tls glibc libraries. The emulation is **
kernel: ** slow. To ensure full performance you should **
kernel: ** install a 'xen-friendly' (nosegneg) version of **
kernel: ** the library, or disable tls support by executing **
kernel: ** the following as root: **
kernel: ** mv /lib/tls /lib/tls.disabled **
kernel: ** Offending process: init (pid=1) **
kernel: ***************************************************************
丁寧に、解決方法もメッセージに含まれていて、glibcの再構築か、TLSを切るかのどちらかということらしい。
Googleで同様の事例を検索すると… 『 EC2上にCentOS5.3をインストールする 』に同じ事例が書かれている。 この事例に習い、glibcを再構築する。
この手順は全て『 MathWiki : Xen Specific Glibc 』に書かれている通り行えばよい。
[root@domU ~]# useradd mockbuild
[root@domU ~]# cd /mnt
[root@domU mnt]# wget http://mirror.centos.org/centos/5.3/os/SRPMS/glibc-2.5-34.src.rpm
[root@domU mnt]# mkdir /usr/src/redhat
[root@domU mnt]# mkdir /usr/src/redhat/SOURCES
[root@domU mnt]# rpm -ivh glibc-2.5-34.src.rpm
[root@domU mnt]# vi /usr/src/redhat/SPECS/glibc.spec
※ 書き換え前
%ifarch %{ix86}
BuildFlags="-march=%{_target_cpu} -mtune=generic"
↓
※ 書き換え後
%ifarch %{ix86}
BuildFlags="-mno-tls-direct-seg-refs -march=%{_target_cpu}"
[root@domU mnt]# yum install gcc gcc-c++ rpm-build
[root@domU mnt]# yum install gd-devel libpng-devel zlib-devel texinfo libselinux-devel audit-libs-devel libcap-devel
[root@domU mnt]# rpmbuild -ba /usr/src/redhat/SPECS/glibc.spec
※ ビルドが終了するまで90分程度
[root@domU mnt]# rpm -Uvh --force /usr/src/redhat/SRPMS/*
[root@domU mnt]# rpm -Uvh --force /usr/src/redhat/RPMS/i386/*
[root@domU mnt]# userdel mockbuild
■ tty2〜tty6が無い警告への対処
また今度書きます…
■ 参考にしたホームページ
・MathWiki : Xen Specific Glibc
・glibcのリビルド 4 Xen
・EC2上にCentOS5.3をインストールする