zfsonlinuxというファイルシステムをビルドしてみる
note
動作検証はまた後日!
前提条件
パッケージの準備
本家の手順に従い、パッケージを準備する。
sudo apt-get install build-essential gawk alien fakeroot linux-headers-$(uname -r)
関連ツールも準備しておく。
sudo apt-get install git
もし、splのみならず、zfsもビルドする場合は以下のパッケージが必要。
sudo apt-get install zlib1g-dev uuid-dev libblkid-dev libselinux-dev
ソースの準備(gitを使う場合)
適当なディレクトリを準備する
mkdir -p /home/user/build/zfs cd /home/user/build/zfs
ソースを取得する
git clone https://github.com/zfsonlinux/spl.git git clone https://github.com/zfsonlinux/zfs.git
splのビルド
Makefile等の生成
cd /home/user/build/zfs/spl
./autogen.sh
./configure
ビルド.
make -s make deb -s
上記コマンドを実行して、以下のようなログが最後に出力されればビルド成功。
spl-modules_0.6.0-1_amd64.deb generated spl-modules-devel_0.6.0-1_amd64.deb generated spl_0.6.0-1_amd64.deb generated
zfsのビルド
Makefile等の生成
cd /home/user/build/zfs/zfs
./autogen.sh
./configure
ビルド
make deb -s
上記コマンドを実行して、以下のようなログが最後に出力されればビルド成功。
zfs-modules_0.6.0-1_amd64.deb generated zfs-modules-devel_0.6.0-1_amd64.deb generated zfs_0.6.0-1_amd64.deb generated zfs-devel_0.6.0-1_amd64.deb generated zfs-test_0.6.0-1_amd64.deb generated zfs-dracut_0.6.0-1_amd64.deb generated
それぞれをインストール
spl
user@host64-1:~/build/zfs/spl$ sudo dpkg -i *_amd64.deb 未選択パッケージ spl-modules-devel を選択しています。 (データベースを読み込んでいます ... 現在 42101 個のファイルとディレクトリがインストールされています。) (spl-modules-devel_0.6.0-1_amd64.deb から) spl-modules-devel を展開しています... 未選択パッケージ spl-modules を選択しています。 (spl-modules_0.6.0-1_amd64.deb から) spl-modules を展開しています... 未選択パッケージ spl を選択しています。 (spl_0.6.0-1_amd64.deb から) spl を展開しています... spl-modules-devel (0.6.0-1) を設定しています ... spl-modules (0.6.0-1) を設定しています ... spl (0.6.0-1) を設定しています ...
zfs
user@host64-1:~/build/zfs/spl$ cd ../zfs/ user@host64-1:~/build/zfs/zfs$ sudo dpkg -i *_amd64.deb 未選択パッケージ zfs-devel を選択しています。 (データベースを読み込んでいます ... 現在 42272 個のファイルとディレクトリがインストールされています。) (zfs-devel_0.6.0-1_amd64.deb から) zfs-devel を展開しています... 未選択パッケージ zfs-dracut を選択しています。 (zfs-dracut_0.6.0-1_amd64.deb から) zfs-dracut を展開しています... 未選択パッケージ zfs-modules-devel を選択しています。 (zfs-modules-devel_0.6.0-1_amd64.deb から) zfs-modules-devel を展開しています... 未選択パッケージ zfs-modules を選択しています。 (zfs-modules_0.6.0-1_amd64.deb から) zfs-modules を展開しています... 未選択パッケージ zfs-test を選択しています。 (zfs-test_0.6.0-1_amd64.deb から) zfs-test を展開しています... 未選択パッケージ zfs を選択しています。 (zfs_0.6.0-1_amd64.deb から) zfs を展開しています... zfs-devel (0.6.0-1) を設定しています ... zfs-dracut (0.6.0-1) を設定しています ... zfs-modules-devel (0.6.0-1) を設定しています ... zfs-modules (0.6.0-1) を設定しています ... zfs-test (0.6.0-1) を設定しています ... zfs (0.6.0-1) を設定しています ... man-db のトリガを処理しています ...