トップ > 最小システムの構築 > 新システムの作成(後半) >
E2fsprogs

  

E2fsprogsのビルド

E2fsprogsは、EXT2 / EXT3 / EXT4 ファイルシステムを管理するためのコマンドおよびライブラリ群です。 mkfs.ext2 コマンド、fsck.ext2 コマンド、dumpe2fs コマンドなどが含まれます。

ビルド・インストール前リストの生成

最初に、ビルド・インストール前リストを生成します。


/sources/genprevlist.sh > /dev/null 2>&1

 

ソースファイルの展開

ソースファイルを展開します。


cd /sources
tar xvf e2fsprogs-1.42.13.tar.xz
cd e2fsprogs-1.42.13

 

ソースファイルの修正

展開したソースファイルを修正します。


sed -i -e '/int.*old_desc_blocks/s/int/blk64_t/' lib/ext2fs/closefs.c
sed -i -e '/if (old_desc_blocks/s/super->s_first_meta_bg/desc_blocks/' lib/ext2fs/closefs.c

 

ビルド用ディレクトリの準備

ビルド用ディレクトリを準備します。


mkdir -vp build
cd build

 
  
E2fsprogsでは、ソースファイルが置かれているディレクトリでのビルドは推奨されていません。 別にビルド用のディレクトリを用意し、そこでビルドを行うことが推奨されています。

configure

configureを実行します。


LIBS=-L/tools/lib CFLAGS=-I/tools/include PKG_CONFIG_PATH=/tools/lib/pkgconfig ../configure \
  --prefix=/usr \
  --bindir=/bin \
  --enable-elf-shlibs \
  --disable-libblkid \
  --disable-libuuid \
  --disable-uuidd \
  --disable-fsck \
  --with-root-prefix="" > ../../../logs/configurelog.e2fsprogs 2>&1

 

configureが終了したら、ログファイルに出力された内容を参照し、正常に終了したことを確認します。


cat ../../../logs/configurelog.e2fsprogs

 

ビルド

ビルドを実行します。


make

 

ビルドが終了したら、画面に出力された内容を参照し、正常に終了したことを確認します。

テスト

テストを行います。


ln -vsf /tools/lib/libblkid.so.1 lib
ln -vsf /tools/lib/libuuid.so.1 lib
make LD_LIBRARY_PATH=/tools/lib check 2>&1 | tee ../../../logs/checklog.e2fsprogs

 

テストが終了したら、ログファイルに出力された内容を参照し、正常に終了したことを確認します。


grep 'tests succeeded' ../../../logs/checklog.e2fsprogs

 

以下の結果であれば問題ありません

153 tests succeeded     0 tests failed

インストール

インストールを行います。


make install

 

続いて、ライブラリのインストールを行います。


make install-libs

 

インストールが終了したら、画面に出力された内容を参照し、正常に終了したことを確認します。

インストール後の追加作業

インストール後の追加作業を行います。 ライブラリを書き込み可能に変更します。


chmod -v u+w /usr/lib/libcom_err.a
chmod -v u+w /usr/lib/libe2p.a
chmod -v u+w /usr/lib/libext2fs.a
chmod -v u+w /usr/lib/libss.a

 

ライブラリを書き込み可能にしているのは、後の作業で不要なシンボルを削除できるようにするためです。

インストールされたinfoページを展開し、更新します。


gunzip -v /usr/share/info/libext2fs.info.gz
install-info --dir-file=/usr/share/info/dir /usr/share/info/libext2fs.info

 

ソースファイル付属文書のインストール

ソースファイルに付属している文書のインストールを行います。


cd ..
mkdir -vp /usr/share/doc/e2fsprogs-1.42.13
cp -va ABOUT-NLS          /usr/share/doc/e2fsprogs-1.42.13
cp -va COPYING            /usr/share/doc/e2fsprogs-1.42.13
cp -va INSTALL            /usr/share/doc/e2fsprogs-1.42.13
cp -va INSTALL.elfbin     /usr/share/doc/e2fsprogs-1.42.13
cp -va README             /usr/share/doc/e2fsprogs-1.42.13
cp -va RELEASE-NOTES      /usr/share/doc/e2fsprogs-1.42.13
cp -va SUBMITTING-PATCHES /usr/share/doc/e2fsprogs-1.42.13
cp -va e2fsprogs.lsm      /usr/share/doc/e2fsprogs-1.42.13
cp -va doc/*.txt          /usr/share/doc/e2fsprogs-1.42.13

 

後始末

ディスクを圧迫しないよう、ビルド用のディレクトリを削除します。


cd ..
rm -fr e2fsprogs-1.42.13

 

インストールリストの生成

最後に、インストールリストを生成します。


/sources/genpostlist.sh > /dev/null 2>&1
/sources/gendifflist.sh e2fsprogs

 
  
  

まとめ

E2fsprogsは、EXT2 / EXT3 / EXT4 ファイルシステムを管理するためのコマンドおよびライブラリ群です。

メニュー