ARMでNILFS2を試す

ターゲットは、HDL-GXR。
ディストリビューションはOLP Etch版。
kernel: kernel-image-2.6.12.6-arm1_OLP.0.1_arm.deb

# uname -a
Linux OLP02 2.6.12.6-arm1 #2 Tue Oct 17 11:27:25 JST 2006 armv5tejl GNU/Linux
# ld -v
GNU ld version 2.17 Debian GNU/Linux
# gcc-3.4 -v
/usr/lib/gcc/arm-linux-gnu/3.4.6/specs から spec を読み込み中
コンフィグオプション: ../src/configure -v --enable-languages=c,c++,f77,pascal --prefix=/usr --libexecdir=/usr/lib --with-gxx-include-dir=/usr/include/c++/3.4 --enable-shared --with-system-zlib --enable-nls --without-included-gettext --program-suffix=-3.4 --enable-__cxa_atexit --enable-clocale=gnu --enable-libstdcxx-debug arm-linux-gnu
スレッドモデル: posix
gcc バージョン 3.4.6 (Debian 3.4.6-5)
# ldconfig -V
ldconfig (GNU libc) 2.3.6


ハードは以下。
DRAM:128MB
HDD:ST3250310A
MarvellコントローラーでSATA接続。
CPUはこんな感じで。

# cat /proc/cpuinfo
Processor       : ARM926EJ-Sid(wb) rev 0 (v5l)
BogoMIPS        : 266.24
Features        : swp half thumb fastmult edsp java
CPU implementer : 0x41
CPU architecture: 5TEJ
CPU variant     : 0x0
CPU part        : 0x926
CPU revision    : 0
Cache type      : write-back
Cache clean     : cp15 c7 ops
Cache lockdown  : format C
Cache format    : Harvard
I size          : 32768
I assoc         : 1
I line length   : 32
I sets          : 1024
D size          : 32768
D assoc         : 1
D line length   : 32
D sets          : 1024

Hardware        : MV-88fxx81
Revision        : 0000
Serial          : 0000000000000000


導入手順はREADME通りで可能だったので、特に記すところはない。


試験環境のパーティション構成は以下。

# fdisk -l /dev/sda

Disk /dev/sda: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1          17      136521   83  Linux
/dev/sda2              18        1263    10008495   82  Linux swap / Solaris
/dev/sda3            1264        7489    50010345   83  Linux
/dev/sda4            7490       30401   184040640    5  Extended
/dev/sda5            7490        8735    10008463+  83  Linux
/dev/sda6            8736        9981    10008463+  83  Linux
/dev/sda7            9982       30401   164023618+  83  Linux


sda5/6をそれぞれext3/nilfs2でフォーマット。

# mkfs.ext3 /dev/sda5
# mkfs.nilfs2 /dev/sda6
mkfs.nilfs2 ver 2.0
Start writing file system initial data to the device
       Blocksize:4096  Device:/dev/sda6  Device Size:10248666624
File system initialization succeeded !!

フォーマットが一瞬で終わるのがいいねぇ。

# mkdir /mnt/ext3 /mnt/nilfs
# mount /dev/sda5 /mnt/ext3
# mount /dev/sda6 /mnt/nilfs
mount: you must specify the filesystem type

おんや、マウントは自動じゃないのか。

# mount -t nilfs2 /dev/sda6 /mnt/nilfs/
# df
Filesystem           1K-ブロック    使用   使用可 使用% マウント位置
/dev/sda5              9851308    153192   9197696   2% /mnt/ext3
/dev/sda6             10002428     16380   9478144   1% /mnt/nilfs
# cat /proc/mounts
/dev/sda5 /mnt/ext3 ext3 rw 0 0
/dev/sda6 /mnt/nilfs nilfs2 rw,noatime 0 0

noatimeがデフォなのね。仕組みからすると、当たり前だけど。
パフォーマンス測定するけど、ext3はnoatimeにはしない。