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 をビルドしてみたところ、以下のような情報が得られました。

Architecture Build Time     Build Size
32-bit       198.5 minutes  648 MB
64-bit       190.6 minutes  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 ドライバーの一部分などです。 このような問題はたいていは解消していくことができますが、中には特別なビルド手順やパッチを要するものとなるかもしれません。