[Armadillo:04051] Re: Armadillo-300 MTD

Tomohiko Yoshida email@hidden
2009年 2月 17日 (火) 14:25:41 JST


TO:竹之下様

ご回答有難うございます。

> まず、Armadillo-300ではカーネルのデフォルト設定でjffs2が有効になっていないので、
> 有効にする必要があります。

jffs2は、以下の指定にて設定しているのですが
  Linux Kernel Configuration
  File systems  --->
   Miscellaneous filesystems  --->
    <*> Journalling Flash File System v2 (JFFS2) support
    (0)   JFFS2 debugging verbosity (0 = quiet, 2 = noisy)
    [ ]   JFFS2 support for NAND flash
    [ ]   JFFS2 support for ECC'd NOR flash (EXPERIMENTAL)
    [ ]   Advanced compression options for JFFS2
問題ないでしょうか?


Kernelの起動ログでは
    :
 JFFS2 version 2.2. (C) 2001-2003 Red Hat, Inc.
    :
と出ております。

filesystemでも
 [email@hidden (ttyAM0) ~]# cat /proc/filesystems
 nodev   sysfs
 nodev   rootfs
 nodev   bdev
 nodev   proc
 nodev   sockfs
 nodev   usbfs
 nodev   pipefs
 nodev   futexfs
 nodev   tmpfs
 nodev   eventpollfs
 nodev   devpts
         ext3
         ext2
 nodev   ramfs
         msdos
         vfat
         iso9660
 nodev   nfs
 nodev   jffs2
         romfs
 nodev   rpc_pipefs

と出ております。



> また、フラッシュメモリをjffs2でマウントするには、
> 以下の二つの方法があります。
>
> 1. 領域をjffs2で初期化してマウント
> [armadillo ~]# flash_eraseall -j /dev/mtd5
> [armadillo ~]# mount -t jffs2 /dev/mtdblock5 /mnt/

以下に実行結果を示します。

[email@hidden (ttyAM0) ~]# flash_eraseall -j /dev/mtd5
Erasing 64 Kibyte @ 0 --  0 % complete. Cleanmarker written at 0.
[email@hidden (ttyAM0) ~]#
[email@hidden (ttyAM0) ~]# mount -t jffs2 /dev/mtdblock5 /mnt/
jffs2: Too few erase blocks (1)
mount: Mounting /dev/mtdblock5 on /mnt failed: Invalid argument


> 2. jffs2のイメージを作成して、領域に書き込んでマウント
> [armadillo ~]# mkdir tmp
> [armadillo ~]# echo abc > tmp/txt
> [armadillo ~]# mkfs.jffs2 -r tmp -p -e 0x10000 -o jffs2.img
> [armadillo ~]# dd if=jffs2.img of=/dev/mtdblock5
> [armadillo ~]# mount -t jffs2 /dev/mtdblock5 /mnt/

以下に実行結果を示します。

[email@hidden (ttyAM0) /]#  echo abc > tmp/txt
[email@hidden (ttyAM0) /]# mkfs.jffs2 -r tmp -p -e 0x10000 -o jffs2.img
[email@hidden (ttyAM0) /]# dd if=jffs2.img of=/dev/mtdblock5
128+0 records in
128+0 records out
[email@hidden (ttyAM0) /]# mount -t jffs2 /dev/mtdblock5 /mnt/
jffs2: Too few erase blocks (1)
mount: Mounting /dev/mtdblock5 on /mnt failed: Invalid argument

というように、どちらの方式でも叱られてしまいます。

ところで、竹之下様の環境では上手くいっているのですよね?

以上


> フラッシュメモリの領域をキャラクタデバイスとして扱ったり、
> ブロックデバイスとして扱ったりするので、その点ご注意下さい。
>
> -- 
> Koyo Takenoshita
> _______________________________________________
> armadillo mailing list
> email@hidden
> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/armadillo 




armadillo メーリングリストの案内