y_kudo_ncpl
2014年10月1日 11時43分
工藤@NCPLと申します。
お世話になります。
/home/www-data/admin/system.cgi
のソースはどこかにあるのでしょうか?
ちょっと探してみたのですが、探しどころ自体が良く分からず見つけられませんでした。
ご存知の方いらしたら教えてください。
よろしくお願い申し上げます。
コメント
y_kudo_ncpl
ありがとうございます。
確認しました。
アットマークテクノ様の方で英語版用意なさっているとありがたいのですが(^^;
> 中村です。
>
> > /home/www-data/admin/system.cgi
> > のソースはどこかにあるのでしょうか?
>
> atmark-dist/user/at-cgiの下がそれだと思います。
>
> > ちょっと探してみたのですが、探しどころ自体が良く分からず見つけられませんでした。
>
> $ locate system.cgi
> /<この部分は個人的なものなのでマスク>/atmark-dist/user/at-cgi/system.cgi
>
> --
> なかむら
>
y_kudo_ncpl
補足です。
なぜソースを探しているかと言うと、
どちらかと言うと仕向け先は海外が多いであろう装置にArmadillo440を積みます。
そのFW更新他のメンテ手段をCGIで作り始めていたのですが
改めて見てみたら良いのが既にあったので
これを英語化してそのまま使えないか?と考えたためです。
もしアットマークテクノ様のほうで英語版をお持ちで、それを配布していただけるならそれでもよいのですが。
> 工藤@NCPLと申します。
> お世話になります。
>
> /home/www-data/admin/system.cgi
> のソースはどこかにあるのでしょうか?
> ちょっと探してみたのですが、探しどころ自体が良く分からず見つけられませんでした。
> ご存知の方いらしたら教えてください。
> よろしくお願い申し上げます。
y_kudo_ncpl
y_kudo_ncpl
at_ohsawa
大澤です。
> 任意のサイト(例えばDropbox等で公開したファイル)からのダウンロード
armadilloからアクセスできるhttpサーバーであれば、
Current firmware download locationのchange から任意のサイトのURLに変更できますよ。
ただし、Current firmware download locationで設定した階層に有るファイル名が
設定したパターンにマッチしないと "Get firmware option" を押しても候補を
選択できないようになっています。
参考までに、Armadillo-420だと下記のようになっているので、
ユーザーランドであれば romfs-a420- か romfs-a400- ではじまる
ファイルが無いと、候補すら表示されません。
[root@armadillo420-0 (ttymxc1) /etc/config]# cat at-admin VERSION="1.0" PRODUCT_NAME="Armadillo-420" PRIMARY_IF="eth0" FIRMWARE_URL="http://download.atmark-techno.com/armadillo-420/image/" FIRMWARE_KERNEL_MATCH="linux-a420-, linux-a400-" FIRMWARE_USERLAND_MATCH="romfs-a420-, romfs-a400-"
Armadilloの /etc/config/at-admin で指定しているファイル名のパターンを
運用に合ったものに書き換えてみてください。
余談ですが、 Current firmware download locationで変更できるサーバー
のURLも /etc/config/at-admin を読み書きしているだけなので、
量産する場合は、 Atmark Distのソースコード上の
/vendor/AtmarkTechno/Armadillo-440/etc/default/at-admin
(プロダクトディレクトリをコピーしている場合はArmadillo-440 を読み変えてください。)
を変えてしまえば、デフォルトの値を変更したイメージを作る事ができます。
>同じネットワーク上のPC側にWebサーバ立てて
ATDEであれば最初からでwebサーバーが起動しているので、
ATDEの /var/www 以下にファイルを配置する事で、同じネットワーク内の
Armadilloからat-cgiでイメージファイルを取得できます。
> PC側は単にローカルファイルを指定すればよいようにした
これは、http以外のプロトコルでArmadilloにイメージファイルを提供したいと
いうことでしょうか?
y_kudo_ncpl
大澤様
ありがとうございます。
いくらか飲み込めてきました。
やりたいことは
・Armadillo(を搭載した装置)は外(Internet)にはつながってない
・装置を運用するネットワークにWebサーバがない
環境で、PC側に特別な冶具(Webサーバ/FTPサーバ)を用意せずにイメージの更新その他のメンテをしたいということになります。
実際の使い方としては、設置先のサービスマンに何らかの方法でイメージファイルを送り、
メンテ用PCに置いたイメージファイルをArmadilloが取って(あるいはArmadilloに送って)
更新掛けたいという感じです。
実験的にはArmadilloへファイルをアップロードしてnetflashを実行する(だけの)HTMLとCGIを作って確認してるので
それでいけるかなとも思ってるのですが、
せっかくいろんな機能が実装されてるsystem.cgiがあるのでそれが使えると何かと便利だなと言うところで触ってるところです。
y.nakamura
中村です。
system.cgiのファームウェア取得先は、/etc/config/at-adminファイルの
記述を参照していたと思います。
system.cgiはファームウェア更新のときに外部プログラムとして
netflashコマンドを呼び出しています。(ソースをざっとみたところでは)
netflashはhttp以外にローカルファイルやftpなども扱うことができますが、
system.cgiから起動するときには、イメージファイルのURLが
"http://"で始まっているかどうかのチェックをしています(system.cgiの
ソースのsimple-cgi-app/simple-cgi-app-misc.cのcgi_is_valid_url())。
ですので、system.cgiを使ってファームウェアを更新するためには外部に
webサーバを用意してhttpでイメージファイルを公開するしかないです。
http以外の方法でファームウェアを取ってくるには、それなりに自分で
プログラム(cgiとか)を書かないとダメということになります。
以下は、system.cgiを使わずに独自に作る前提です。
パソコンのローカルファイルを・・・、とのことですが、パソコンがArmadilloに
対してどういう方法でそのファイルを公開するか?です。
パソコンでftpサーバを動かして、ftpでとってくるというような方法も
あるかとは思います。netflashはftp対応なようですので。
netflashに直接urlを渡すのではなくて事前に別プログラムで取ってくるなら、
tftpなんかでもできると思います。
webサーバよりは楽かもしれませんが、パソコン側でそれなりの用意を
しなければならないことに変わりはありません。
パソコン側に特別なソフトを入れないでファイルを公開するとなると、
Windowsのファイル共有でしょうね。
この場合は、ArmadilloにSAMBAクライアントを実装して、
パソコンの公開フォルダをマウントして、そこからとってくる(取って
こなくてもマウントしたパスをnetflashに与えればいい)ことになります。
タラタラとまとまりなく書いてしまいましたが、
ピント外れでしたら、ご容赦ください。
--
なかむら
y_kudo_ncpl
y.nakamura
y_kudo_ncpl
y_kudo_ncpl
y.nakamura
2014年10月1日 12時04分
中村です。
> /home/www-data/admin/system.cgi
> のソースはどこかにあるのでしょうか?
atmark-dist/user/at-cgiの下がそれだと思います。
> ちょっと探してみたのですが、探しどころ自体が良く分からず見つけられませんでした。
$ locate system.cgi
/<この部分は個人的なものなのでマスク>/atmark-dist/user/at-cgi/system.cgi
--
なかむら