[Armadillo:06552] Re: Armadillo-300にてCFアクセス

mizo email@hidden
2011年 1月 17日 (月) 13:44:21 JST


溝渕です。

TFC 小林 wrote:
>>>> Appはどこに置いてありますか?
> 
> findを行った結果です。
> 
> email@hidden:~/atmark-dist-20090318$ find
> /home/atmark/atmark-dist-20090318/romfs -name "App"
> /home/atmark/atmark-dist-20090318/romfs/bin/App
> email@hidden:~/atmark-dist-20090318$
> 
> 上記からすると、
> 「./bin/App」では間違いですよね?

いえ。完全に間違いというわけではありません。

> なぜに動いていたのか不思議です。

例えば、

[armadillo]# vi /etc/config/rc.local
#/bin/sh
echo "*****"
pwd
echo "*****"
[armadillo]# chmod +x /etc/config/rc.local
[armadillo]# flatfsd -s
[armadillo]# reboot

すると、カレントディレクトリが"/"となっていることが確認できます。

> 「/bin/App」か、「App」で起動するようにします。

そうですね。それが良いと思います。

>> プログラム内から、mount/umountをしたい場合は、システムコールの
>> mount/umountを使用すると良いと思います。
> 
> プログラム内にて、任意のタイミング・任意の回数でファイルにアクセスしたく、
> また、無限ループで動くアプリで、いつ電源が切られるかわからないため、

書き込み中に突然電源が切られた場合ファイルシステムが破損する可能性があり
ます。

> ファイルをopen/closeするタイミングでmount/umountを行いたいと思います。

アプリケーションの構成や仕様がよくわからないのですが、必ずしもプログラム
内からmount/umount行なう必要は無いと思います。

> mountのオプションについて良く分からなかったのですが、
> 今までのinittabで行っていた
> 「::sysinit:/bin/mount -w -t vfat /dev/hda1 /mnt/cf」
> を行う場合、
> int ret ret = mount("/dev/hda1", "/mnt/cf/", "vfat", 0, NULL);
> で、あっているでしょうか?

"int ret ret"は"int ret"の誤記でしょうか?

上記でmountできませんでしたか?不安ならsystem(3)を使用しても良いと思います。




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