Linino わんわんハントセットを使ってみる その2
Linino One のファームウェアを更新してみる話
Arduino Yun のアップデータを使ってみる
さすがに、オリジナルファームウェアは古すぎるので、最新版のファームウェアを入れてみたいのですが…
まずは Yun のファームウェア。 たぶん、これが最終版だと思います。Openwrt 17.11 ベースなのでこれでも5年以上前ですね。 https://docs.arduino.cc/tutorials/yun-rev2/yun-updater
つかっているホストOSに合わせたパッケージをダウンロードして、アップデータを実行。
USB のシグネチャが Yun と違うのか、実行できないですね…。
Internet Archive を漁ってみる
Linino One のアップデータは http://download.linino.org/linino_distro/lininoIO にあったようなので、Internet Archive で漁ってみます。
アーカイブ
からはダウンロードできそうでしたので、lininoIO-generic-linino-one-squashfs-sysupgrade.bin
をダウンロードして、適当な microSD カードに入れておきます。
2015 年 10 月のものっぽい。もっと新しいのはだめぽい。
適当な ssh クライアントを使って、linux 環境にログインします。ユーザは root でパスワードは、自分で設定したパスワードになります。
BusyBox v1.19.4 (2014-10-14 03:54:55 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@linino:~#
SD カードが /mnt/sda1
に見えているはずなので、sysupgrade を実行します。
なお、途中で /mnt 以下が見えなくなるので、一旦 /tmp の下にコピーします。
root@linino:~# cp /mnt/sda1/lininoIO-generic-linino-one-squashfs-sysupgrade.bin
/tmp
root@linino:~# sysupgrade -v /tmp/lininoIO-generic-linino-one-squashfs-sysupgrad
e.bin
Saving config files...
etc/uhttpd.crt
etc/uhttpd.key
etc/uhttpd.key
etc/uhttpd.crt
etc/sysctl.conf
etc/shells
etc/shadow
etc/rc.local
etc/profile
etc/passwd
etc/inittab
etc/hosts
etc/group
etc/fw_env.config
etc/dropbear/dropbear_rsa_host_key
etc/dropbear/dropbear_dss_host_key
etc/config/wireless
etc/config/uhttpd
etc/config/ucitrack
etc/config/ubootenv
etc/config/system
etc/config/network
etc/config/luci
etc/config/fstab
etc/config/firewall
etc/config/dropbear
etc/config/dhcp
etc/config/arduino
etc/config/alljoyn
etc/avahi/services/http.service
Sending TERM to remaining processes ... ubusd netifd uSDaemon uhttpd dbus-daemon dnsmasq avahi-daemon alljoyn-daemon thd ntpd syslogd klogd hotplug2 ldattach
Sending KILL to remaining processes ... uhttpd
Switching to ramdisk...
Performing system upgrade...
Unlocking firmware ...
Writing from <stdin> to firmware ...
Appending jffs2 data from /tmp/sysupgrade.tgz to firmware...
Writing from <stdin> to firmware ... [w]TRX header not found
Error fixing up TRX header
Upgrade completed
Rebooting system...
なんかエラー出てるけど… これは新しくなったんだろうか?
BusyBox v1.19.4 (2015-10-03 14:03:26 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@linino:~# uname -a
Linux linino 3.3.8 #1 Sun Oct 4 02:29:26 CEST 2015 mips GNU/Linux
いちおう新しくはなっていますね。 ただ、これでもまだ REST API はエラーになる…。 スイッチサイエンスさんによると、2015年5月版以降なら大丈夫っぽいのだが。
なお Openwrt 自体は最新版の 23.5 でも対応しています。 ダウンロードサイトがアクセス不能のため Linino OS はパッケージマネージャが使えないので、Linux 側を真面目に使うならこちらの方がいいかもしれません。 https://openwrt.org/toh/arduino.cc/yun
その他
Arduino Yun オリジナル firmware への戻し方(未確認です) https://docs.arduino.cc/tutorials/yun-rev2/yun-u-boot-reflash
いっそ、Yun 化すればいいのかもしれないけど…。