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にはしない。