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


Reichsarchiv ~世界帝王事典~
京極夏彦作品人名辞典