RMR9000-技術情報
以下の手順に沿って、お手元のLinux PCにSDKをダウンロードし、開発環境を準備下さい。
Step0: RMR9000 development SDKのダウンロード †
Step1: ソースツリーのBuild †
註:処理の中でインターネットにアクセスしソースをダウンロードしますのでPCからインターネットへのアクセスが可能な環境で実行ください。
tar zxvf tt-openwrt-sdk-stable-3.1.7.tar.gz
cd tt-openwrt-sdk
cd openwrt-tt
cp default-config-rsp .config
make V=99 (Build完了までに暫く時間かかります)
- 参考: makeコマンドがエラーで終了した場合は、以下のパッケージが手元のPCに導入済みか確認ください。導入手順は以下のとおりです。(ubuntuの場合)
sudo apt-get install build-essential flex gawk gettext libncurses5-dev zlib1g-dev git-core subversion (上記mnakeを実行前に必要な場合があります)
sudo apt-get install gcc-multilib (you need to install 32bit gcc,if you use 64bit system )
- 参考: make処理の途中でソフトウェアソースコードをThinktube公開サーバよりダウンロードします。もし対象のパッケージが当該サーバーに存在しない場合は、クラウド上のソースコード提供サイトよりダウンロードを試みます。以下コマンドを実行するとまず最初にダウンロードを試みるサイトを確認いただくことができます。
execute "make menuconfig"
go to [Advanced configuration options (for developers)->local mirror for source packages]
remove "220.110.201.21/openwrt/stable/sources/"
save and exit
Step2: 独自ソフトウェアのBuild †
以下の例では、 my-packages というディレクトリを作成し、その下にパッケージごとにサブディレクトリを作成します。
cd ~/tt-openwrt-sdk
mkdir my-packages
mkdir helloWorld
cd helloWorld
edit Makefile (以下参照)
mkdir src
edit src/Makefile (以下参照)
edit src/helloWorld.c (以下参照)
cd ~/tt-openwrt-sdk
edit feeds.conf.default (以下参照)
./scripts/feeds update -a
./scripts/feeds install -a
make menuconfig --> select "M" for Samples/helloWorld、 "save"で終了
make packages/feeds/my-packages/helloWorld/compile V=99
make packages/feeds/my-packages/helloWorld/install V=99
make packages/index V=99
- helloWorld/Makefileの例
参照 http://wiki.openwrt.org/doc/devel/packages
include $(TOPDIR)/rules.mk
PKG_NAME:=helloWorld
PKG_RELEASE:=1
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
include $(INCLUDE_DIR)/package.mk
define Package/helloWorld
CATEGORY:=Samples
MAINTAINER:=Takayuki Kaiso <tkaiso@thinktube.com>
TITLE:=Thinktube sample application
endef
define Package/helloWorld/description
Sample application to learn how to make a package.
endef
define Build/Prepare
mkdir -p $(PKG_BUILD_DIR)
$(CP) ./src/* $(PKG_BUILD_DIR)/
endef
define Package/helloWorld/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/helloWorld $(1)/usr/bin/
endef
$(eval $(call BuildPackage,helloWorld))
Step3: BuildしたパッケージをRMR9000へ導入 †
- PCにてWebサーバーを起動、WebサーバーがBuildパッケージへアクセスできるようにアクセスパスを設定
sudo ln -s ~/tt-openwrt-sdk/openwrt-tt/ /var/www/tt-openwrt-sdk (ubuntu & apacheの場合)
- PCからRMR9000のWebサーバへアクセス
- 「システム」->「ソフトウェア」をクリック
- 「パッケージリストとインストールターゲットの編集」をクリックし、1行目のWebサーバ(この場合はBuildを行ったPC)のアドレスとパスを設定変更し保存
#src/gz snapshots http://220.110.201.21/openwrt/stable/ar71xx/packages
src/gz snapshots http://192.168.1.1/tt-openwrt-sdk/bin/ar71xx/packages
- 「システム」->「ソフトウェア」へ戻る
注意点 †
- Step1のBuildによりtt-openwrt-sdk/openwrt-tt/bin/ar71xxにファームウェア・イメージ・ファイルが作成されますが、
こちらにはMeshCruzerなどのThinktube提供するパッケージは含まれていませんので、このファイルを使用して
RMR9000のファームウェア更新は行わないでください。
あくまでも当SDKは、個別パッケージのBuildならびに追加実装の目的でご利用ください。
- ファームウェア全体の更新を行うときは、Thinktube公開サーバーhttp://220.110.201.21/openwrt/stable/ にある
最新版ファームウェアをダウンロードして更新を行ってください。
トラブルシューティング †
References †