Armadilloフォーラム

初期化方法

kazu_2012

2014年5月8日 19時13分

先日から"netflash"コマンドが使えません。

atmark@atde5:~/atmark-dist$ netflash -b -k -n -u -s -r /dev/flash/kernel http://atde5.local/linux.bin.gz
bash: netflash: コマンドが見つかりません
atmark@atde5:~/atmark-dist$ net
netcat netkit-ftp netstat
atmark@atde5:~/atmark-dist$

暫定的にSDカードから書き換えを行っていたのですが、こちらもArmadillo内に以下のデイィレクトリが見れなくなりました。
/dev/mmcblk0p1

手詰まりとなり一度、フラッシュ内を初期化したいのですが。

宜しくお願いします。

コメント

> atmark@atde5:~/atmark-dist$ netflash -b -k -n -u -s -r /dev/flash/kernel http://atde5.local/linux.bin.gz
netflashは"netflashを実行する端末"のflashデバイスを書きかえる
アプリケーションです。
ですのでATDEではなく、Armadillo上で実行してください。

ATDEにnetflashはインストールしておりません。

今日になってみるとSDカードの/dev/mmcblk0p1 を見ることが出来ました。

ですがATDEからのダウンロードが出来ません。
[root@armadillo810-0 (pts/0) ~]# netflash -b -k -n -u -s -r /dev/flash/userland
http://atde5.local/romfs.img.gz
netflash: failed to find http://atde5.local/romfs.img.gz

atmark@atde5:~$ ls /var/www/
index.lighttpd.html linux.bin.gz romfs.img.gz

指定ディレクトリに イメージファイルは配置されているのですが。。。

Armadillo-810からATDE5にpingが届くか確認してみてください。

[atmadillo ~]# ping atde5.local
PING atde5.local (169.254.7.31): 56 data bytes
64 bytes from 169.254.7.31: icmp_seq=0 ttl=64 time=2.5 ms
64 bytes from 169.254.7.31: icmp_seq=1 ttl=64 time=1.2 ms

もし、pingが通じなかった場合、ATDEのホスト名がatde5.local
から変っている可能性があります。

Armadillol-810のUSBコネクタを何度か挿抜するか、
Armadilloが起動している状態でATDEの再起動を繰り返すと、
ATDEのホスト名がatde5.localから atde5-3.local のように
変っているはずです。
ATDEで現在のホスト名は次のように調べる事ができるので、
変更後のホスト名で改めてnetflashを使ってみてください。
(参照するのはavahi-daemon: running [atde5-3.local]の行です。)

[ATDE ~]$ ps aux |grep avahi
avahi     2421  0.0  0.1  34156   996 ?        S     5月05   0:02 avahi-daemon: running [atde5-3.local]
avahi     2422  0.0  0.0  34032     4 ?        S     5月05   0:00 avahi-daemon: chroot helper
113      20308  0.0  0.1  14584   868 ?        S    19:51   0:00 avahi-autoipd: [usb0] bound 169.254.7.31
root     20309  0.0  0.0   6172   308 ?        S    19:51   0:00 avahi-autoipd: [usb0] callout dispatcher
atmark   20405  0.0  0.1   7404   876 pts/2    S+   19:52   0:00 grep avahi

pingが通ってもnetflashでromfs.img.gzを取得できない場合は、
ATDEの/var/wwwに置いたファイルのパーミッションが、ATDEの
webサーバーのプロセスから読めない状態になっているかもしれません。

ls の -l オプションでパーミッションを確認してみてください。

[ATDE ~]$ ls -l /var/www/romfs.img.gz
-rwxr-xr-x 1 atmark atmark 2737779  5月  9 19:43 /var/www/romfs.img.gz

コメントありがとうございます。
調査したところホスト名は、変更なかったです。

atmark@atde5:~$ ps aux |grep avahi
avahi     2448  0.0  0.2   3152  1500 ?        S    09:10   0:00 avahi-daemon: running [atde5.local]
avahi     2449  0.0  0.0   3152   436 ?        S    09:10   0:00 avahi-daemon: chroot helper
atmark    3581  0.0  0.1   3124   800 pts/0    S+   09:25   0:00 grep avahi
atmark@atde5:~$ 

810へログインしてpingを飛ばしてみましたが、通りませんでした。
念のため ping atde5-3.localも確認しましたが、同様の結果でした。

[root@armadillo810-0 (pts/0) ~]# ping atde5.local
 
ping: unknown host atde5.local
 
[root@armadillo810-0 (pts/0) ~]# net
 
netflash  netstat
 
[root@armadillo810-0 (pts/0) ~]# netflash -b -k -n -u -s -r /dev/flash/userland
 
http://atde5.local/romfs.img.gz
 
netflash: failed to find http://atde5.local/romfs.img.gz

romfs.img.gzのパーミッションを確認したところ、以下の表示となりました。
"x"の表記がないですが、これが問題でしょうか。

atmark@atde5:~$ ls -l /var/www/romfs.img.gz 
-rw-r--r-- 1 atmark atmark 22714942  5月  8 17:37 /var/www/romfs.img.gz

pingが通らないという事は、ネットワーク通信ができない状態です。
そのためnetflashでATDEからromfs.img.gzをダウンロードする事が
できていません。

VMWareのインターフェースから見てg_uvc_acm_etherはゲストOS(ATDE5)に
接続状態になっているでしょうか。

> x"の表記がないですが、これが問題でしょうか。
いいえ、other users(左から3番目)に r(読み取り許可)が付いているので、
そのパーミッションで問題ありません。

ATDE5で最初から動作しているWebサーバーは
lighttpdなのですが、lighttpdはwww-dataというユーザー権限を
持っています。この場合romfs.img.gzはatmarkというユーザーの
所有するファイルですが、other usersにrが付いているのでため
www-dataの権限でファイルを読む事ができます。

パーミッションについてはArmadillo実践開発ガイド2部
3.3.4. ファイルの所有権とパーミッションで解説しています。
http://manual.atmark-techno.com/armadillo-guide/armadillo-guide-2_ja-2…
ご参考までにご利用ください。