delete from hateblo.jp where 1=1;

タイトルに意味はありません。

zfsonlinuxというファイルシステムをビルドしてみる

note

動作検証はまた後日!

前提条件

  • debian squizz (試した時点:6.0.4)
  • 64bit cpu (最近では32bit版もいけるらしい→無理らしい)

パッケージの準備

本家の手順に従い、パッケージを準備する。

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 のトリガを処理しています ...

変更履歴

2012/12/22 autogen.shを追記。32bitはうわさによると非対応と明言されているのでその旨を追記