LinkIt 7688用にmtk-linkit-miniパッケージを用意する
2019年1月 6日(日) 16:07 JST
閲覧数 1,818
LinkIt 7688、デフォルトでビルドされてしまうmtk-linkitパッケージの依存関係の関係で馬鹿でかいイメージになるのをなんとかしたい。
でも、外せないパッケージは存在する。
なので整理しました。
mtk-linkit-miniパッケージ。
ROM容量の節約だけでなく、ビルド時間の短縮にもなります。
勿論、wps要らないとか、リセット系動作とか自分で定義しなおせるなら、自分で書いてしまった方がもっと節約できる。
とりあえず、手軽にコンパクト化するものという位置づけです。
mtk-linkit-miniパッケージは、mtk-linkitパッケージに対し以下パッチを当てて作成します。
feeedsなので、追加してからパッチを当ててください。(全体の手順は下に記載していきます。
Add-mtk-linkit-mini.patch
手順の前に、どれぐらいサイズとビルド時間が変わるのかを出しておこうかと思います。
バイナリサイズ | ビルド時間 | |
---|---|---|
mtk-linkit | 21,505kb | 85m10.838s |
mtk-linkit-mini | 3,329kb | 44m16.293s |
32MB Flashを積んでいるので、大して気にする必要も無いかもしれませんが、焼きの時間等も考えれば小さいに越したことはありません。(不要なものを動かすメモリも勿体ないですし。)
ビルド時間は、ソースコードのダウンロード時間は含まず、make -j1の結果なので、ダウンロード時間も含めると差はさらに大きくなる。
修正した手順は以下になります。
ビルド環境は、Ubuntu 14.04.5 LTSとした。
Ubuntu 16.04以降の場合は、今回挙げる以外にもパッチが必要になります。(コレについては別途記載する予定です。)
ビルド手順は、公式ビルド手順と書き方を合わせています。(手順1, 2, 3, 8が変わった形となっている。)
Steps
In the Ubuntu system, open the Terminal application and enter the following commands:
- Install prerequisite packages to build the firmware:
- Download the OpenWrt CC source codes: ※chaos_calmerのmasterだと、kernelバージョンが上がってしまっていてmtk-sdk-wifiドライバが合うものが無い。15.05.1を使う事になる。 ※TELECの関係上、mtk-sdk-wifiドライバを使用する必要があるため、使用するkernel は 3.18.21、3.18.23、3.18.27、3.18.29、3.18.36、3.18.44 のいずれかである必要がある。
- Patch fix git submodule. (Download and Patch)
- Prepare the default configuration file for feeds:
- Add the LinkIt Smart 7688 development board's feed:
- Update the feed information for all available packages to build the firmware:
- Install all packages:
- Change mtk-linkit-mini from mtk-linkit package:
- Prepare the kernel configuration:
- Select the following options:
- Target System: Ralink RT288x/RT3xxx
- Subtarget: MT7688 based boards
- Target Profile: LinkIt7688
- Save and exit (use the default configuration file without any modification)
- Start the compilation process:
- After the build process is finished, the resulted firmware file will be under "bin/ramips/openwrt-ramips-mt7688-LinkIt7688-squashfs-sysupgrade.bin". Depending on the hardware resources of the host environment, the build process may take more than 2 hours.
- You can use this file to update the firmware through Web UI or rename it to lks7688.img to update through a USB drive.
$ sudo apt-get install git g++ libncurses5-dev subversion libssl-dev gawk libxml-parser-perl unzip make
$ wget https://github.com/openwrt/chaos_calmer/archive/v15.05.1.tar.gz $ tar zxf v15.05.1.tar.gz
$ wget http://www.srchack.org/pub/openwrt/LinkIt7688/20181120/fix-git-submodule.patch $ patch -p1 < fix-git-submodule.patch
$ cd chaos_calmer-15.05.1 $ cp feeds.conf.default feeds.conf
$ echo src-git linkit https://github.com/MediaTek-Labs/linkit-smart-7688-feed.git >> feeds.conf
$ ./scripts/feeds update
$ ./scripts/feeds install -a
$ wget http://www.srchack.org/pub/openwrt/LinkIt7688/20190106/Add-mtk-linkit-mini.patch $ patch -p1 < Add-mtk-linkit-mini.patch
$ make menuconfig
$ make