自分の持つポータブルルーターTP-Link TL-WR703NにはOpenWrtのAttitude Adjustment (12.09, r36088)をインストールしてあったが、BarrierBreaker 14.07 RC3が公開され、TP-Link TL-WR703Nのイメージも用意されていた(r42056)ためインストールしてみた。わざわざアップグレードした理由があるのだがそれは後日。
ちなみに自分でもソースを取ってきてビルドしてみたがうまくいった。以前試したときにはサイズが大きくなりすぎてファームウェアのイメージが作成できないという問題があったが、今回はそういう問題は一切なかった。
以下アップグレードの手順。
1. Web UI(Luci)で設定ファイルのアーカイブのダウンロード(結局役に立たないどころか害になってしまったが。後述)。
2. 次に同じくLuciでsysupgrade.binイメージをアップロードしてアップグレード。設定を維持する、というチェックボックスを入れておく。
3. 本体メモリだけでは絶対的に容量が不足するので、Extrootで外部USBメモリを使う。Ext4でフォーマットするのなら以下で準備。
opkg update opkg install kmod-usb-storage block-mount kmod-fs-ext4
このステップで以下の様なエラーが出る(パッケージ名は違うが例として):
root@OpenWrt:~# opkg install kmod-scsi-generic Installing kmod-scsi-generic (3.10.49-1) to root... Downloading http://downloads.openwrt.org/barrier_breaker/14.07-rc3/ar71xx/generic/packages/kmod-scsi-generic_3.10.49-1_ar71xx.ipk. Installing kmod-scsi-core (3.10.49-1) to root... Downloading http://downloads.openwrt.org/barrier_breaker/14.07-rc3/ar71xx/generic/packages/kmod-scsi-core_3.10.49-1_ar71xx.ipk. Configuring kmod-scsi-core. kmod: failed to insert /lib/modules/3.10.49/sd_mod.ko Configuring kmod-scsi-generic. kmod: failed to insert /lib/modules/3.10.49/sg.ko
該当ファイルは該当ディレクトリに最初から存在していた。他のパッケージをopkgでインストールしようとしても同じようなエラーが発生したが今のところ特に問題は起きてない。
さて、Extrootは前回Attitude Adjustmentにアップグレードした際にもやったことなのでスムーズに行くかと思いきや、うまくいかない。
Extrootの仕組みがBBではAAからは変わったようで、”how to use the new block-mount ? (Page 1) — General Discussion — OpenWrt“というスレッドもある。前者にメモとして書かれている以下がポイント。
If the partition containing your extroot isn’t mounted during boot, but you can mount it without problems from a shell, you should try to increase config ‘global’ / option delay_root. On my system I had to set it to 15 to get extroot working.
自分のケースにぴったりあてはまる。それに従い、/etc/config/fstab
を以下のようにする。
config global 'automount' option delay_root '15' option from_fstab '1' option anon_mount '1'
実際これでうまくいった。不思議なのは、その後このファイルの中身が書き換えられてて、delay_rootを含む行は消されていた。それでもなぜかこれ以降はうまくいっている。
4. バックアップしていた設定ファイルのリストア
このステップが必要だったかわからない。これをせずとも自分が行った設定はほとんど残っていたと思う。
1.のステップでLuciで作成しておいた設定アーカイブをアップロードしたら、Luciがテーマが見つからないと言ってLuciが使えなくなってしまった。
opkg --force-reinstall install luci-theme-bootstrap
で回避。ただ、BBではAAのときとLuciのlook and feelはかなり変わっていた。余白の多いゆったりとしたレイアウトだったが、上の結果AAのときと同じに戻った。自分としてはそちらの方が好みだったので問題はない。
5. その他
- “Huawei E169 USB 3GドングルをTP-Link TL-WR703N上のOpenWrtで使えるようにする“に書いたGnokii用の設定が失われていた。4行ほどの簡単なものだったから回復はすぐだったが。
- AAでは動作していたuhttpdのCGIスクリプトが動作しなくなってしまった。
「TP-Link TL-WR703NのOpenWrtをBarrier Breaker RC3にアップグレード」への3件のフィードバック