[Suzaku:00071] Re: データ保存できますか?

Yasushi SHOJI email@hidden
2004年 9月 28日 (火) 21:57:00 JST


At Tue, 28 Sep 2004 12:30:54 +0900,
kyosuke yoshizu wrote:
[...]
> SUZAKUの電源をOFFしても消えないようにデータを保存したいのですが
> 
> Flashメモリへのファイル書き込みはできますでしょうか?

できます。Linuxから Flashメモリは、/dev/mtd*として見ることができます。

/proc/mtdまたは、software manualの 5. Flashメモリのメモリマップを参照
していただけると、Flashメモリがどのように割り当てられているか、わかる
と思います。

[SUZAKU ~]# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00400000 00010000 "Flash/All"
mtd1: 00080000 00010000 "Flash/FPGA"
mtd2: 00020000 00010000 "Flash/Bootloader"
mtd3: 00010000 00002000 "Flash/Config"
mtd4: 00350000 00010000 "Flash/Image"
mtd5: 00170000 00010000 "Flash/Kernel"
mtd6: 001e0000 00010000 "Flash/User"
mtd7: 00178000 00001000 "RAM"

デフォルトの状態では以上のように、自由に使用できる領域はありませんが、
mtdのマップを変更することで、自由に領域を変更することができます。mtdに
ついては、今月号の Interfaceの記事が詳しいようです。

> あるいは他の方法でLinuxからFlashへのデータ書き込みの方法はありますでしょ
> うか?

flatfsdと呼ばれる方法(daemon)があります。flatfsdは上記の領域のうち 
Flash/Configの領域を使っています。

デフォルトの SUZAKUでは、/etc/config/のファイルを対象としています。例
えば:

[SUZAKU ~]# touch /etc/config/hoge.txt
[SUZAKU ~]# killall -USR1 flatfsd
[SUZAKU ~]# reboot

[SUZAKU ~]# ls /etc/config/hoge.txt
hoge.txt

/etc/config/以下にあるファイルは、flatfsdと呼ばれる daemonに対して
USR1のシグナルを送ることで、Flashメモリに保存されます。SUZAKUは起動時
に `flatfsd -r'を使って Flashメモリから情報を取りだし /etc/config/以下
に展開します。

SUZAKU上の /etc/init.d/flatfsd、または uClinux-dist/vendors/
AtmarkTechno/SUZAKU/etc/rc/flatfsdを参照してください。


他にも jffs2を rootファイルシステムとして採用する方法もあります。
--
             yashi



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