2014/04/13

Arduino Yún:更新Linino映像檔

之前已成功設定Yún並可無線燒錄,不過繼續想要嘗試Arduino官方網站的一些範例程式時,都會停在Bridge.begin()這一行程式,找不出原因,後來更新Linino映像檔才解決。

這篇記錄一下更新步驟,注意,更新後原先建立的檔案與組態設定都會消失不見。

首先下載Arduino官方網站釋出的Linino映像檔,下載網址在此,我下載的是「Linino 1.0 Upgrade Image」,檔名是YunSysupgradeImage_v1.zip,解壓縮後得到openwrt-ar71xx-generic-linino-16M-squashfs-sysupgrade.bin。

把Linino映像檔放進一張microSD卡裡,插入Yún的記憶卡插槽,然後通電啟動。從瀏覽器登入Yún後,它會自動偵測記憶卡裡有無更新映像檔,並且顯示如下的畫面。
按下「RESET」就會開始更新,大約需3分鐘。官方文件說更新過程中WLAN LED會閃爍,不過我的卻沒閃。

另外也可從SSH登入,手動下指令更新。

首先透過SSH安全連線登入。(可把arduino.local換成你的Yún的IP位址。)
$ ssh root@arduino.local

第一次SSH連線時,會詢問你認不認識該主機,請輸入yes、按Enter。
The authenticity of host 'arduino.local (arduino.local)' can't be established.
RSA key fingerprint is 61:47:86:dd:12:4f:9e:33:91:71:36:fd:e2:8e:3d:5f.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'arduino.local' (RSA) to the list of known hosts.

然後輸入設定的密碼,預設是「arduino」。
root@arduino.local's password:

BusyBox v1.19.4 (2013-08-07 16:16:02 CEST) built-in shell (ash)
Enter 'help' for a list of built-in commands.
      ___                   ___                       ___           ___
     /\__\      ___        /\__\          ___        /\__\         /\  \
    /:/  /     /\  \      /::|  |        /\  \      /::|  |       /::\  \
   /:/  /      \:\  \    /:|:|  |        \:\  \    /:|:|  |      /:/\:\  \
  /:/  /       /::\__\  /:/|:|  |__      /::\__\  /:/|:|  |__   /:/  \:\  \
 /:/__/     __/:/\/__/ /:/ |:| /\__\  __/:/\/__/ /:/ |:| /\__\ /:/__/ \:\__\
 \:\  \    /\/:/  /    \/__|:|/:/  / /\/:/  /    \/__|:|/:/  / \:\  \ /:/  /
  \:\  \   \::/__/         |:/:/  /  \::/__/         |:/:/  /   \:\  /:/  /
   \:\  \   \:\__\         |::/  /    \:\__\         |::/  /     \:\/:/  /
    \:\__\   \/__/         /:/  /      \/__/         /:/  /       \::/  /
     \/__/                 \/__/                     \/__/         \/__/
                                                                                     
            _______                     ________        __
           |       |.-----.-----.-----.|  |  |  |.----.|  |_
           |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
           |_______||   __|_____|__|__||________||__|  |____|
                    |__| W I R E L E S S   F R E E D O M

root@Arduino:~#

哇,登入成功囉。先檢查一下Linino映像檔。
root@ArduinoYun:~# ls /mnt/sda1
openwrt-ar71xx-generic-linino-16M-squashfs-sysupgrade.bin

然後下指令進行更新。
root@ArduinoYun:~# run-sysupgrade /mnt/sda1/openwrt-ar71xx-generic-linino-16M-squashfs
-sysupgrade.bin
kill: you need to specify whom to kill
kill: you need to specify whom to kill
Sending TERM to remaining processes ... uhttpd dbus-daemon dnsmasq avahi-daemon thd ntpd uSDaemon sleep syslogd klogd hotplug2 procd netifd ubusd
Sending KILL to remaining processes ...
Switching to ramdisk...
Performing system upgrade...
Unlocking firmware ...

Writing from to firmware ...
Upgrade completed
Rebooting system...


等待約3分鐘後即可完成更新。


參考資料:

No comments:

Post a Comment