RMR9000 development SDK
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[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パッケージへアクセスできるようにアクセスパスを設定
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
- 「システム」->「ソフトウェア」へ戻る
-- 画面上部の「パッケージリストの更新」をクリック
-- 画面下部の「インストール可能なパッケージ」に以下が表示されていることを確認し、「インストール」をクリック
インストール 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$
終了行:
[[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パッケージへアクセスできるようにアクセスパスを設定
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
- 「システム」->「ソフトウェア」へ戻る
-- 画面上部の「パッケージリストの更新」をクリック
-- 画面下部の「インストール可能なパッケージ」に以下が表示されていることを確認し、「インストール」をクリック
インストール 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$
ページ名: