iii. LFS が対象とする CPU アーキテクチャ

LFS が対象としている CPU アーキテクチャは 32ビットインテル CPU が主となります。 LFS システムの構築に初めて取りかかる方は、おそらくこのアーキテクチャを用いることでしょう。 32ビットアーキテクチャは Linux システムが最も広くサポートしているもので、このアーキテクチャなら、オープンソースも製品ソフトウェアも互換性があります。

本書の作業手順は、多少の変更を加えれば Power PC や 64ビット AMD/インテル CPU でも動作することは検証されています。 その CPU を使ったシステムをビルドするには、これ以降の数ページで説明している条件以外に必要となることがあります。 LFS システムそのものや Ubuntu、Red Hat/Fedora、SuSE などのディストリビューションをホストとするわけですが、それは 64ビットシステムである必要があるということです。 ホストが 64ビット AMD/インテルによるシステムであったとしても 32ビットシステムは問題なくインストールできます。

64ビットシステムにて明らかなことをここに記しておきます。 32ビットシステムに比べると、実行プログラムのサイズは多少大きくなり、実行速度は若干速くなります。 例えば Core2Duo CPU をベースとするシステム上に、LFS 6.5 をビルドしてみたところ、以下のような情報が得られました。

アーキテクチャ ビルド時間     ビルドサイズ
32ビット       198.5 分       648 MB
64ビット       190.6 分       709 MB

ご存知かと思いますが 64ビットによってビルドを行っても、 32ビットのときのビルドに比べて 4% 早くなるだけで 9% は大きなものになります。 つまり 64ビットシステムによって得られることは比較的小さいということです。 もちろん 4GB 以上のRAM を利用していたり、4GB を超えるデータを取り扱いたいならば、 64ビットシステムを用いるメリットは大きいのは間違いありません。

LFS の手順に従って作り出す 64ビットシステムは、"純粋な" 64ビットシステムと言えます。 つまりそのシステムは 64ビット実行モジュールのみをサポートするということです。 "複数のライブラリ" によるシステムをビルドするのなら、多くのアプリケーションを二度ビルドしなければなりません。 一度は 32ビット用であり、一度は 64ビット用です。 現時点にて本書はこの点をサポートしませんが、後々のリリースに向けて検討中です。 さしあたりそのような応用的なトピックに関しては Cross Linux From Scratch プロジェクトを参照してください。

最後に 64ビットシステムについてもう一つ述べておきます。 パッケージの中には現時点にて "純粋な" 64ビットシステム上でビルドできないものがあり、あるいは特別なビルド手順を必要とするものがあります。 一般的に言えば、そのようなパッケージには 32ビット固有のアセンブリ言語の命令が含まれるからであり、 だから 64ビットシステムでのビルドに失敗するということです。 例としては Beyond Linux From Scratch (BLFS) にある Xorg ドライバの一部分などです。 このような問題はたいていは解消していくことができますが、中には特別なビルド手順やパッチを要するものとなるかもしれません。