Xiaomi MiWiFi青春版向けのOpenWrtをコンパイルしてみる

前回導入したOpenWrtは、MiWiFi青春版向けのものではなかったので対応したファームウェアを作成してみました。


※MiWiFi青春版はMiWiFi Nanoとも呼ばれます。
MiWiFi青春版向けOpenWrtのビルド

Ubuntu 14.04を使用してファームウェアの作成を行いました。

ビルド環境の構築
ビルドに必要なファームウェアキットのインストール

$ sudo apt-get install build-essential subversion mercurial libncurses5-dev zlib1g-dev gawk gcc-multilib flex git-core gettext libssl-dev
$ git clone https://git.openwrt.org/openwrt.git
$ cd openwrt
$ ./scripts/feeds update -a
$ ./scripts/feeds install -a

ビルド前の設定
MiWiFi青春版向けのOpenWrtファームウェアが作成されるように設定を行います。
$ make menuconfig
上のコマンドを実行すると以下の様な設定画面が表示されます。
MiWiFi青春版向けの設定は、次のように変更します。
「Target System」→「Ralink RT288x/RT3xxx」
「Subtarget」→「MT7628 based boards」
「Target Profile」→「Xiaomi MiWiFi Nano」
さらに、WEB UIが使えるようにluciパッケージを含むファームウェアを作成します。
「Luci」→「1. Collections」
luciにチェックを入れます。(Spaceキー)
Escキーを2回押して設定を保存し終了します。

FWのビルド
$ make V=99
ビルドが成功するとbin/ramipsフォルダにファームウェアが作成されます。

FWの書き込み

MiWiFi青春版はUSBポートが無いためTelnetでアクセス後、scpコマンドでFWを転送します。((メモ) 仮想マシンのSSHサーバーに接続できるようにする)

root@XiaoQiang:/tmp# scp test@192.168.31.206:/home/test/openwrt/bin/ramips/openwrt-ramips-mt7628-miwifi-nano-squashfs-sysupgrade.bin /tmp/
root@XiaoQiang:/tmp# mtd -r write openwrt-ramips-mt7628-miwifi-nano-squashfs-sysupgrade.bin firmware



メモ
以下の様なエラーが出てOpenWrtのビルドが失敗失敗しました。
mipsel-openwrt-linux-musl-gcc: internal compiler error: Killed (program cc1)
これはPCのメモリが足りず起きたもので、OpenWrtのビルドには4GB以上のメモリが必要だそうです。
(VMware Playerで作業を行っていたので設定からメモリサイズを4GBに変更して解決)

追記
以下のようなエラーでコンパイルが止まる場合「sudo make V=99」で続行
install -d -m0755 /bin
install -m0755 src/po2lmo /bin/po2lmo
install: cannot create regular file '/bin/po2lmo': Permission denied
参考
OpenWrt build system – Installation
编译固件 Build OpenWrt Firmware



0 件のコメント :