この章ではビルド環境に入って正式な LFS システムの構築作業を始めます。 chroot によって一時的なミニ Linux システムへ移行し、準備作業を行った上でパッケージ類のインストールを行っていきます。
パッケージ類のインストール作業は簡単なものです。 インストール手順の説明は、たいていは手短に一般的なものだけで済ますこともできます。 ただ誤りの可能性を極力減らすために、個々のインストール手順の説明は十分に行うことにします。 Linux システムがどのようにして動作しているかを学ぶには、個々のパッケージが何のために用いられていて、なぜユーザー (あるいはシステム) がそれを必要としているのかを知ることが重要になります。
コンパイラには最適化オプションがありますが、これを利用することはお勧めしません。
コンパイラの最適化を用いればプログラムが若干速くなる場合もありますが、そもそもコンパイルが出来なかったり、プログラムの実行時に問題が発生したりする場合があります。
もしコンパイラの最適化によってパッケージビルドが出来なかったら、最適化をなしにしてもう一度コンパイルすることで解決するかどうかを確認してください。
最適化を行ってパッケージがコンパイル出来たとしても、コードとビルドツールの複雑な関連に起因してコンパイルが適切に行われないリスクをはらんでいます。
また -march
オプションや -mtune
オプションにて指定する値は、本書には明示しておらずテストも行っていませんので注意してください。 これらはツールチェーンパッケージ
(Binutils、GCC、Glibc) に影響を及ぼすことがあります。
最適化オプションを用いることによって得られるものがあったとしても、それ以上にリスクを伴うことがしばしばです。 初めて LFS
構築を手がける方は、最適化オプションをなしにすることをお勧めします。
これ以降にビルドしていくツール類は、それでも十分に速く安定して動作するはずです。
本章にてインストールしていくパッケージ類のビルド順は、必ず本書どおりに行ってください。 プログラムはすべて /tools
ディレクトリを直接参照するような形でビルドしてはなりません。
また同じ理由でパッケージ類を同時並行でビルドしないでください。 特にデュアル CPU
マシンにおいて同時にビルドしていくと時間の節約を図ることができますが /tools
ディレクトリを直接参照するプログラムが出来上がってしまい、このディレクトリが存在しなくなった時にはプログラムが動作しないことになります。
各ページではインストール手順の説明よりも前に、パッケージの内容やそこに何が含まれているかを簡単に説明し、ビルドにどれくらいの時間を要するか、ビルド時に必要となるディスク容量はどれくらいかを示しています。 またインストール手順の最後には、パッケージがインストールするプログラムやライブラリの一覧を示し、それらがどのようなものかを簡単に説明しています。