Kernel 2.6のカーネルコンフィグとコンパイル
日時:2010/02/20 16:14
今度は、OSのコアであるカーネルのコンパイル。そのためにはハードウェア環境を正確に知っておく必要がある。chroot前にも使ったlspciをchroot環境でも使えるように、あらためてインストールする。
menuconfigを起動するため、/usr/src/linuxに移動してmakeを実行。
プロセッサファミリの設定。
カーネルコンフィグが終わったら、コンパイル。
# emerge pciutils
# lspcilspciの結果をひかえておくなり、別のsshターミナルで表示しておくなりしておくと、menuconfigの際に便利だ。 次にカーネルソースをインストールする。
00:00.0 Host bridge: VIA Technologies, Inc. CN896/VN896/P4M900 Host Bridge
(中略)
80:01.0 Audio device: VIA Technologies, Inc. VT1708/A [Azalia HDAC] (VIA High Definition Audio Controller) (rev 10)
# emerge gentoo-sources/usr/src/linuxというシンボリックリンクが設定されるので、この時点では手動でシンボリックリンクを張る必要はない(今後新しいカーネルソースをインストールした際は、シンボリックリンクを張り直す必要がある)。
menuconfigを起動するため、/usr/src/linuxに移動してmakeを実行。
# cd /usr/src/linuxチップセットやHDD、NICのサポートを有効化すること、不要な機能を極力削ることが基本。Gentoo Handbookには、以下の項目を必須として挙げている。
# make menuconfig
プロセッサファミリの設定。
Processor type and features --->ファイルシステム関係。
Processor family --->
File systems --->マルチプロセッササポート。マルチコア化でSMPも身近になったものだ。
Pseudo Filesystems --->
[*] /proc file system support
[*] Virtual memory file system support (former shm fs)
<*> Ext3 journalling file system support
Processor type and features --->Gentoo Handbookには、ほかにもUSBやPCMCIAサポートの説明があるが、このサーバではUSBもPCMCIAも使わないので無視した。
[*] Symmetric multi-processing support
カーネルコンフィグが終わったら、コンパイル。
# make && make modules_install生成されたカーネルイメージを/bootにコピーする。
# cp arch/i386/boot/bzImage /boot/kernel-2.6.31-gentoo-r6以上でカーネルのコンパイルは完了。