OpenWrt for Arduino Yun cheat sheet: Difference between revisions
Jump to navigation
Jump to search
Line 12: | Line 12: | ||
[https://github.com/RedSnake64/openwrt-arduino-packages/tree/for-15.05 https://github.com/RedSnake64/openwrt-arduino-packages/tree/for-15.05] | [https://github.com/RedSnake64/openwrt-arduino-packages/tree/for-15.05 https://github.com/RedSnake64/openwrt-arduino-packages/tree/for-15.05] | ||
:RedSnake64版 arduino package | :RedSnake64版 arduino package | ||
[https://github.com/arduino/openwrt-packages-yun/tree/master/arduino https://github.com/arduino/openwrt-packages-yun/tree/master/arduino] | |||
:LLC版 arduino package | |||
= 本家 OpenWrt の Yun Profile を調査する = | = 本家 OpenWrt の Yun Profile を調査する = |
Revision as of 08:01, 30 January 2016
Arduino Yun の Atheros AR9331 で稼働する OpenWrt が、LLC 版 OpenWrt-yun も Linino もカーネルやパッケージが古くていろいろ残念なので OpenWrt の最新版との同期がとれるかをメモ。
すでにあるポーティング版 OpenWrt-yun
Arduino Yun フォーラムで発見した RedSnake64 さんの実装。
RedSnake64版 OpenWrt-yun:
https://github.com/RedSnake64/openwrt-yun ChaosCalmer_v1.2
- 人柱で導入してみた。mDNS がつかえず .local でアクセスできなかった。IP 指定で設定まではいけたがいったん実験終了。
- avahi-daemon 確認する事。
https://github.com/RedSnake64/openwrt-arduino-packages/tree/for-15.05
- RedSnake64版 arduino package
https://github.com/arduino/openwrt-packages-yun/tree/master/arduino
- LLC版 arduino package
本家 OpenWrt の Yun Profile を調査する
OpenWrt Project ですでに Arduino Yun の Profile がある。
target/linux/ar71xx/generic/profiles/arduino.mk ar71xx: add Arduino Yun
https://github.com/openwrt/packages/tree/master/utils/yunbridge yunbridge
- Arduino YUN bridge library が取り込まれている。
OpenWrt snapshot images:
https://downloads.openwrt.org/snapshots/trunk/ar71xx/generic/ https://downloads.openwrt.org/snapshots/trunk/ar71xx/generic/packages/ openwrt-ar71xx-generic-yun-16M-squashfs-sysupgrade.bin
- 時々ビルドに失敗して snapshots から消えてしまうようだ。一週間ぐらい気長に待つ。
- 次はこれで実験する予定。
git.openwrt.org Git - openwrt trunk tree
- OpenWrt 本体とコアなパッケージのレポジトリ。
https://github.com/openwrt/packages https://github.com/openwrt/luci https://github.com/openwrt-routing/packages https://github.com/openwrt/telephony https://github.com/openwrt-management/packages
- 本家のオプションパッケージは github で管理するようになっている。
Where to get packages OpenWrt Wiki
OpenWrt-Yun で必要なもの
Arduino OpenWrt Yún packages:
avrdude *
cpu-mcu-bridge *
cwiid
luci-app-arduino-webpanel
node-bleno
node-noble
node-socket.io
node-socket.io-client
node-socket.io-client-legacy
node-socket.io-legacy
node-sqlite3
node-ws
rng-tools *
spacebrew
temboo
uSDaemon
v8m-rb
yun-conf
yun-scripts
- avrdude は "packages/utils/avrdude" に純正パッケージがあるが、Yun 用の avrdude.conf をもつこのパッケージを使用する。
- cpu-mcu-bridge は純正パッケージの yunbridge と重なるが互換性をかんがえるとこっちにする。
- rng-tools は純正パッケージでいいかも。
#DELETE PACKAGES
rm -rf ./package/feeds/packages/avrdude
rm -rf ./package/feeds/arduino/rng-tools
#LINK CUSTOM PACKAGES
ln -s ../../../feeds/arduino/avrdude ./package/feeds/packages/avrdude
OpenWrt build メモ
RedSnake64 さん版を野良ビルド中...できるだけ本家の HEAD に近いように工夫する実験中...
Ubuntu 14.04 環境でクロスコンパイル。
git clone --depth=1 --branch 15.05 --single-branch https://github.com/RedSnake64/openwrt-yun.git
git clone --depth=1 --branch master --single-branch https://github.com/openwrt/openwrt.git
- 次はこっちで実験
apt-get update
apt-get install -y git subversion build-essential asciidoc \
fastjar flex gawk libgtk2.0-dev intltool zlib1g-dev \
genisoimage libncurses5-dev libssl-dev ruby sdcc unzip \
bison libboost-dev libxml-parser-perl libusb-dev bin86 \
bcc sharutils openjdk-7-jdk mercurial cvs bzr \
nodejs-legacy curl
apt-get install g++-multilib
Installing Node.js via package manager | Node.js
- Ubuntu 純正パッケージの nodejs, npm 使うとビルドこける。
https://downloads.openwrt.org/sources/
- パッケージのソースの取得に失敗する場合はここからとって ./dl/ 配下に置いておく。
wget http://pkgs.fedoraproject.org/repo/pkgs/libconfuse/confuse-2.7.tar.gz/45932fdeeccbb9ef4228f1c1a25e9c8f/confuse-2.7.tar.gz
v8m-rb の patch に '-fno-strict-overflow'. 追加
feeds.conf.default:
src-git packages https://github.com/openwrt/packages.git
src-git luci https://github.com/openwrt/luci.git
src-git routing https://github.com/openwrt-routing/packages.git
src-git telephony https://github.com/openwrt/telephony.git
src-git management https://github.com/openwrt-management/packages.git
##src-git targets https://github.com/openwrt/targets.git
#src-git oldpackages http://git.openwrt.org/packages.git
#src-svn xwrt http://x-wrt.googlecode.com/svn/trunk/package
#src-svn phone svn://svn.openwrt.org/openwrt/feeds/phone
#src-svn efl svn://svn.openwrt.org/openwrt/feeds/efl
#src-svn xorg svn://svn.openwrt.org/openwrt/feeds/xorg
#src-svn desktop svn://svn.openwrt.org/openwrt/feeds/desktop
#src-svn xfce svn://svn.openwrt.org/openwrt/feeds/xfce
#src-svn lxde svn://svn.openwrt.org/openwrt/feeds/lxde
#src-link custom /usr/src/openwrt/custom-feed
src-git arduino https://github.com/RedSnake64/openwrt-arduino-packages.git;for-15.05
- これでビルド実験中...
LLC 版 OpenWrt-yun の(古い) .config の avahi 系の設定は
CONFIG_PACKAGE_avahi-autoipd=m
CONFIG_PACKAGE_avahi-daemon=y
CONFIG_PACKAGE_avahi-dnsconfd=y
CONFIG_PACKAGE_avahi-utils=y
RedSnake64 さん版に avahi を設定するのは
CONFIG_PACKAGE_avahi-autoipd=m
CONFIG_PACKAGE_avahi-daemon-service-http=y
# CONFIG_PACKAGE_avahi-daemon-service-ssh is not set
CONFIG_PACKAGE_avahi-dbus-daemon=y
CONFIG_PACKAGE_avahi-dnsconfd=y
# CONFIG_PACKAGE_avahi-nodbus-daemon is not set
RedSnake64 さん版の build.sh を変更して menuconfig でいろいろ試せるようにする
- 初めてなら (.config がない時) RedSnake64 さん版の config.default を Load してから作業する。
#!/bin/bash -ex
#FEEDS
./scripts/feeds uninstall -a
rm -rf feeds
./scripts/feeds update -a
./scripts/feeds install -a
#DELETE PACKAGES
rm -rf ./package/feeds/packages/avrdude
rm -rf ./package/feeds/arduino/rng-tools
#LINK CUSTOM PACKAGES
ln -s ../../../feeds/arduino/avrdude ./package/feeds/packages/avrdude
make menuconfig