15: Intel Edison上のOSが起動しなくなった / rootパスワードを忘れた時には
よく訓練されたアップル信者、都元です。昨日のエントリーはこちらです。Edisonをいじり倒していると、たまにOSごとぶっ壊してしまうこともありますよね。例えばrm -fr /辺りが代表的なところですが。
通常、Edisonのイメージリカバリは、J16とPCを接続した際にPC側で認識される「外部ディスク(※1)」にイメージをコピーしておいた上で、Edison内からreboot otaコマンドを入力することによって行います。
しかし、前述のようにOS自体が起動しなくなったり、rootパスワードを忘れてログインできなくなってしまった場合は、reboot otaコマンドを実行する手段がありません。
外部PCからのイメージの焼きこみ
という場合に行うのが、外部PCからのイメージ焼きこみです。Mac前提ですが、操作をご紹介します。
まず、homebrewを使って、下記3パッケージをインストールしておいてください。
$ brew install dfu-util coreutils gnu-getopt
次に、Edison - Software Downloadsから、焼き込み対象のイメージのURLを手に入れます。ここでは執筆時点での最新版、edison-image-rel1-maint-rel1-ww42-14.zipを使います。
続いて、J16をMacと接続した上で、wget等でイメージを取得、unzipで展開し、./flashall.shを実行します。
$ wget http://downloadmirror.intel.com/24389/eng/edison-image-rel1-maint-rel1-ww42-14.zip $ mkdir edison-image-rel1-maint-rel1-ww42-14 $ cd edison-image-rel1-maint-rel1-ww42-14 $ unzip ../edison-image-rel1-maint-rel1-ww42-14.zip $ ./flashall.sh Using U-Boot target: edison-blank Now waiting for dfu device 8087:0a99 Please plug and reboot the board
すると上記の状態で一旦作業が止まります。この状態で、ボード上のRESETボタン(SW1UI5)を押下します。すると続きが始まります。
dfu-util: Device has DFU interface, but has no DFU functional descriptor Flashing IFWI dfu-util: Device has DFU interface, but has no DFU functional descriptor Transfer size must be specified Download [=========================] 100% 4194304 bytes Flashing U-Boot Download [=========================] 100% 245760 bytes Flashing U-Boot Environment Download [=========================] 100% 65536 bytes Flashing U-Boot Environment Backup Download [=========================] 100% 65536 bytes Flashing boot partition (kernel) Download [=========================] 100% 5799936 bytes Flashing rootfs, (it can take up to 5 minutes... Please be patient) Download [=========================] 100% 536870912 bytes Rebooting U-boot & Kernel System Flash Success... Your board needs to reboot twice to complete the flashing procedure, please do not unplug it for 2 minutes.
焼き込みには5分以上掛かるので、ゆっくり待つことにしましょう。
ちなみに、reboot ota方式の場合は、※1のディスク上のイメージはそのまま残るため、「初期化したいときはreboot otaすればいい」という気軽なリセットが可能でした。しかし、今回ご紹介した方法でリセットを行うと、※1上の内容もまっさらになりますので、再びここにイメージをコピーしなおしておくと便利ですね。
明日のエントリーはこちらです。