2.3. ファイルシステムの生成

空のパーティションが準備できたのでファイルシステムを作ります。 Linux において広く用いられるファイルシステムは ext2 (second extended file system) です。 より新しく大容量のハードディスクに対しては、ジャーナリングファイルシステムが一般的となりつつあります。 ext3 (third extended file system) は ext2 の拡張として広く利用されるようになっています。 ext3 ではジャーナリング機能が追加され E2fsprogs ユーティリティとの互換性を持ちます。 本書では ext3 ファイルシステムを生成することにします。 他のファイルシステムの生成方法については http://www.linuxfromscratch.org/blfs/view/svn/postlfs/filesystems.html を参照してください。

LFS 用のパーティションに対して ext3 ファイルシステムを生成するために以下のコマンドを実行します。

mke2fs -jv /dev/<xxx>

<xxx> の部分は LFS パーティション名に合わせて置き換えてください。 (本書の例では hda5 としています。)

[注記]

注記

ホストとして利用する Linux ディストリビューションの中には、ファイルシステムを生成するツール (E2fsprogs) に特別な機能を実装しているものがあります。 第9章にて LFS システムをブートする際に、それらの機能が原因で問題が発生する場合があります。 そのような機能は LFS においてインストールする E2fsprogs ではサポートしていません。 おそらくは「unsupported filesystem features, upgrade your e2fsprogs」(サポートされていないファイルシステムです。 e2fsprogs をアップグレードしてください) といったエラーメッセージが表示されるはずです。 ホストシステムが機能拡張しているかどうかを確認するには以下のコマンドを実行します。

debugfs -R feature /dev/<xxx>

コマンドの出力結果の中に has_journalext_attrresize_inodedir_indexfiletypesparse_superlarge_fileneeds_recovery といったものとは異なるものが表示されていたら、あなたのホストシステムは機能拡張がなされていることを意味します。 後に問題となりますので、純粋な E2fsprogs パッケージをコンパイルし、これを用いて LFS パーティションのファイルシステムを再生成してください。

cd /tmp
tar -xzvf /path/to/sources/e2fsprogs-1.42.5.tar.gz
cd e2fsprogs-1.42.5
mkdir -v build
cd build
../configure
make #note that we intentionally don't 'make install' here!
./misc/mke2fs -jv /dev/<xxx>
cd /tmp
rm -rfv e2fsprogs-1.42.5

既に存在している swap パーティションを用いることにした場合は、初期化操作を行う必要はありません。 新しい swap パーティションを作成した場合は、以下のコマンドを実行して初期化を行う必要があります。

mkswap /dev/<yyy>

<yyy> の部分は swap パーティションの名に合わせて置き換えてください。