2014年12月14日日曜日

Edison の yocto linux (firmware?) の更新(強制 flash も)

 前回,Intel Edison への micro USB 接続と書いた。 その続きである。
今回は Edison module に micro USB を接続して,無事に Edison が起動してログインできた後の処理について書こう。

 無事に root でログインできたら,まずすべきことは firmware としての yocto linux のアップデートである。 工場出荷時の yocto linux はバージョンが少し古い。 Intel Edison はまだ作られて日が浅いため,Edison 用の yocto linux には不備も残っている。 そのためできるだけ最新の yocto linux に更新すべき,というの今回のお話である。 (注意Intel Edison で opkg upgrade すると Windows に対して USB OTG で接続できなくなったに書いたが,firmware アップデートの後に opkg upgrade をする際には気をつけないといけない。


1. Edison の yocto linux の更新
 これは Flashing Edison (wired) - Windows(Windows)や,Flashing Edison (wired) - Mac(Macintosh)に書いてあることであるが,念の為に書いておこう。
 Edison の yocto linux を更新するには,以下の手順で行う。

-------------------------------------------------------------
 a. micro USB 2個でホストコンピューターと接続して,root でログインしておく。

 b. Windows のみ,ホストコンピューターに FTDI ドライバーIntel Edison ドライバーをインストールしないといけない。
  ・FTDI ドライバーは「CDM v2.10.00....」のような exe ファイルをダウンロードして,インストールしておく。
  ・Intel Edison ドライバーはページの下の方にある「Windows Driver setup xx.xx.xx」のようなファイルをダウンロードして,インストールしておく。 さらに PuTTY などの通信ソフトが必要である。

 c. 次に古い linux のイメージファイルを削除する。
  ・Windows では,コマンド・プロンプトを使って,USB メモリとして表示されているドライブに入り「del *」としてすべてのファイルを削除しておく。
   普通にデスクトップにあるディレクトリの中身を「削除」してもいいが,ゴミ箱に残るので,
   新しいイメージを書き込むスペースがない,と言われる事がある。
  ・Macintosh では,ターミナル App. で USB メモリとして表示されている Edison の中身をすべて削除する。
   「# rm -rf *」と「# rm -rf .??*」として非表示のファイルも含めてすべて削除する。

 d. Intel Edison の Software Download ページから,
  最新の yocto linux image ファイル(Edison Yocto complete image)をダウンロードする。
  2014/12/14 現在では,バージョン Rel-1-Maint-WW42 が最新である。
  (注意:この image ファイルは,次回のアップデートの際まで残しておくことを勧める。
    何かの時にクリーンインストールしないといけないことがありえるからである。)

 e. root でログインし「reboot ota」と入力して,enter を押す。すると,自動で linux を更新してくれる。
-------------------------------------------------------------

 自動で2回ほど再起動して yocto linux の更新が終了する。
注意点としては「yocto linux を更新すると,パスワードやその他の設定はすべてリセットされる」という点が挙げられる。 WiFi 接続している場合は,linux 上のコマンドとして linux の更新ができる。 WiFi 接続した状態で「configure_edison --upgrade」とすると,image ファイルを勝手にダウンロードして flash してくれるが,設定がすべてリセットされる点は同じである。 設定を残したままアップデートしてくれるといいのになぁ…。


2. Edison にログインできない場合の強制 flash の方法
 上記の方法は素直にアップデートができた場合であるが,場合によっては強制的に flash したい場合が出てくる。 例えば,root のパスワードを忘れた,とか,システムの設定を変更した際にミスがあってログインできない,などの場合がある。 実は,この2つ目のシステムの設定ミスでログインできない,というのでしばらく悩んでしまったので,こんな項目を作ってる。
 そんな時の強制 flashing 法として使えるのが以下の方法である。 この方法はRecovering Intel Edison If Password Is Unknownに記載がある。

-------------------------------------------------------------
 a. micro USB ケーブル2本で Edison とホストコンピューターをつなぎ,ホストコンピューターを Edison のシリアルコンソールとしてつないでおく。 (micro USB (J3) をつないで,PuTTY やターミナル App. でログイン手前の状態にしておく)

 b. リセットボタン(Arduino ボードなら RESET というボタンがある)を押すか,micro USB (J16) を挿しなおして,Edison を再起動させる。

 c. うまく再起動すると,下記のようにシリアルコンソールに boot メッセージが出力され始める。
  ここで,起動が完了する前に何かキーを押す。 すると,autoboot が中断されて,コマンド待ちの状態になる。

 d. ここで「run do_ota」と入力して enter を押すと,flash が始まり,2回再起動があってから,ログイン画面になるはずである。
-------------------------------------------------------------

 この他にも,ホストコンピューター側から強制的に新しいイメージファイルを送り込むこともできるようなのだが,Windows 7 でも Macintosh OS-X でもうまくいかなかった。 Macintosh OS-X の場合は,イメージファイルを送り込むアプリケーションのインストールがうまくできていないようなのだが,まだ何が悪いのかいまいちわかっていない…。

 次はログイン後の作業について書こう。
Intel Edison の初期設定に続く)

0 件のコメント: