第6章 ストレージ

6.1. ストレージとして使用可能なデバイス

Armadilloでは、表6.1「ストレージデバイス」に示すデバイスをストレージとして使用することができます。

表6.1 ストレージデバイス

デバイス種類ディスクデバイス先頭パーティション
USBフラッシュメモリ/dev/sd*/dev/sd*1
microMMC/microSDカード/dev/mmcblk*/dev/mmcblk*p1

6.2. ストレージの初期化とマウント

microSDカードを例にとり、ストレージの初期化とマウント方法について説明します。

6.2.1. ディスクの初期化

ここでは、microSDカードにパーティションを1つ作ります。

[armadillo ~]# fdisk /dev/mmcblk0

Command (m for help): d
No partition is defined yet!

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-7375, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-7375, default 7375):
Using default value 7375

Command (m for help): p

Disk /dev/mmcblk0: 1004 MB, 1004535808 bytes
7 heads, 38 sectors/track, 7375 cylinders
Units = cylinders of 266 * 512 = 136192 bytes

        Device Boot    Start       End    Blocks   Id  System
/dev/mmcblk0p1               1        7375      980856   83  Linux

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
 mmcblk0: p1
 mmcblk0: p1
Syncing disks.

図6.1 ディスク初期化方法


6.2.2. ファイルシステムの構築

初期化したディスクのパーティションにファイルシステムを構築します。ここでは、microSDカードのパーティション1(/dev/mmcplk0)にext3ファイルシステムを構築します。

[armadillo ~]# mke2fs -j /dev/mmcblk0p1
mke2fs 1.25 (20-Sep-2001)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
122624 inodes, 245214 blocks
12260 blocks (4%) reserved for the super user
First data block=0
8 block groups
32768 blocks per group, 32768 fragments per group
15328 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376

Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 34 mounts or
180.00 days, whichever comes first.  Use tune2fs -c or -i to override.

図6.2 ファイルシステムの構築


6.2.3. マウント

ファイルシステムを作成後、図6.3「マウント方法」のようにコマンドを実行する事で、ext3ファイルシステムを使用して/dev/mmcblk0p1を/mntにマウントします。

[armadillo ~]# mount -t ext3 /dev/mmcblk0p1 /mnt

図6.3 マウント方法


6.3. 動作確認

microSDカードを例にとり、ストレージの動作確認を行う方法について説明します。事前に「ストレージの初期化とマウント」を行っておく必要があります。

6.3.1. データの書き込み

ストレージにデータを書き込みます。以下のコマンドでは、busyboxの実行ファイルをストレージにコピーしています。

[armadillo ~]# cp /bin/busybox /mnt/

図6.4 ストレージへのデータの書き込み


ストレージに確実にデータを書き出すためにアンマウントした後に再度マウントします。

[armadillo ~]# umount /mnt
[armadillo ~]# mount -t ext3 /dev/mmcblk0p1 /mnt

図6.5 ストレージへのデータの書き込み


6.3.2. データのチェック

ストレージに書き込んたデータのチェックを行います。以下のコマンドを実行して/bin/busyboxと、/mnt/busyboxのMD5チェックサムが同じであればストレージが正常に動作していることを確認できます。

[armadillo ~]# md5sum /bin/busybox
124f7023cd7714b2ac15ae4e0a735244  /bin/busybox
[armadillo ~]# md5sum /mnt/busybox
124f7023cd7714b2ac15ae4e0a735244  /mnt/busybox

図6.6 ストレージへのデータチェック