[[RMR9000-技術情報]]

#contents

以下の手順に沿って、お手元のLinux PCにSDKをダウンロードし、開発環境を準備下さい。
*Step0: RMR9000 development SDKのダウンロード [#gb1d58f8]
-access : http://220.110.201.21/openwrt/stable  (Thinktube 公開サーバー)
-click tt-openwrt-sdk-stable-3.1.7.tar.gz and starts download (最新Stable版を選択)

*Step1: ソースツリーのBuild [#e899707b]
註:処理の中でインターネットにアクセスしソースをダウンロードしますので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 [#y1951a76]
以下の例では、 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))

- helloWorld/src/Makefile の例
 TARGET = helloWorld
 OBJS = helloWorld.o
 
 all: $(TARGET)
 
 $(TARGET): $(OBJS)
 	$(CC) -o $(TARGET) $(OBJS)
 
 clean:
 	rm -f *.o *~ $(TARGET)


- helloWorld/src/helloWorld.cの例
 int main()
 {
 	printf("hello world \n");
 
     return 0;
 }


- tt-openwrt-sdk/feeds.conf.default の編集
 src-link openwrt ../../packages-openwrt
 #src-link thinktube ../../packages-thinktube  --> comment out or remove
 src-link luci ../../luci/contrib/package
 src-link my_packages ../../my-packages      -->  add this line !

*Step3: BuildしたパッケージをRMR9000へ導入 [#f71fae34]
- PCにてWebサーバーを起動、WebサーバーがBuildパッケージへアクセスできるようにアクセスパスを設定
 ln -s  ~/tt-openwrt-sdk/openwrt-tt/ tt-openwrt-sdk
 
- 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
- 「システム」->「ソフトウェア」へ戻る
-- 画面上部の「パッケージリストの更新」をクリック
-- 画面下部の「インストール可能なパッケージ」に以下が表示されていることを確認し、「インストール」をクリック
 インストール helloWorld  1 Sample application to learn how to make a package.
 
*注意点 [#o2c8ac27]
- Step1のBuildによりtt-openwrt-sdk/openwrt-tt/bin/ar71xxにファームウェア・イメージ・ファイルが作成されますが、~
こちらにはMeshCruzerなどのThinktube提供するパッケージは含まれていませんので、このファイルを使用して~
RMR9000のファームウェア更新は行わないでください。~
あくまでも当SDKは、個別パッケージのBuildならびに追加実装の目的でご利用ください。
- ファームウェア全体の更新を行うときは、Thinktube公開サーバーhttp://220.110.201.21/openwrt/stable/ にある~
最新版ファームウェアをダウンロードして更新を行ってください。


#br
#br
* トラブルシューティング [#c57649e5]
- 特定パッケージがダウンロードできない場合
--download that package from http://220.110.201.21/openwrt/stable/sources/
--copy that package into your tt-openwrt-sdk/openwrt-tt/dl
--restart building by "make V=99"


*References [#n36d2355]
-build environment
--http://wiki.openwrt.org/doc/start 
--http://wiki.openwrt.org/doc/howto/buildroot.exigence
--http://downloads.openwrt.org/docs/buildroot-documentation.html
--http://wiki.openwrt.org/about/toolchain

-create packages
--http://wiki.openwrt.org/doc/devel/packages
--http://wiki.openwrt.org/doc/howtobuild/single.package
--https://forum.openwrt.org/viewtopic.php?id=16040$


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS