OpenWrt for Arduino Yun cheat sheet: Difference between revisions
(89 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
OpenWrt |
OpenWrt which runs on the Atheros AR 9331 of Arduino Yun, LLC edition OpenWrt-Yun also Linino is obsolete in the kernel and various packages (and there are security problems). I will drill down on how to upgrade to the latest version of OpenWrt. ('''With Absolutely NO Warranty''') |
||
Prepare for the Security update of OpenWrt-Yun, Arduino Yun Operating System |
Prepare for the Security update of OpenWrt-Yun, Arduino Yun Operating System. '''In the IoT ERA, I think it is a very important thing.''' |
||
<syntaxhighlight lang="text" enclose="div"> |
<syntaxhighlight lang="text" enclose="div"> |
||
Line 14: | Line 14: | ||
\ \ DE / |
\ \ DE / |
||
\ LE \ / ----------------------------------------------------------- |
\ LE \ / ----------------------------------------------------------- |
||
\ DE \ / Reboot (17.01-SNAPSHOT, |
\ DE \ / Reboot (17.01-SNAPSHOT, r3796-473e994) |
||
\________\/ ----------------------------------------------------------- |
\________\/ ----------------------------------------------------------- |
||
Line 38: | Line 38: | ||
root@Arduino:~# uname -a |
root@Arduino:~# uname -a |
||
Linux Arduino 4.4. |
Linux Arduino 4.4.108 #0 Fri Dec 29 23:36:25 2017 mips GNU/Linux |
||
</syntaxhighlight> |
</syntaxhighlight> |
||
'''NOTE:''' Arduino.cc (LLC) goes to '''LininoOS'''!!! |
'''NOTE:''' Arduino.cc (LLC) goes to '''LininoOS'''!!! |
||
: [https://www.arduino.cc/en/ |
: [https://www.arduino.cc/en/Guide/ArduinoYunLin Arduino Yún LininoOS] (since 2-Nov-2016) |
||
Line 58: | Line 58: | ||
[https://github.com/arduino/openwrt-yun-1505 https://github.com/arduino/openwrt-yun-1505] |
[https://github.com/arduino/openwrt-yun-1505 https://github.com/arduino/openwrt-yun-1505] |
||
= |
= Explore the Yun Profile of the OpenWrt / LEDE Project = |
||
The OpenWrt / LEDE Project, already exist a Arduino Yun Profile. |
The OpenWrt / LEDE Project, already exist a Arduino Yun Profile. |
||
[https://git. |
[https://git.openwrt.org/?p=source.git;a=blob;f=target/linux/ar71xx/generic/profiles/arduino.mk;h=8ae5054a7e312213cf872833594b16c0f0237cf1;hb=HEAD target/linux/ar71xx/generic/profiles/arduino.mk] |
||
[https://git. |
[https://git.openwrt.org/?p=source.git;a=commitdiff;h=fa137d51f5cbc678922950a6b06883c1d2141ac2 ar71xx: add Arduino Yun] |
||
[https://github.com/openwrt/packages/tree/master/utils/yunbridge https://github.com/openwrt/packages/tree/master/utils/yunbridge] |
[https://github.com/openwrt/packages/tree/master/utils/yunbridge https://github.com/openwrt/packages/tree/master/utils/yunbridge] |
||
Line 70: | Line 70: | ||
[https://downloads.openwrt.org/snapshots/trunk/ar71xx/generic/ https://downloads.openwrt.org/snapshots/trunk/ar71xx/generic/] |
[https://downloads.openwrt.org/snapshots/trunk/ar71xx/generic/ https://downloads.openwrt.org/snapshots/trunk/ar71xx/generic/] |
||
[https://downloads.openwrt.org/snapshots/trunk/ar71xx/generic/packages/ https://downloads.openwrt.org/snapshots/trunk/ar71xx/generic/packages/] |
[https://downloads.openwrt.org/snapshots/trunk/ar71xx/generic/packages/ https://downloads.openwrt.org/snapshots/trunk/ar71xx/generic/packages/] |
||
[https://downloads.openwrt.org/snapshots/trunk/ar71xx/generic/openwrt-ar71xx-generic-yun-16M-squashfs-sysupgrade.bin openwrt-ar71xx-generic-yun-16M-squashfs-sysupgrade.bin] |
|||
:This System Image is corresponding Arduino Yun Hardware. but, of course Arduino Yun own software is not implemented. |
|||
::Mirror site: [http://ftp.stw-bonn.de/pub/openwrt/snapshots/trunk/ar71xx/generic/ http://ftp.stw-bonn.de/pub/openwrt/snapshots/trunk/ar71xx/generic/] |
::Mirror site: [http://ftp.stw-bonn.de/pub/openwrt/snapshots/trunk/ar71xx/generic/ http://ftp.stw-bonn.de/pub/openwrt/snapshots/trunk/ar71xx/generic/] |
||
Line 78: | Line 76: | ||
[http://downloads.lede-project.org/snapshots/targets/ar71xx/generic/packages/ http://downloads.lede-project.org/snapshots/targets/ar71xx/generic/packages/] |
[http://downloads.lede-project.org/snapshots/targets/ar71xx/generic/packages/ http://downloads.lede-project.org/snapshots/targets/ar71xx/generic/packages/] |
||
[http://downloads.lede-project.org/snapshots/packages/mips_24kc/ http://downloads.lede-project.org/snapshots/packages/mips_24kc/] |
[http://downloads.lede-project.org/snapshots/packages/mips_24kc/ http://downloads.lede-project.org/snapshots/packages/mips_24kc/] |
||
:'''This System Image is corresponding Arduino Yun Hardware. but, of course Arduino Yun own software is not implemented.''' |
|||
:'''lede-ar71xx-generic-yun-16M-squashfs-sysupgrade.bin''' dose not exist now, because of kernel size issue. |
|||
::Disable 'CONFIG_KERNEL_KALLSYMS' reduce kernel size. |
|||
:::Latest LEDE Trunk Allows to have a kernel bigger than 1280k. |
|||
::::'''lede-ar71xx-generic-arduino-yun-squashfs-sysupgrade.bin''' |
|||
:::You may re-enable 'CONFIG_KERNEL_KALLSYMS' |
|||
OpenWrt Core: |
OpenWrt Core: |
||
Line 101: | Line 95: | ||
:Optional package of OpenWrt Project is managed on github. |
:Optional package of OpenWrt Project is managed on github. |
||
= |
= Explore the OpenWrt-Yun = |
||
== OpenWrt-Yun arduino packages == |
== OpenWrt-Yun arduino packages == |
||
LLC edition arduino package: |
LLC edition arduino package: |
||
Line 144: | Line 138: | ||
#node, node-serialport: use a OpenWrt package. so should delete. |
#node, node-serialport: use a OpenWrt package. so should delete. |
||
#"-legacy" mean that the 0.9.x version. |
#"-legacy" mean that the 0.9.x version. |
||
#rng-tools: OpenWrt package |
#rng-tools: use a OpenWrt package. so should delete. |
||
#v8m-rb: Not required, so should delete. |
#v8m-rb: Not required, so should delete. |
||
'''My new arduino packages here''': |
'''My new arduino packages here''': |
||
[https://github.com/nxhack/openwrt-arduino-packages |
[https://github.com/nxhack/openwrt-arduino-packages https://github.com/nxhack/openwrt-arduino-packages] |
||
Arturo Rinaldi edition linino packages: |
Arturo Rinaldi edition linino packages: |
||
Line 158: | Line 152: | ||
= Trunk Bleeding Edge / Reboot version of OpenWrt-Yun package and build environment = |
= Trunk Bleeding Edge / Reboot version of OpenWrt-Yun package and build environment = |
||
[https:// |
[https://github.com/openwrt/openwrt.git https://github.com/openwrt/openwrt.git] |
||
[https://github.com/nxhack/openwrt-yun-build-extra https://github.com/nxhack/openwrt-yun-build-extra] |
[https://github.com/nxhack/openwrt-yun-build-extra https://github.com/nxhack/openwrt-yun-build-extra] |
||
[https://github.com/nxhack/openwrt-arduino-packages |
[https://github.com/nxhack/openwrt-arduino-packages https://github.com/nxhack/openwrt-arduino-packages] |
||
Setup repos: |
Setup repos: |
||
Line 166: | Line 160: | ||
mkdir Build_Path_Some_Where |
mkdir Build_Path_Some_Where |
||
cd Build_Path_Some_Where |
cd Build_Path_Some_Where |
||
git clone |
git clone https://github.com/openwrt/openwrt.git |
||
git clone --depth=1 --branch master --single-branch https://github.com/nxhack/openwrt-yun-build-extra.git |
git clone --depth=1 --branch master --single-branch https://github.com/nxhack/openwrt-yun-build-extra.git |
||
cd |
cd openwrt |
||
ln -s ../openwrt-yun-build-extra/* . |
ln -s ../openwrt-yun-build-extra/* . |
||
</syntaxhighlight> |
</syntaxhighlight> |
||
Or lede-17.01 |
|||
<syntaxhighlight lang="bash" enclose="div"> |
|||
mkdir Build_Path_Some_Where |
|||
cd Build_Path_Some_Where |
|||
git clone --branch lede-17.01 https://github.com/openwrt/openwrt.git |
|||
git clone --depth=1 --branch lede-17.01 --single-branch https://github.com/nxhack/openwrt-yun-build-extra.git |
|||
cd openwrt |
|||
ln -s ../openwrt-yun-build-extra/* . |
|||
</syntaxhighlight> |
|||
Please modify ./files/etc/opkg/distfeeds.conf |
Please modify ./files/etc/opkg/distfeeds.conf |
||
Line 196: | Line 200: | ||
<syntaxhighlight lang="bash" enclose="div"> |
<syntaxhighlight lang="bash" enclose="div"> |
||
setenv mtdparts "spi0.0:256k(u-boot)ro,64k(u-boot-env),15936k(firmware),64k(nvram),64k(art)ro" |
setenv mtdparts "spi0.0:256k(u-boot)ro,64k(u-boot-env),15936k(firmware),64k(nvram),64k(art)ro" |
||
setenv bootcmd "run addboard; run addtty; run addparts; run addrootfs; bootm 0x9f050000 || bootm |
setenv bootcmd "run addboard; run addtty; run addparts; run addrootfs; bootm 0x9f050000 || bootm 0x9fde0000" |
||
saveenv |
saveenv |
||
</syntaxhighlight> |
</syntaxhighlight> |
||
memo... |
memo memo... be careful |
||
:setenv serverip ‹tftp-server-ip›; setenv ipaddr ‹yun-board-ip›; |
|||
<syntaxhighlight lang="bash" enclose="div"> |
<syntaxhighlight lang="bash" enclose="div"> |
||
setenv |
setenv board Yun |
||
setenv mtdparts "spi0.0:256k(u-boot)ro,64k(u-boot-env),15936k(firmware),64k(nvram),64k(art)ro" |
|||
setenv ipaddr 192.168.0.120; |
|||
setenv rootfstype "squashfs,jffs2" |
|||
ping 192.168.0.101; |
|||
setenv bootargs "console=ttyATH0,250000 board=Yun mem=64M" |
|||
setenv noinitrd |
|||
</syntaxhighlight> |
</syntaxhighlight> |
||
<syntaxhighlight lang="bash" enclose="div"> |
|||
tftp 0x80060000 lede-ar71xx-generic/lede-ar71xx-generic-uImage-lzma.bin; |
|||
memo... |
|||
erase 0x9FDE0000 +$filesize; |
|||
:setenv serverip ‹tftp-server-ip›; setenv ipaddr ‹yun-board-ip›; |
|||
cp.b $fileaddr 0x9FDE0000 $filesize; |
|||
tftp 0x80060000 lede-ar71xx-generic/lede-ar71xx-generic-root.squashfs; |
|||
erase 0x9F050000 +$filesize; |
|||
cp.b $fileaddr 0x9F050000 $filesize; |
|||
reset |
|||
</syntaxhighlight> |
|||
<syntaxhighlight lang="bash" enclose="div"> |
<syntaxhighlight lang="bash" enclose="div"> |
||
setenv serverip 192.168.1.10; |
|||
saveenv |
|||
setenv |
setenv ipaddr 192.168.1.1; |
||
ping 192.168.1.10; |
|||
saveenv |
|||
reset |
|||
</syntaxhighlight> |
</syntaxhighlight> |
||
Line 237: | Line 235: | ||
== Essential items in the kernel configuration == |
== Essential items in the kernel configuration == |
||
'''diffconfig''' |
|||
<syntaxhighlight lang="text" enclose="div"> |
<syntaxhighlight lang="text" enclose="div"> |
||
CONFIG_TARGET_ar71xx=y |
CONFIG_TARGET_ar71xx=y |
||
Line 244: | Line 243: | ||
CONFIG_ALL_NONSHARED=y |
CONFIG_ALL_NONSHARED=y |
||
CONFIG_DEVEL=y |
CONFIG_DEVEL=y |
||
CONFIG_BUILD_PATENTED=y |
|||
CONFIG_TOOLCHAINOPTS=y |
|||
CONFIG_CCACHE=y |
CONFIG_CCACHE=y |
||
CONFIG_GCC_USE_VERSION_6=y |
|||
CONFIG_GCC_VERSION="6.3.0" |
|||
CONFIG_IB=y |
CONFIG_IB=y |
||
CONFIG_IB_STANDALONE=y |
CONFIG_IB_STANDALONE=y |
||
CONFIG_IMAGEOPT=y |
CONFIG_IMAGEOPT=y |
||
CONFIG_KERNEL_MIPS_FPU_EMULATOR=y |
|||
CONFIG_KERNEL_AIO=y |
|||
CONFIG_LIBCURL_COOKIES=y |
CONFIG_LIBCURL_COOKIES=y |
||
CONFIG_LIBCURL_FILE=y |
CONFIG_LIBCURL_FILE=y |
||
Line 261: | Line 258: | ||
CONFIG_LUCI_LANG_en=y |
CONFIG_LUCI_LANG_en=y |
||
CONFIG_MAKE_TOOLCHAIN=y |
CONFIG_MAKE_TOOLCHAIN=y |
||
CONFIG_NODEJS_8=y |
|||
CONFIG_MINIUPNPD_IGDv2=y |
|||
CONFIG_NODEJS_ICU_NONE=y |
|||
CONFIG_NODEJS_6=y |
|||
CONFIG_OPENSSL_ENGINE_CRYPTO=y |
|||
CONFIG_OPENSSL_WITH_COMPRESSION=y |
CONFIG_OPENSSL_WITH_COMPRESSION=y |
||
CONFIG_OPENSSL_WITH_DEPRECATED=y |
CONFIG_OPENSSL_WITH_DEPRECATED=y |
||
Line 290: | Line 286: | ||
CONFIG_PACKAGE_arduinoos=m |
CONFIG_PACKAGE_arduinoos=m |
||
CONFIG_PACKAGE_argp-standalone=y |
CONFIG_PACKAGE_argp-standalone=y |
||
CONFIG_PACKAGE_avahi-daemon-service-ssh=y |
|||
CONFIG_PACKAGE_avahi-dbus-daemon=y |
CONFIG_PACKAGE_avahi-dbus-daemon=y |
||
CONFIG_PACKAGE_avahi-dnsconfd=y |
CONFIG_PACKAGE_avahi-dnsconfd=y |
||
CONFIG_PACKAGE_avahi-utils=y |
|||
CONFIG_PACKAGE_avrdude=y |
CONFIG_PACKAGE_avrdude=y |
||
CONFIG_PACKAGE_badblocks=y |
|||
CONFIG_PACKAGE_blkid=y |
CONFIG_PACKAGE_blkid=y |
||
CONFIG_PACKAGE_block-mount=y |
CONFIG_PACKAGE_block-mount=y |
||
CONFIG_PACKAGE_bluez-libs=m |
CONFIG_PACKAGE_bluez-libs=m |
||
CONFIG_PACKAGE_bossa=y |
CONFIG_PACKAGE_bossa=y |
||
CONFIG_PACKAGE_ca-bundle=y |
|||
CONFIG_PACKAGE_ca-certificates=y |
|||
CONFIG_PACKAGE_ciao=y |
CONFIG_PACKAGE_ciao=y |
||
CONFIG_PACKAGE_ciao-connector-phant=m |
CONFIG_PACKAGE_ciao-connector-phant=m |
||
Line 305: | Line 306: | ||
CONFIG_PACKAGE_dbus=y |
CONFIG_PACKAGE_dbus=y |
||
CONFIG_PACKAGE_dbus-utils=y |
CONFIG_PACKAGE_dbus-utils=y |
||
CONFIG_PACKAGE_dosfstools=y |
|||
CONFIG_PACKAGE_dnsmasq-dhcpv6=y |
|||
CONFIG_PACKAGE_duktape=m |
CONFIG_PACKAGE_duktape=m |
||
CONFIG_PACKAGE_e2fsprogs=y |
|||
CONFIG_PACKAGE_git=m |
|||
CONFIG_PACKAGE_fdisk=y |
|||
CONFIG_PACKAGE_gnupg=y |
CONFIG_PACKAGE_gnupg=y |
||
CONFIG_PACKAGE_hidapi=m |
CONFIG_PACKAGE_hidapi=m |
||
CONFIG_PACKAGE_kmod- |
CONFIG_PACKAGE_kmod-fs-exfat=m |
||
CONFIG_PACKAGE_kmod- |
CONFIG_PACKAGE_kmod-fs-msdos=y |
||
CONFIG_PACKAGE_kmod-crypto-hash=y |
|||
CONFIG_PACKAGE_kmod-crypto-manager=y |
|||
CONFIG_PACKAGE_kmod-crypto-null=y |
|||
CONFIG_PACKAGE_kmod-crypto-pcompress=y |
|||
CONFIG_PACKAGE_kmod-cryptodev=m |
|||
CONFIG_PACKAGE_kmod-fs-afs=m |
|||
CONFIG_PACKAGE_kmod-fs-ext4=y |
|||
CONFIG_PACKAGE_kmod-fs-hfs=y |
|||
CONFIG_PACKAGE_kmod-fs-hfsplus=y |
|||
CONFIG_PACKAGE_kmod-fs-ntfs=y |
|||
CONFIG_PACKAGE_kmod-fs-reiserfs=y |
|||
CONFIG_PACKAGE_kmod-fs-vfat=y |
CONFIG_PACKAGE_kmod-fs-vfat=y |
||
CONFIG_PACKAGE_kmod-fuse=y |
|||
CONFIG_PACKAGE_kmod-i2c-core=y |
|||
CONFIG_PACKAGE_kmod-ipt-debug=m |
|||
CONFIG_PACKAGE_kmod-leds-gpio=y |
|||
CONFIG_PACKAGE_kmod-ledtrig-default-on=y |
|||
CONFIG_PACKAGE_kmod-ledtrig-netdev=y |
|||
CONFIG_PACKAGE_kmod-ledtrig-timer=y |
|||
CONFIG_PACKAGE_kmod-lib-crc16=y |
|||
CONFIG_PACKAGE_kmod-loop=y |
CONFIG_PACKAGE_kmod-loop=y |
||
CONFIG_PACKAGE_kmod-nls-cp437=y |
CONFIG_PACKAGE_kmod-nls-cp437=y |
||
CONFIG_PACKAGE_kmod-nls-iso8859-1=y |
CONFIG_PACKAGE_kmod-nls-iso8859-1=y |
||
CONFIG_PACKAGE_kmod-nls-utf8=y |
CONFIG_PACKAGE_kmod-nls-utf8=y |
||
CONFIG_PACKAGE_kmod-rxrpc=m |
|||
CONFIG_PACKAGE_kmod-scsi-core=y |
CONFIG_PACKAGE_kmod-scsi-core=y |
||
CONFIG_PACKAGE_kmod-scsi-generic=y |
|||
CONFIG_PACKAGE_kmod-spi-bitbang=y |
CONFIG_PACKAGE_kmod-spi-bitbang=y |
||
CONFIG_PACKAGE_kmod-spi-dev=y |
CONFIG_PACKAGE_kmod-spi-dev=y |
||
CONFIG_PACKAGE_kmod-spi-gpio=y |
CONFIG_PACKAGE_kmod-spi-gpio=y |
||
CONFIG_PACKAGE_kmod-spi-gpio-custom=y |
CONFIG_PACKAGE_kmod-spi-gpio-custom=y |
||
CONFIG_PACKAGE_kmod-usb-ohci=y |
|||
CONFIG_PACKAGE_kmod-usb-storage=y |
CONFIG_PACKAGE_kmod-usb-storage=y |
||
CONFIG_PACKAGE_kmod-video-core=y |
|||
CONFIG_PACKAGE_libavahi-client=y |
CONFIG_PACKAGE_libavahi-client=y |
||
CONFIG_PACKAGE_libavahi-compat-libdnssd=y |
CONFIG_PACKAGE_libavahi-compat-libdnssd=y |
||
Line 350: | Line 331: | ||
CONFIG_PACKAGE_libblkid=y |
CONFIG_PACKAGE_libblkid=y |
||
CONFIG_PACKAGE_libbz2=y |
CONFIG_PACKAGE_libbz2=y |
||
CONFIG_PACKAGE_libcap= |
CONFIG_PACKAGE_libcap=m |
||
CONFIG_PACKAGE_libcomerr=y |
|||
CONFIG_PACKAGE_libcurl=y |
CONFIG_PACKAGE_libcurl=y |
||
CONFIG_PACKAGE_libdaemon=y |
CONFIG_PACKAGE_libdaemon=y |
||
CONFIG_PACKAGE_libdbus=y |
CONFIG_PACKAGE_libdbus=y |
||
CONFIG_PACKAGE_libelf1=y |
CONFIG_PACKAGE_libelf1=y |
||
CONFIG_PACKAGE_libevdev=m |
|||
CONFIG_PACKAGE_libexpat=y |
CONFIG_PACKAGE_libexpat=y |
||
CONFIG_PACKAGE_libext2fs=y |
|||
CONFIG_PACKAGE_libfdisk=y |
|||
CONFIG_PACKAGE_libffi=y |
CONFIG_PACKAGE_libffi=y |
||
CONFIG_PACKAGE_libftdi1=y |
CONFIG_PACKAGE_libftdi1=y |
||
CONFIG_PACKAGE_libfuse=m |
CONFIG_PACKAGE_libfuse=m |
||
CONFIG_PACKAGE_libgcrypt=y |
|||
CONFIG_PACKAGE_libgdbm=y |
CONFIG_PACKAGE_libgdbm=y |
||
CONFIG_PACKAGE_libgmp=y |
|||
CONFIG_PACKAGE_libgpg-error=y |
|||
CONFIG_PACKAGE_libiwinfo-lua=y |
CONFIG_PACKAGE_libiwinfo-lua=y |
||
CONFIG_PACKAGE_liblua=y |
CONFIG_PACKAGE_liblua=y |
||
CONFIG_PACKAGE_liblucihttp=y |
|||
CONFIG_PACKAGE_libmodbus=m |
|||
CONFIG_PACKAGE_liblucihttp-lua=y |
|||
CONFIG_PACKAGE_liblzma=m |
|||
CONFIG_PACKAGE_libncurses=y |
CONFIG_PACKAGE_libncurses=y |
||
CONFIG_PACKAGE_libnettle=y |
|||
CONFIG_PACKAGE_libopenssl=y |
CONFIG_PACKAGE_libopenssl=y |
||
CONFIG_PACKAGE_libpam=m |
CONFIG_PACKAGE_libpam=m |
||
Line 374: | Line 357: | ||
CONFIG_PACKAGE_libreadline=y |
CONFIG_PACKAGE_libreadline=y |
||
CONFIG_PACKAGE_librt=y |
CONFIG_PACKAGE_librt=y |
||
CONFIG_PACKAGE_libsmartcols=y |
|||
CONFIG_PACKAGE_libss=y |
|||
CONFIG_PACKAGE_libstdcpp=y |
CONFIG_PACKAGE_libstdcpp=y |
||
CONFIG_PACKAGE_libubus-lua=y |
CONFIG_PACKAGE_libubus-lua=y |
||
CONFIG_PACKAGE_libudev-fbsd=m |
|||
CONFIG_PACKAGE_libuci-lua=y |
|||
CONFIG_PACKAGE_libusb-1.0=y |
CONFIG_PACKAGE_libusb-1.0=y |
||
CONFIG_PACKAGE_libusb-compat=y |
CONFIG_PACKAGE_libusb-compat=y |
||
Line 404: | Line 389: | ||
CONFIG_PACKAGE_luci-theme-bootstrap=y |
CONFIG_PACKAGE_luci-theme-bootstrap=y |
||
CONFIG_PACKAGE_luci-theme-openwrt=y |
CONFIG_PACKAGE_luci-theme-openwrt=y |
||
CONFIG_PACKAGE_mg= |
CONFIG_PACKAGE_mg=y |
||
CONFIG_PACKAGE_nano=y |
CONFIG_PACKAGE_nano=y |
||
CONFIG_PACKAGE_node=m |
CONFIG_PACKAGE_node=m |
||
CONFIG_PACKAGE_node- |
CONFIG_PACKAGE_node-actions-on-google=m |
||
CONFIG_PACKAGE_node-alexa-app=m |
|||
CONFIG_PACKAGE_node-alexa-sdk=m |
|||
CONFIG_PACKAGE_node-arduino-firmata=m |
CONFIG_PACKAGE_node-arduino-firmata=m |
||
CONFIG_PACKAGE_node-authenticate-pam=m |
CONFIG_PACKAGE_node-authenticate-pam=m |
||
Line 423: | Line 410: | ||
CONFIG_PACKAGE_node-bleno=m |
CONFIG_PACKAGE_node-bleno=m |
||
CONFIG_PACKAGE_node-bluetooth-hci-socket=m |
CONFIG_PACKAGE_node-bluetooth-hci-socket=m |
||
CONFIG_PACKAGE_node-bower=m |
|||
CONFIG_PACKAGE_node-browserify=m |
CONFIG_PACKAGE_node-browserify=m |
||
CONFIG_PACKAGE_node-bufferutil=m |
|||
CONFIG_PACKAGE_node-coap=m |
CONFIG_PACKAGE_node-coap=m |
||
CONFIG_PACKAGE_node-cpx=m |
CONFIG_PACKAGE_node-cpx=m |
||
Line 432: | Line 419: | ||
CONFIG_PACKAGE_node-cylon-i2c=m |
CONFIG_PACKAGE_node-cylon-i2c=m |
||
CONFIG_PACKAGE_node-eddystone-beacon=m |
CONFIG_PACKAGE_node-eddystone-beacon=m |
||
CONFIG_PACKAGE_node-ejdb=m |
|||
CONFIG_PACKAGE_node-epoll=m |
|||
CONFIG_PACKAGE_node-exorcist=m |
|||
CONFIG_PACKAGE_node-express=m |
CONFIG_PACKAGE_node-express=m |
||
CONFIG_PACKAGE_node-ffi=m |
|||
CONFIG_PACKAGE_node-firmata=m |
CONFIG_PACKAGE_node-firmata=m |
||
CONFIG_PACKAGE_node-forever=m |
CONFIG_PACKAGE_node-forever=m |
||
CONFIG_PACKAGE_node-fuse-bindings=m |
CONFIG_PACKAGE_node-fuse-bindings=m |
||
CONFIG_PACKAGE_node-hap-nodejs=m |
|||
CONFIG_PACKAGE_node-hashmap=m |
CONFIG_PACKAGE_node-hashmap=m |
||
CONFIG_PACKAGE_node-hashtable=m |
CONFIG_PACKAGE_node-hashtable=m |
||
Line 449: | Line 441: | ||
CONFIG_PACKAGE_node-levelup=m |
CONFIG_PACKAGE_node-levelup=m |
||
CONFIG_PACKAGE_node-logfmt=m |
CONFIG_PACKAGE_node-logfmt=m |
||
CONFIG_PACKAGE_node-lwm2m-node-lib=m |
|||
CONFIG_PACKAGE_node-mdns=m |
CONFIG_PACKAGE_node-mdns=m |
||
CONFIG_PACKAGE_node-mknod=m |
CONFIG_PACKAGE_node-mknod=m |
||
Line 456: | Line 449: | ||
CONFIG_PACKAGE_node-muzzley-client=m |
CONFIG_PACKAGE_node-muzzley-client=m |
||
CONFIG_PACKAGE_node-nconf=m |
CONFIG_PACKAGE_node-nconf=m |
||
CONFIG_PACKAGE_node-net-ping=m |
|||
CONFIG_PACKAGE_node-nino-io=m |
CONFIG_PACKAGE_node-nino-io=m |
||
CONFIG_PACKAGE_node-nitrogen=m |
CONFIG_PACKAGE_node-nitrogen=m |
||
Line 463: | Line 457: | ||
CONFIG_PACKAGE_node-node-expat=m |
CONFIG_PACKAGE_node-node-expat=m |
||
CONFIG_PACKAGE_node-node-hid=m |
CONFIG_PACKAGE_node-node-hid=m |
||
CONFIG_PACKAGE_node-node-inspect=m |
|||
CONFIG_PACKAGE_node-node-lambda=m |
CONFIG_PACKAGE_node-node-lambda=m |
||
CONFIG_PACKAGE_node-node-red=m |
CONFIG_PACKAGE_node-node-red=m |
||
CONFIG_PACKAGE_node-node-red-contrib-gpio=m |
CONFIG_PACKAGE_node-node-red-contrib-gpio=m |
||
CONFIG_PACKAGE_node-node-red-contrib-homekit=m |
|||
CONFIG_PACKAGE_node-node-red-node-arduino=m |
CONFIG_PACKAGE_node-node-red-node-arduino=m |
||
CONFIG_PACKAGE_node-node-static=m |
CONFIG_PACKAGE_node-node-static=m |
||
CONFIG_PACKAGE_node-npm=m |
CONFIG_PACKAGE_node-npm=m |
||
CONFIG_PACKAGE_node- |
CONFIG_PACKAGE_node-npm-check-updates=m |
||
CONFIG_PACKAGE_node-onoff=m |
CONFIG_PACKAGE_node-onoff=m |
||
CONFIG_PACKAGE_node-pm2=m |
CONFIG_PACKAGE_node-pm2=m |
||
Line 486: | Line 482: | ||
CONFIG_PACKAGE_node-statvfs=m |
CONFIG_PACKAGE_node-statvfs=m |
||
CONFIG_PACKAGE_node-twilio=m |
CONFIG_PACKAGE_node-twilio=m |
||
CONFIG_PACKAGE_node-typescript=m |
|||
CONFIG_PACKAGE_node-uglify-js=m |
CONFIG_PACKAGE_node-uglify-js=m |
||
CONFIG_PACKAGE_node-usb=m |
CONFIG_PACKAGE_node-usb=m |
||
CONFIG_PACKAGE_node-utf-8-validate=m |
|||
CONFIG_PACKAGE_node-ws=m |
CONFIG_PACKAGE_node-ws=m |
||
CONFIG_PACKAGE_node-xmpp=m |
CONFIG_PACKAGE_node-xmpp=m |
||
Line 499: | Line 497: | ||
CONFIG_PACKAGE_python-light=y |
CONFIG_PACKAGE_python-light=y |
||
CONFIG_PACKAGE_python-logging=y |
CONFIG_PACKAGE_python-logging=y |
||
CONFIG_PACKAGE_python-netifaces=m |
|||
CONFIG_PACKAGE_python-openssl=y |
CONFIG_PACKAGE_python-openssl=y |
||
CONFIG_PACKAGE_python-paho-mqtt=y |
CONFIG_PACKAGE_python-paho-mqtt=y |
||
CONFIG_PACKAGE_python-pyserial=y |
CONFIG_PACKAGE_python-pyserial=y |
||
CONFIG_PACKAGE_python-xml=y |
CONFIG_PACKAGE_python-xml=y |
||
CONFIG_PACKAGE_querierd=m |
|||
CONFIG_PACKAGE_reset-serial=y |
CONFIG_PACKAGE_reset-serial=y |
||
CONFIG_PACKAGE_rng-tools=y |
CONFIG_PACKAGE_rng-tools=y |
||
CONFIG_PACKAGE_rpcd=y |
CONFIG_PACKAGE_rpcd=y |
||
CONFIG_PACKAGE_rpcd-mod-rrdns=y |
|||
CONFIG_PACKAGE_shellinabox=m |
CONFIG_PACKAGE_shellinabox=m |
||
CONFIG_PACKAGE_spacebrew=y |
CONFIG_PACKAGE_spacebrew=y |
||
CONFIG_PACKAGE_strace=y |
|||
CONFIG_PACKAGE_swap-utils=y |
CONFIG_PACKAGE_swap-utils=y |
||
CONFIG_PACKAGE_temboo=y |
CONFIG_PACKAGE_temboo=y |
||
CONFIG_PACKAGE_terminfo=y |
CONFIG_PACKAGE_terminfo=y |
||
CONFIG_PACKAGE_tune2fs=y |
|||
CONFIG_PACKAGE_uSDaemon=m |
CONFIG_PACKAGE_uSDaemon=m |
||
CONFIG_PACKAGE_uboot-ar71xx-linino-yun=y |
CONFIG_PACKAGE_uboot-ar71xx-linino-yun=y |
||
Line 526: | Line 529: | ||
CONFIG_VERSION_BUG_URL="" |
CONFIG_VERSION_BUG_URL="" |
||
CONFIG_VERSION_CODE="" |
CONFIG_VERSION_CODE="" |
||
CONFIG_VERSION_DIST=" |
CONFIG_VERSION_DIST="OpenWrt" |
||
CONFIG_VERSION_HOME_URL="" |
|||
CONFIG_VERSION_HWREV="1.0" |
CONFIG_VERSION_HWREV="1.0" |
||
CONFIG_VERSION_MANUFACTURER="Arduino" |
CONFIG_VERSION_MANUFACTURER="Arduino" |
||
CONFIG_VERSION_MANUFACTURER_URL="" |
CONFIG_VERSION_MANUFACTURER_URL="" |
||
CONFIG_VERSION_NICK="" |
|||
CONFIG_VERSION_NUMBER="" |
CONFIG_VERSION_NUMBER="" |
||
CONFIG_VERSION_PRODUCT="Arduino Yun" |
CONFIG_VERSION_PRODUCT="Arduino Yun" |
||
CONFIG_VERSION_REPO=" |
CONFIG_VERSION_REPO="https://downloads.openwrt.org/snapshots" |
||
CONFIG_VERSION_SUPPORT_URL="" |
CONFIG_VERSION_SUPPORT_URL="" |
||
CONFIG_uhttpd_lua=y |
CONFIG_uhttpd_lua=y |
||
# CONFIG_VERSION_CODE_FILENAMES is not set |
|||
# CONFIG_VERSION_FILENAMES is not set |
|||
</syntaxhighlight> |
</syntaxhighlight> |
||
[https:// |
[https://raw.githubusercontent.com/nxhack/openwrt-yun-build-extra/master/openwrt-yun-lininoos.config openwrt-yun-lininoos.config] |
||
== Difference between the LLC edition == |
== Difference between the LLC edition == |
||
Line 550: | Line 555: | ||
'''Should be started before the Yun original startup script "S49generate_new_gpg_key".''' |
'''Should be started before the Yun original startup script "S49generate_new_gpg_key".''' |
||
To enable rngd, add rngd section to /etc/config/system |
|||
:<syntaxhighlight lang="bash" enclose="div"> |
:<syntaxhighlight lang="bash" enclose="div"> |
||
config rngd |
config rngd |
||
Line 614: | Line 619: | ||
[https://git.openwrt.org/?p=openwrt.git;a=commit;h=10ae130265302c717b1580514ada28d9a48a2484 https://git.openwrt.org/?p=openwrt.git;a=commit;h=10ae130265302c717b1580514ada28d9a48a2484] |
[https://git.openwrt.org/?p=openwrt.git;a=commit;h=10ae130265302c717b1580514ada28d9a48a2484 https://git.openwrt.org/?p=openwrt.git;a=commit;h=10ae130265302c717b1580514ada28d9a48a2484] |
||
[https://github.com/nxhack/openwrt-arduino-packages/tree/for-trunk/yun-conf/files/etc/hotplug.d/button/00-button /etc/hotplug.d/button/00-button] |
[https://github.com/nxhack/openwrt-arduino-packages/tree/for-trunk/yun-conf/files/etc/hotplug.d/button/00-button /etc/hotplug.d/button/00-button] |
||
[https://github.com/nxhack/openwrt-arduino-packages/tree/for-trunk/yun-conf/files/etc/config/system# |
[https://github.com/nxhack/openwrt-arduino-packages/tree/for-trunk/yun-conf/files/etc/config/system#L19-L28 /etc/config/system] |
||
:Add button section to /etc/config/system. |
:Add button section to /etc/config/system. |
||
Line 661: | Line 666: | ||
2. Limit the target board. |
2. Limit the target board. |
||
3. Enable PCI. need for making various packages. |
3. Enable PCI. need for making various packages. |
||
[https:// |
[https://raw.githubusercontent.com/nxhack/openwrt-yun-build-extra/master/openwrt-yun-lininoos.config openwrt-yun-lininoos.config] |
||
:check fpu emu debugfs |
:check fpu emu debugfs |
||
Line 702: | Line 707: | ||
<syntaxhighlight lang="bash" enclose="div"> |
<syntaxhighlight lang="bash" enclose="div"> |
||
opkg update |
opkg update |
||
opkg install e2fsprogs dosfstools fdisk rsync |
opkg install e2fsprogs dosfstools fdisk rsync badblocks tune2fs |
||
# opkg install kmod-fs-f2fs mkf2fs f2fsck |
# opkg install kmod-fs-f2fs mkf2fs f2fsck |
||
cd /usr/sbin |
cd /usr/sbin |
||
Line 722: | Line 727: | ||
umount /dev/sda2 |
umount /dev/sda2 |
||
rm -rf /mnt/sda2 |
rm -rf /mnt/sda2 |
||
# check /etc/config/fstab |
|||
# remove unused fstab entry at booting time. |
|||
uci add fstab mount |
uci add fstab mount |
||
Line 728: | Line 736: | ||
uci set fstab.@mount[0].fstype=ext4 |
uci set fstab.@mount[0].fstype=ext4 |
||
uci set fstab.@mount[0].enabled=1 |
uci set fstab.@mount[0].enabled=1 |
||
uci set fstab.@mount[0]. |
uci set fstab.@mount[0].check_fs=1 |
||
uci set fstab.@mount[0].options=rw,sync,noatime,nodiratime |
uci set fstab.@mount[0].options=rw,sync,noatime,nodiratime |
||
uci commit |
uci commit |
||
Line 740: | Line 748: | ||
cd / |
cd / |
||
tar -C /overlay -cvf - . | tar -C /mnt/sda2 -xf - |
tar -C /overlay -cvf - . | tar -C /mnt/sda2 -xf - |
||
uci add fstab mount |
uci add fstab mount |
||
uci set fstab.@mount[0].target=/overlay |
uci set fstab.@mount[0].target=/overlay |
||
Line 745: | Line 754: | ||
uci set fstab.@mount[0].fstype=ext4 |
uci set fstab.@mount[0].fstype=ext4 |
||
uci set fstab.@mount[0].enabled=1 |
uci set fstab.@mount[0].enabled=1 |
||
uci set fstab.@mount[0]. |
uci set fstab.@mount[0].check_fs=1 |
||
uci set fstab.@mount[0].options=rw,sync,noatime,nodiratime |
uci set fstab.@mount[0].options=rw,sync,noatime,nodiratime |
||
uci commit |
uci commit |
||
Line 753: | Line 762: | ||
<syntaxhighlight lang="bash" enclose="div"> |
<syntaxhighlight lang="bash" enclose="div"> |
||
block detect > /etc/config/fstab ; vi /etc/config/fstab |
block detect > /etc/config/fstab ; vi /etc/config/fstab |
||
# edit /etc/config/fstab : Set all enabled '0' |
# edit /etc/config/fstab : Set all enabled '0' -> enabled '1' exclude extroot device |
||
</syntaxhighlight> |
|||
After firmware upgrade with luci.(backup, sysupgrade, restore) |
|||
<syntaxhighlight lang="bash" enclose="div"> |
|||
# edit /etc/opkg.conf |
|||
# remove extroot settings |
|||
opkg update |
|||
opkg install e2fsprogs dosfstools fdisk rsync badblocks tune2fs |
|||
mkdir -p /mnt/sda2 |
|||
mount /dev/sda2 /mnt/sda2 |
|||
rm /mnt/sda2/etc/.extroot-uuid |
|||
umount /mnt/sda2 |
|||
# check /etc/config/fstab |
|||
# remove unused fstab entry at booting time. |
|||
uci add fstab mount |
|||
uci set fstab.@mount[0].target=/overlay |
|||
uci set fstab.@mount[0].device=/dev/sda2 |
|||
uci set fstab.@mount[0].fstype=ext4 |
|||
uci set fstab.@mount[0].enabled=1 |
|||
uci set fstab.@mount[0].check_fs=1 |
|||
uci set fstab.@mount[0].options=rw,sync,noatime,nodiratime |
|||
uci commit |
|||
reboot |
|||
</syntaxhighlight> |
|||
Accessing original root |
|||
[https://lede-project.org/docs/user-guide/extroot_configuration#accessing_original_root https://lede-project.org/docs/user-guide/extroot_configuration#accessing_original_root] |
|||
<syntaxhighlight lang="bash" enclose="div"> |
|||
config mount |
|||
option target /overlay-boot |
|||
option device /dev/mtdblock3 |
|||
option fstype jffs2 |
|||
option options rw,sync |
|||
option enabled 1 |
|||
option check_fs 0 |
|||
</syntaxhighlight> |
</syntaxhighlight> |
||
Line 765: | Line 811: | ||
opkg install coreutils-ls coreutils-stty |
opkg install coreutils-ls coreutils-stty |
||
opkg install dropbearconvert |
opkg install dropbearconvert |
||
opkg install e2fsprogs fdisk dosfstools |
opkg install e2fsprogs fdisk dosfstools badblocks tune2fs |
||
opkg install avahi-utils avahi-daemon-service-ssh |
|||
# opkg install kmod-fs-f2fs mkf2fs f2fsck |
# opkg install kmod-fs-f2fs mkf2fs f2fsck |
||
opkg install rsync |
opkg install rsync |
||
Line 809: | Line 856: | ||
cd /usr/sbin |
cd /usr/sbin |
||
ln -s fsck.fat dosfsck |
ln -s fsck.fat dosfsck |
||
</syntaxhighlight> |
|||
== fsck == |
|||
<syntaxhighlight lang="bash" enclose="div"> |
|||
opkg install badblocks |
|||
</syntaxhighlight> |
|||
<syntaxhighlight lang="bash" enclose="div"> |
|||
e2fsck -t -y -f -c /dev/sda2 |
|||
</syntaxhighlight> |
|||
== YunFirstConfig == |
|||
https://www.arduino.cc/en/Tutorial/YunFirstConfig |
|||
https://github.com/arduino-libraries/Bridge/tree/master/examples/YunFirstConfig |
|||
== Luci and arduino-webpanel == |
|||
https://github.com/arduino/lede-yun/commit/565508f99cc8922d55b47554de98f7dcb441a461#diff-f2fe3255fb192223dd3dbef288fe215f |
|||
== mDNS == |
|||
<syntaxhighlight lang="text" enclose="div"> |
|||
host-name-from-machine-id=no |
|||
host-name=MY_HOST_NAME |
|||
domain-name=local |
|||
</syntaxhighlight> |
|||
== homebridge == |
|||
<syntaxhighlight lang="bash" enclose="div"> |
|||
opkg install node-homebridge |
|||
opkg install sudo |
|||
npm install -g homebridge-temperature-cmd |
|||
npm install -g homebridge-humidity-cmd |
|||
</syntaxhighlight> |
|||
== IGMP querierd == |
|||
<syntaxhighlight lang="bash" enclose="div"> |
|||
opkg install querierd |
|||
</syntaxhighlight> |
|||
edit /etc/querierd |
|||
:supesify a interface |
|||
<syntaxhighlight lang="bash" enclose="div"> |
|||
/etc/init.d/querierd enable |
|||
/etc/init.d/querierd start |
|||
</syntaxhighlight> |
</syntaxhighlight> |
||
Line 857: | Line 948: | ||
#uboot-linino |
#uboot-linino |
||
#:Once the bootloader rewrite fails, I am afraid that completely become brick... |
#:Once the bootloader rewrite fails, I am afraid that completely become brick... |
||
#extroot |
|||
#: [https://wiki.openwrt.org/doc/howto/extroot https://wiki.openwrt.org/doc/howto/extroot] |
|||
#:A partitioned and formatted media that was created in [http://www.egrep.jp/wiki/index.php/Arduino_Yun_cheat_sheet#.E3.83.87.E3.82.A3.E3.82.B9.E3.82.AF.E3.81.AE.E5.AE.B9.E9.87.8F.E3.82.92.E5.A2.97.E3.82.84.E3.81.99 this operation], |
|||
#:<syntaxhighlight lang="bash" enclose="div"> |
|||
cd /mnt/sda2 |
|||
rm -rf * |
|||
rm -rf .??* |
|||
cd / |
|||
tar -C /overlay -cvf - . | tar -C /mnt/sda2 -xf - |
|||
block detect > /etc/config/fstab ; vi /etc/config/fstab |
|||
# edit /etc/config/fstab : Set all enabled '0' → enabled '1' |
|||
# option target '/mnt/sda2' -> option target '/overlay' |
|||
reboot |
|||
</syntaxhighlight> |
|||
#:If you want to restore, restart press the eject the SD card and poweroff 'YUN RST'. Modify the then /etc/config/fstab. |
|||
#:<syntaxhighlight lang="text" enclose="div"> |
|||
config global 'automount' |
|||
option from_fstab '1' |
|||
option anon_mount '1' |
|||
</syntaxhighlight> |
|||
#/etc/opkg.conf, /etc/opkg/distfeeds.conf, /etc/opkg/customfeeds.conf |
#/etc/opkg.conf, /etc/opkg/distfeeds.conf, /etc/opkg/customfeeds.conf |
||
#:Since the strange message came out, modified distfeeds.conf, It is correct to modify opkg.conf. |
#:Since the strange message came out, modified distfeeds.conf, It is correct to modify opkg.conf. |
Latest revision as of 06:49, 9 May 2019
OpenWrt which runs on the Atheros AR 9331 of Arduino Yun, LLC edition OpenWrt-Yun also Linino is obsolete in the kernel and various packages (and there are security problems). I will drill down on how to upgrade to the latest version of OpenWrt. (With Absolutely NO Warranty)
Prepare for the Security update of OpenWrt-Yun, Arduino Yun Operating System. In the IoT ERA, I think it is a very important thing.
BusyBox v1.25.1 () built-in shell (ash)
_________
/ /\ _ ___ ___ ___
/ LE / \ | | | __| \| __|
/ DE / \ | |__| _|| |) | _|
/________/ LE \ |____|___|___/|___| lede-project.org
\ \ DE /
\ LE \ / -----------------------------------------------------------
\ DE \ / Reboot (17.01-SNAPSHOT, r3796-473e994)
\________\/ -----------------------------------------------------------
root@Arduino:~# cat /proc/cpuinfo
system type : Atheros AR9330 rev 1
machine : Arduino Yun
processor : 0
cpu model : MIPS 24Kc V7.4
BogoMIPS : 265.42
wait instruction : yes
microsecond timers : yes
tlb_entries : 16
extra interrupt vector : yes
hardware watchpoint : yes, count: 4, address/irw mask: [0x0ffc, 0x0ffc, 0x0ffb, 0x0ffb]
isa : mips1 mips2 mips32r1 mips32r2
ASEs implemented : mips16
shadow register sets : 1
kscratch registers : 0
package : 0
core : 0
VCED exceptions : not available
VCEI exceptions : not available
root@Arduino:~# uname -a
Linux Arduino 4.4.108 #0 Fri Dec 29 23:36:25 2017 mips GNU/Linux
NOTE: Arduino.cc (LLC) goes to LininoOS!!!
- Arduino Yún LininoOS (since 2-Nov-2016)
OpenWrt-Yun Chaos Calmer 15.05
RedSnake64's implementation can be found at Arduino Yun forum.
RedSnake64 edition OpenWrt-Yun:
https://github.com/RedSnake64/openwrt-yun/tree/15.05 ChaosCalmer_v1.4
- I tried it. 'mDNS' is not active, so I could not be accessed in '.local'.
- Grasp that implementation. I decided to make Arduino Yun package that can be used in OpenWrt trunk Bleeding Edge.
RedSnake64 edition become Arduino LLC Official edition:
https://github.com/arduino/openwrt-yun-1505
Explore the Yun Profile of the OpenWrt / LEDE Project
The OpenWrt / LEDE Project, already exist a 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 has been implemented.
OpenWrt snapshot images:
https://downloads.openwrt.org/snapshots/trunk/ar71xx/generic/ https://downloads.openwrt.org/snapshots/trunk/ar71xx/generic/packages/
OpenWrt / LEDE snapshot images:
http://downloads.lede-project.org/snapshots/targets/ar71xx/generic/ http://downloads.lede-project.org/snapshots/targets/ar71xx/generic/packages/ http://downloads.lede-project.org/snapshots/packages/mips_24kc/
- This System Image is corresponding Arduino Yun Hardware. but, of course Arduino Yun own software is not implemented.
OpenWrt Core:
git.openwrt.org Git - openwrt trunk tree shortlog
OpenWrt / LEDE Core:
git.lede-project.org Git - source.git/tree shortlog
OpenWrt Packages:
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/targets https://github.com/openwrt-management/packages
- Optional package of OpenWrt Project is managed on github.
Explore the OpenWrt-Yun
OpenWrt-Yun arduino packages
LLC edition arduino package:
https://github.com/arduino/openwrt-packages-yun/tree/master/arduino
RedSnake64 edition arduino package:
https://github.com/RedSnake64/openwrt-arduino-packages/tree/for-15.05
LLC edition OpenWrt CC version arduino package:
https://github.com/arduino/openwrt-arduino-packages/tree/for-15.05
- Hmmmm.... CONFIG_USE_UCLIBC=y
- (I go USE_MUSL ;)
Arduino OpenWrt Yún packages:
(y) avrdude *
(y) cpu-mcu-bridge *
(m) cwiid *
(y) luci-app-arduino-webpanel
(m) node *
(m) node-bleno
(m) node-noble
(m) node-serialport *
(m) node-socket.io
(m) node-socket.io-legacy *
(m) node-socket.io-client
(m) node-socket.io-client-legacy *
(m) node-sqlite3
(m) node-ws
(y) rng-tools *
(y) spacebrew
(y) temboo
(y) uSDaemon
(m) v8m-rb *
(y) yun-conf
(y) yun-scripts
- avrdude: use a OpenWrt package. Configuration for the Arduino Yun should be placed in /etc/avrdude.conf.
- cpu-mcu-bridge: overlaps with OpenWrt yunbridge package. For compatibility use a Arduino package.
- cwiid: only RedSnake64 edition. cwiid is Nintendo Wii remote interface package, so should delete.
- node: If you want to run node.js, Should turn on MIPS FPU EMULATOR kernel config.
- node, node-serialport: use a OpenWrt package. so should delete.
- "-legacy" mean that the 0.9.x version.
- rng-tools: use a OpenWrt package. so should delete.
- v8m-rb: Not required, so should delete.
My new arduino packages here:
https://github.com/nxhack/openwrt-arduino-packages
Arturo Rinaldi edition linino packages:
https://github.com/artynet/LEDE/tree/linino-20/package/linino
Important concept of OpenWrt
The Minimized (smaller footprint) is Highest Priority. This is the large difference in policy between PC GNU/Linux and OpenWrt.
Trunk Bleeding Edge / Reboot version of OpenWrt-Yun package and build environment
https://github.com/openwrt/openwrt.git https://github.com/nxhack/openwrt-yun-build-extra https://github.com/nxhack/openwrt-arduino-packages
Setup repos:
mkdir Build_Path_Some_Where
cd Build_Path_Some_Where
git clone https://github.com/openwrt/openwrt.git
git clone --depth=1 --branch master --single-branch https://github.com/nxhack/openwrt-yun-build-extra.git
cd openwrt
ln -s ../openwrt-yun-build-extra/* .
Or lede-17.01
mkdir Build_Path_Some_Where
cd Build_Path_Some_Where
git clone --branch lede-17.01 https://github.com/openwrt/openwrt.git
git clone --depth=1 --branch lede-17.01 --single-branch https://github.com/nxhack/openwrt-yun-build-extra.git
cd openwrt
ln -s ../openwrt-yun-build-extra/* .
Please modify ./files/etc/opkg/distfeeds.conf
First Time, Setup cross compile build environment (ubuntu 14.04):
./FIRST_SETUP_ubuntu_Trusty_Tahr.sh
- Also run fine on 'Bash on Ubuntu on Widnows' ;)
Build:
./build.sh
When build succeed, You find lede-ar71xx-generic-yun-16M-squashfs-sysupgrade.bin in ./bin/targets/ar71xx/generic directory.
- (Apply Yun-Shield patch, then SELECT Yun Shield: lede-ar71xx-generic-yun-shield-squashfs-sysupgrade.bin)
In order to using the packages, You must placed kernel packages and arduino packages to server (or SD card).
LEDE Trunk Breaking changes
ar71xx: move Arduino Yun to generic building code
To use the new partitioning, you need to update your U-Boot env in advance:
setenv mtdparts "spi0.0:256k(u-boot)ro,64k(u-boot-env),15936k(firmware),64k(nvram),64k(art)ro"
setenv bootcmd "run addboard; run addtty; run addparts; run addrootfs; bootm 0x9f050000 || bootm 0x9fde0000"
saveenv
memo memo... be careful
setenv board Yun
setenv mtdparts "spi0.0:256k(u-boot)ro,64k(u-boot-env),15936k(firmware),64k(nvram),64k(art)ro"
setenv rootfstype "squashfs,jffs2"
setenv bootargs "console=ttyATH0,250000 board=Yun mem=64M"
setenv noinitrd
memo...
- setenv serverip ‹tftp-server-ip›; setenv ipaddr ‹yun-board-ip›;
setenv serverip 192.168.1.10;
setenv ipaddr 192.168.1.1;
ping 192.168.1.10;
LininoIO OS upgrade from U-boot Reflashing the OpenWrt-Yun image on the Yún Restore the 1.5.3 image after you did sysupgrade to 1.6.2 on old Yún
Restore old image:
setenv bootargs board=YUN console=ttyATH0,250000 mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot env)ro,14656k(rootfs),1280k(kernel),64k(nvram),64k(art),15936k@0x50000(firmware) rootfstype=squashfs,jffs2 noinitrd
saveenv
Essential items in the kernel configuration
diffconfig
CONFIG_TARGET_ar71xx=y
CONFIG_TARGET_ar71xx_generic=y
CONFIG_TARGET_ar71xx_generic_DEVICE_arduino-yun=y
CONFIG_ALL_KMODS=y
CONFIG_ALL_NONSHARED=y
CONFIG_DEVEL=y
CONFIG_BUILD_PATENTED=y
CONFIG_CCACHE=y
CONFIG_IB=y
CONFIG_IB_STANDALONE=y
CONFIG_IMAGEOPT=y
CONFIG_KERNEL_MIPS_FPU_EMULATOR=y
CONFIG_LIBCURL_COOKIES=y
CONFIG_LIBCURL_FILE=y
CONFIG_LIBCURL_FTP=y
CONFIG_LIBCURL_HTTP=y
CONFIG_LIBCURL_NO_SMB="!"
CONFIG_LIBCURL_OPENSSL=y
CONFIG_LIBCURL_PROXY=y
CONFIG_LUCI_LANG_en=y
CONFIG_MAKE_TOOLCHAIN=y
CONFIG_NODEJS_8=y
CONFIG_NODEJS_ICU_NONE=y
CONFIG_OPENSSL_WITH_COMPRESSION=y
CONFIG_OPENSSL_WITH_DEPRECATED=y
CONFIG_OPENSSL_WITH_EC=y
CONFIG_OPENSSL_WITH_NPN=y
CONFIG_OPENSSL_WITH_PSK=y
CONFIG_OPENSSL_WITH_SRP=y
CONFIG_PACKAGE_ajtcl=m
CONFIG_PACKAGE_ajtcl-alljoynjs=m
CONFIG_PACKAGE_ajtcl-alljoynjs-samples=m
CONFIG_PACKAGE_ajtcl-samples=m
CONFIG_PACKAGE_ajtcl-services=m
CONFIG_PACKAGE_alljoyn=m
CONFIG_PACKAGE_alljoyn-about=m
CONFIG_PACKAGE_alljoyn-c=m
CONFIG_PACKAGE_alljoyn-config=m
CONFIG_PACKAGE_alljoyn-config-samples=m
CONFIG_PACKAGE_alljoyn-controlpanel=m
CONFIG_PACKAGE_alljoyn-controlpanel-samples=m
CONFIG_PACKAGE_alljoyn-non-gw-config=m
CONFIG_PACKAGE_alljoyn-notification=m
CONFIG_PACKAGE_alljoyn-notification-samples=m
CONFIG_PACKAGE_alljoyn-sample_apps=m
CONFIG_PACKAGE_alljoyn-samples=m
CONFIG_PACKAGE_alljoyn-services_common=m
CONFIG_PACKAGE_arduinoos=m
CONFIG_PACKAGE_argp-standalone=y
CONFIG_PACKAGE_avahi-daemon-service-ssh=y
CONFIG_PACKAGE_avahi-dbus-daemon=y
CONFIG_PACKAGE_avahi-dnsconfd=y
CONFIG_PACKAGE_avahi-utils=y
CONFIG_PACKAGE_avrdude=y
CONFIG_PACKAGE_badblocks=y
CONFIG_PACKAGE_blkid=y
CONFIG_PACKAGE_block-mount=y
CONFIG_PACKAGE_bluez-libs=m
CONFIG_PACKAGE_bossa=y
CONFIG_PACKAGE_ca-bundle=y
CONFIG_PACKAGE_ca-certificates=y
CONFIG_PACKAGE_ciao=y
CONFIG_PACKAGE_ciao-connector-phant=m
CONFIG_PACKAGE_ciao-connector-smtp=m
CONFIG_PACKAGE_ciao-connector-xmpp=m
CONFIG_PACKAGE_cpu-mcu-bridge=y
CONFIG_PACKAGE_curl=y
CONFIG_PACKAGE_dbus=y
CONFIG_PACKAGE_dbus-utils=y
CONFIG_PACKAGE_dosfstools=y
CONFIG_PACKAGE_duktape=m
CONFIG_PACKAGE_e2fsprogs=y
CONFIG_PACKAGE_fdisk=y
CONFIG_PACKAGE_gnupg=y
CONFIG_PACKAGE_hidapi=m
CONFIG_PACKAGE_kmod-fs-exfat=m
CONFIG_PACKAGE_kmod-fs-msdos=y
CONFIG_PACKAGE_kmod-fs-vfat=y
CONFIG_PACKAGE_kmod-loop=y
CONFIG_PACKAGE_kmod-nls-cp437=y
CONFIG_PACKAGE_kmod-nls-iso8859-1=y
CONFIG_PACKAGE_kmod-nls-utf8=y
CONFIG_PACKAGE_kmod-scsi-core=y
CONFIG_PACKAGE_kmod-scsi-generic=y
CONFIG_PACKAGE_kmod-spi-bitbang=y
CONFIG_PACKAGE_kmod-spi-dev=y
CONFIG_PACKAGE_kmod-spi-gpio=y
CONFIG_PACKAGE_kmod-spi-gpio-custom=y
CONFIG_PACKAGE_kmod-usb-storage=y
CONFIG_PACKAGE_libavahi-client=y
CONFIG_PACKAGE_libavahi-compat-libdnssd=y
CONFIG_PACKAGE_libavahi-dbus-support=y
CONFIG_PACKAGE_libblkid=y
CONFIG_PACKAGE_libbz2=y
CONFIG_PACKAGE_libcap=m
CONFIG_PACKAGE_libcomerr=y
CONFIG_PACKAGE_libcurl=y
CONFIG_PACKAGE_libdaemon=y
CONFIG_PACKAGE_libdbus=y
CONFIG_PACKAGE_libelf1=y
CONFIG_PACKAGE_libevdev=m
CONFIG_PACKAGE_libexpat=y
CONFIG_PACKAGE_libext2fs=y
CONFIG_PACKAGE_libfdisk=y
CONFIG_PACKAGE_libffi=y
CONFIG_PACKAGE_libftdi1=y
CONFIG_PACKAGE_libfuse=m
CONFIG_PACKAGE_libgdbm=y
CONFIG_PACKAGE_libiwinfo-lua=y
CONFIG_PACKAGE_liblua=y
CONFIG_PACKAGE_liblucihttp=y
CONFIG_PACKAGE_liblucihttp-lua=y
CONFIG_PACKAGE_liblzma=m
CONFIG_PACKAGE_libncurses=y
CONFIG_PACKAGE_libopenssl=y
CONFIG_PACKAGE_libpam=m
CONFIG_PACKAGE_libpcre=y
CONFIG_PACKAGE_libpopt=m
CONFIG_PACKAGE_libreadline=y
CONFIG_PACKAGE_librt=y
CONFIG_PACKAGE_libsmartcols=y
CONFIG_PACKAGE_libss=y
CONFIG_PACKAGE_libstdcpp=y
CONFIG_PACKAGE_libubus-lua=y
CONFIG_PACKAGE_libudev-fbsd=m
CONFIG_PACKAGE_libusb-1.0=y
CONFIG_PACKAGE_libusb-compat=y
CONFIG_PACKAGE_libustream-openssl=y
CONFIG_PACKAGE_libuuid=y
CONFIG_PACKAGE_logrotate=m
CONFIG_PACKAGE_lua=y
CONFIG_PACKAGE_lua-base64=m
CONFIG_PACKAGE_lua-coxpcall=m
CONFIG_PACKAGE_lua-wsapi-base=m
CONFIG_PACKAGE_lua-wsapi-xavante=m
CONFIG_PACKAGE_lua-xavante=m
CONFIG_PACKAGE_luafilesystem=m
CONFIG_PACKAGE_luci=y
CONFIG_PACKAGE_luci-app-arduino-webpanel=y
CONFIG_PACKAGE_luci-app-firewall=y
CONFIG_PACKAGE_luci-base=y
CONFIG_PACKAGE_luci-i18n-base-en=y
CONFIG_PACKAGE_luci-i18n-firewall-en=y
CONFIG_PACKAGE_luci-lib-ip=y
CONFIG_PACKAGE_luci-lib-json=y
CONFIG_PACKAGE_luci-lib-jsonc=y
CONFIG_PACKAGE_luci-lib-nixio=y
CONFIG_PACKAGE_luci-mod-admin-full=y
CONFIG_PACKAGE_luci-proto-ipv6=y
CONFIG_PACKAGE_luci-proto-ppp=y
CONFIG_PACKAGE_luci-theme-bootstrap=y
CONFIG_PACKAGE_luci-theme-openwrt=y
CONFIG_PACKAGE_mg=y
CONFIG_PACKAGE_nano=y
CONFIG_PACKAGE_node=m
CONFIG_PACKAGE_node-actions-on-google=m
CONFIG_PACKAGE_node-alexa-app=m
CONFIG_PACKAGE_node-alexa-sdk=m
CONFIG_PACKAGE_node-arduino-firmata=m
CONFIG_PACKAGE_node-authenticate-pam=m
CONFIG_PACKAGE_node-autobahn=m
CONFIG_PACKAGE_node-aws-iot-device-sdk=m
CONFIG_PACKAGE_node-aws-sdk=m
CONFIG_PACKAGE_node-azure-event-hubs=m
CONFIG_PACKAGE_node-azure-iot-device-amqp=m
CONFIG_PACKAGE_node-azure-iot-device-http=m
CONFIG_PACKAGE_node-azure-iot-device-mqtt=m
CONFIG_PACKAGE_node-azure-iothub=m
CONFIG_PACKAGE_node-bignum=m
CONFIG_PACKAGE_node-binaryjs=m
CONFIG_PACKAGE_node-bleacon=m
CONFIG_PACKAGE_node-bleno=m
CONFIG_PACKAGE_node-bluetooth-hci-socket=m
CONFIG_PACKAGE_node-browserify=m
CONFIG_PACKAGE_node-bufferutil=m
CONFIG_PACKAGE_node-coap=m
CONFIG_PACKAGE_node-cpx=m
CONFIG_PACKAGE_node-cylon=m
CONFIG_PACKAGE_node-cylon-firmata=m
CONFIG_PACKAGE_node-cylon-gpio=m
CONFIG_PACKAGE_node-cylon-i2c=m
CONFIG_PACKAGE_node-eddystone-beacon=m
CONFIG_PACKAGE_node-ejdb=m
CONFIG_PACKAGE_node-epoll=m
CONFIG_PACKAGE_node-exorcist=m
CONFIG_PACKAGE_node-express=m
CONFIG_PACKAGE_node-ffi=m
CONFIG_PACKAGE_node-firmata=m
CONFIG_PACKAGE_node-forever=m
CONFIG_PACKAGE_node-fuse-bindings=m
CONFIG_PACKAGE_node-hap-nodejs=m
CONFIG_PACKAGE_node-hashmap=m
CONFIG_PACKAGE_node-hashtable=m
CONFIG_PACKAGE_node-homebridge=m
CONFIG_PACKAGE_node-i2c-bus=m
CONFIG_PACKAGE_node-ibmiotf=m
CONFIG_PACKAGE_node-ideino-linino-lib=m
CONFIG_PACKAGE_node-iothub-explorer=m
CONFIG_PACKAGE_node-johnny-five=m
CONFIG_PACKAGE_node-jsonfile=m
CONFIG_PACKAGE_node-level=m
CONFIG_PACKAGE_node-leveldown=m
CONFIG_PACKAGE_node-levelup=m
CONFIG_PACKAGE_node-logfmt=m
CONFIG_PACKAGE_node-lwm2m-node-lib=m
CONFIG_PACKAGE_node-mdns=m
CONFIG_PACKAGE_node-mknod=m
CONFIG_PACKAGE_node-mocha=m
CONFIG_PACKAGE_node-modbus=m
CONFIG_PACKAGE_node-mqtt=m
CONFIG_PACKAGE_node-muzzley-client=m
CONFIG_PACKAGE_node-nconf=m
CONFIG_PACKAGE_node-net-ping=m
CONFIG_PACKAGE_node-nino-io=m
CONFIG_PACKAGE_node-nitrogen=m
CONFIG_PACKAGE_node-nitrogen-cli=m
CONFIG_PACKAGE_node-nitrogen-leveldb-store=m
CONFIG_PACKAGE_node-noble=m
CONFIG_PACKAGE_node-node-expat=m
CONFIG_PACKAGE_node-node-hid=m
CONFIG_PACKAGE_node-node-inspect=m
CONFIG_PACKAGE_node-node-lambda=m
CONFIG_PACKAGE_node-node-red=m
CONFIG_PACKAGE_node-node-red-contrib-gpio=m
CONFIG_PACKAGE_node-node-red-contrib-homekit=m
CONFIG_PACKAGE_node-node-red-node-arduino=m
CONFIG_PACKAGE_node-node-static=m
CONFIG_PACKAGE_node-npm=m
CONFIG_PACKAGE_node-npm-check-updates=m
CONFIG_PACKAGE_node-onoff=m
CONFIG_PACKAGE_node-pm2=m
CONFIG_PACKAGE_node-reverse-wstunnel=m
CONFIG_PACKAGE_node-rimraf=m
CONFIG_PACKAGE_node-rpio=m
CONFIG_PACKAGE_node-serialport=m
CONFIG_PACKAGE_node-simple-xmpp=m
CONFIG_PACKAGE_node-sleep=m
CONFIG_PACKAGE_node-socket.io=m
CONFIG_PACKAGE_node-socket.io-client=m
CONFIG_PACKAGE_node-socket.io-client-legacy=m
CONFIG_PACKAGE_node-socket.io-legacy=m
CONFIG_PACKAGE_node-soracom=m
CONFIG_PACKAGE_node-sqlite3=m
CONFIG_PACKAGE_node-statvfs=m
CONFIG_PACKAGE_node-twilio=m
CONFIG_PACKAGE_node-typescript=m
CONFIG_PACKAGE_node-uglify-js=m
CONFIG_PACKAGE_node-usb=m
CONFIG_PACKAGE_node-utf-8-validate=m
CONFIG_PACKAGE_node-ws=m
CONFIG_PACKAGE_node-xmpp=m
CONFIG_PACKAGE_node-xmpp-client=m
CONFIG_PACKAGE_node-xmpp-component=m
CONFIG_PACKAGE_node-xmpp-server=m
CONFIG_PACKAGE_node-yarn=m
CONFIG_PACKAGE_openssl-util=y
CONFIG_PACKAGE_python-base=y
CONFIG_PACKAGE_python-email=m
CONFIG_PACKAGE_python-light=y
CONFIG_PACKAGE_python-logging=y
CONFIG_PACKAGE_python-netifaces=m
CONFIG_PACKAGE_python-openssl=y
CONFIG_PACKAGE_python-paho-mqtt=y
CONFIG_PACKAGE_python-pyserial=y
CONFIG_PACKAGE_python-xml=y
CONFIG_PACKAGE_querierd=m
CONFIG_PACKAGE_reset-serial=y
CONFIG_PACKAGE_rng-tools=y
CONFIG_PACKAGE_rpcd=y
CONFIG_PACKAGE_rpcd-mod-rrdns=y
CONFIG_PACKAGE_shellinabox=m
CONFIG_PACKAGE_spacebrew=y
CONFIG_PACKAGE_strace=y
CONFIG_PACKAGE_swap-utils=y
CONFIG_PACKAGE_temboo=y
CONFIG_PACKAGE_terminfo=y
CONFIG_PACKAGE_tune2fs=y
CONFIG_PACKAGE_uSDaemon=m
CONFIG_PACKAGE_uboot-ar71xx-linino-yun=y
CONFIG_PACKAGE_uhttpd=y
CONFIG_PACKAGE_uhttpd-mod-lua=y
CONFIG_PACKAGE_uhttpd-mod-ubus=y
CONFIG_PACKAGE_usbutils=y
CONFIG_PACKAGE_wget=y
CONFIG_PACKAGE_wireless-tools=y
CONFIG_PACKAGE_yun-conf=y
CONFIG_PACKAGE_yun-scripts=y
CONFIG_PACKAGE_zlib=y
CONFIG_SDK=y
CONFIG_VERSIONOPT=y
CONFIG_VERSION_BUG_URL=""
CONFIG_VERSION_CODE=""
CONFIG_VERSION_DIST="OpenWrt"
CONFIG_VERSION_HOME_URL=""
CONFIG_VERSION_HWREV="1.0"
CONFIG_VERSION_MANUFACTURER="Arduino"
CONFIG_VERSION_MANUFACTURER_URL=""
CONFIG_VERSION_NUMBER=""
CONFIG_VERSION_PRODUCT="Arduino Yun"
CONFIG_VERSION_REPO="https://downloads.openwrt.org/snapshots"
CONFIG_VERSION_SUPPORT_URL=""
CONFIG_uhttpd_lua=y
# CONFIG_VERSION_CODE_FILENAMES is not set
# CONFIG_VERSION_FILENAMES is not set
openwrt-yun-lininoos.config
Difference between the LLC edition
IPv6 stack is enabled.
Device name of the leds has been changed. ds:green:wlan -> arduino:blue:wlan ds:green:usb -> arduino:white:usb target/linux/ar71xx/base-files/etc/uci-defaults/01_leds https://github.com/nxhack/openwrt-arduino-packages/commit/eb7130ac331ce491765f27372d987d9d7415f6c0
Should be started before the Yun original startup script "S49generate_new_gpg_key". To enable rngd, add rngd section to /etc/config/system
config rngd option enabled '1' option device '/dev/urandom' option fill_watermark '4000'
BUSYBOX ASH BANNER The date disappear. https://git.openwrt.org/?p=openwrt.git;a=commit;h=39fabb5068e95ab9c0901dd4f37129111d88ae00
+# don't create a version string containing the actual timestamp +export KCONFIG_NOTIMESTAMP=1 +
BUSYBOX ASH HELP Banner disappear. CONFIG_ASH_HELP The default has been changed to 'n'. https://github.com/openwrt/openwrt/blob/master/package/utils/busybox/Config-defaults.in#L2617
Add a configuration of the AR9331 as AVR writer to the original package. /etc/avrdude.conf
/etc/avrdude.conf:
programmer id = "linuxgpio"; desc = "Use the Linux sysfs interface to bitbang GPIO lines"; type = "linuxgpio"; reset = ~18; sck = 11; mosi = 27; miso = 8; ;
BUSYBOX: telnet is disabled. nc localhost 6571
PATH has changed. CONFIG_TARGET_INIT_PATH="/bin:/sbin:/usr/bin:/usr/sbin" to CONFIG_TARGET_INIT_PATH="/usr/sbin:/usr/bin:/sbin:/bin"
uhttpd: SSL is forced. option redirect_https '1' /etc/config/uhttpd enable openssl-util libustream-openssl CONFIG_OPENSSL_WITH_COMPRESSION=y
uhttpd: Use URL alias handle. Do not apply alias patch. /etc/config/uhttpd
- Add to /etc/config/uhttpd
list alias '/arduino=/cgi-bin/luci' list alias '/data=/cgi-bin/luci' list alias '/mailbox=/cgi-bin/luci'
Procd button mechanism exists. triggerhappy is not required. (triggerhappy use HID button mechanism, It depends on kmod-input-*) (kmod-gpio-button-hotplug + procd buttons, Of course, smaller footprint) I sent PR, adding ath79_register_gpio_keys_polled. https://git.openwrt.org/?p=openwrt.git;a=commit;h=10ae130265302c717b1580514ada28d9a48a2484 /etc/hotplug.d/button/00-button /etc/config/system
- Add button section to /etc/config/system.
config button option button 'wps' option action 'pressed' option handler '/usr/bin/wifi-reset-button-pressed' config button option button 'wps' option action 'released' option handler '/usr/bin/wifi-reset-button-released'
- OR add button section to /etc/config/system.
config button option button 'wps' option action 'pressed' option handler '/usr/bin/blink-start 100' config button option button 'wps' option action 'released' option handler '/usr/bin/blink-stop' config button option button 'wps' option action 'released' option min '5' option max '30' option handler '/usr/bin/wifi-reset-and-reboot' config button option button 'wps' option action 'released' option min '30' option max '999' option handler '/usr/bin/reset-to-factory-anyway'
Definitely enable MIPS_FPU_EMULATOR. (disabled by default config) For reduce kernel size, change the kernel config. 1. Limit the target architecture to MIPS 24Kc. AR933X, AR724X 2. Limit the target board. 3. Enable PCI. need for making various packages. openwrt-yun-lininoos.config
- check fpu emu debugfs
ls -l /sys/kernel/debug/mips/fpuemustats
memo
Arduino IDE Bridge Library
Must apply this patch.
--- a/Bridge/src/Bridge.cpp
+++ b/Bridge/src/Bridge.cpp
@@ -52,7 +52,7 @@
// Wait for OpenWRT message
// "Press enter to activate console"
stream.print(F("run-bridge\n"));
- delay(500);
+ delay(5000);
dropAll();
// Reset the brigde to check if it is running
refresh fstab : uci
uci delete fstab.@mount[0]
uci delete fstab.@mount[0]
uci commit
uci set fstab.automount=global
uci set fstab.automount.from_fstab='1'
uci set fstab.automount.anon_mount='1'
uci commit
extroot
opkg update
opkg install e2fsprogs dosfstools fdisk rsync badblocks tune2fs
# opkg install kmod-fs-f2fs mkf2fs f2fsck
cd /usr/sbin
ln -s fsck.fat dosfsck
cd /
umount /dev/sda1
### Destroy partition information.
dd if=/dev/zero of=/dev/sda bs=4096 count=1000
### FAT32 = 14G, ext4 = 14G, else swap
(echo o; echo n; echo p; echo 1; echo; echo +14G; echo n; echo p; echo 2; echo; echo +14G; echo n; echo p; echo 3; echo; echo; echo t; echo 1; echo c; echo t; echo 3; echo 82; echo w) | fdisk /dev/sda
mkfs.fat /dev/sda1
mkfs.ext4 /dev/sda2
mkswap /dev/sda3
mkdir -p /mnt/sda2
mount /dev/sda2 /mnt/sda2
cd /
tar -C /overlay -cvf - . | tar -C /mnt/sda2 -xf -
# rsync -a --exclude=/mnt/ /overlay/ /mnt/sda2/
umount /dev/sda2
rm -rf /mnt/sda2
# check /etc/config/fstab
# remove unused fstab entry at booting time.
uci add fstab mount
uci set fstab.@mount[0].target=/overlay
uci set fstab.@mount[0].device=/dev/sda2
uci set fstab.@mount[0].fstype=ext4
uci set fstab.@mount[0].enabled=1
uci set fstab.@mount[0].check_fs=1
uci set fstab.@mount[0].options=rw,sync,noatime,nodiratime
uci commit
reboot
cd /mnt/sda2
rm -rf *
rm -rf .??*
cd /
tar -C /overlay -cvf - . | tar -C /mnt/sda2 -xf -
uci add fstab mount
uci set fstab.@mount[0].target=/overlay
uci set fstab.@mount[0].device=/dev/sda2
uci set fstab.@mount[0].fstype=ext4
uci set fstab.@mount[0].enabled=1
uci set fstab.@mount[0].check_fs=1
uci set fstab.@mount[0].options=rw,sync,noatime,nodiratime
uci commit
reboot
block detect > /etc/config/fstab ; vi /etc/config/fstab
# edit /etc/config/fstab : Set all enabled '0' -> enabled '1' exclude extroot device
After firmware upgrade with luci.(backup, sysupgrade, restore)
# edit /etc/opkg.conf
# remove extroot settings
opkg update
opkg install e2fsprogs dosfstools fdisk rsync badblocks tune2fs
mkdir -p /mnt/sda2
mount /dev/sda2 /mnt/sda2
rm /mnt/sda2/etc/.extroot-uuid
umount /mnt/sda2
# check /etc/config/fstab
# remove unused fstab entry at booting time.
uci add fstab mount
uci set fstab.@mount[0].target=/overlay
uci set fstab.@mount[0].device=/dev/sda2
uci set fstab.@mount[0].fstype=ext4
uci set fstab.@mount[0].enabled=1
uci set fstab.@mount[0].check_fs=1
uci set fstab.@mount[0].options=rw,sync,noatime,nodiratime
uci commit
reboot
Accessing original root
https://lede-project.org/docs/user-guide/extroot_configuration#accessing_original_root
config mount
option target /overlay-boot
option device /dev/mtdblock3
option fstype jffs2
option options rw,sync
option enabled 1
option check_fs 0
basic tools setup : opkg
# edit /etc/opkg.conf for extroot
opkg update
opkg list-upgradable
opkg install unzip
opkg install screen
opkg install coreutils-ls coreutils-stty
opkg install dropbearconvert
opkg install e2fsprogs fdisk dosfstools badblocks tune2fs
opkg install avahi-utils avahi-daemon-service-ssh
# opkg install kmod-fs-f2fs mkf2fs f2fsck
opkg install rsync
opkg install diffutils
opkg install logrotate
opkg install mg
opkg install openssh-client --force-overwrite
opkg install procps-ng procps-ng-ps procps-ng-w procps-ng-vmstat procps-ng-watch
opkg install procps-ng-top --force-overwrite
mkdir -p -m 1777 /usr/local/var/tmp
export TMPDIR=/usr/local/var/tmp
opkg install python-pip
opkg install python-six
# Edit /etc/pip.conf
# cache-dir=/usr/local/var/tmp/.cache
# log-file=/usr/local/var/tmp/pip-log.txt
# pip install --upgrade pip
pip install beaver
pip install supervisor
- If OOM occurs, re-run pip. or use swap
- my local setup
/etc/init.d/cron enable
/etc/init.d/cron start
dosfsck --> fsck.fat
cd /
umount /mnt/sda1
fsck.fat -y -v -w /dev/sda1
mount /dev/sda1 /mnt/sda1
cd /usr/sbin
ln -s fsck.fat dosfsck
fsck
opkg install badblocks
e2fsck -t -y -f -c /dev/sda2
YunFirstConfig
https://www.arduino.cc/en/Tutorial/YunFirstConfig
https://github.com/arduino-libraries/Bridge/tree/master/examples/YunFirstConfig
Luci and arduino-webpanel
https://github.com/arduino/lede-yun/commit/565508f99cc8922d55b47554de98f7dcb441a461#diff-f2fe3255fb192223dd3dbef288fe215f
mDNS
host-name-from-machine-id=no
host-name=MY_HOST_NAME
domain-name=local
homebridge
opkg install node-homebridge
opkg install sudo
npm install -g homebridge-temperature-cmd
npm install -g homebridge-humidity-cmd
IGMP querierd
opkg install querierd
edit /etc/querierd
- supesify a interface
/etc/init.d/querierd enable
/etc/init.d/querierd start
drop caches
echo 3 > /proc/sys/vm/drop_caches
network
eth1 -> wan wlan0 -> lan
/etc/config/network /etc/config/firewall /etc/config/dhcp
Secure
Secure your router's access
Dropbear Security
revision check
./scripts/getver.sh
Bricked
My Yún doesn't boot anymore! How can I restore it?
Load YunSerialTerminal to enable serial console. Unplug SD card . Press 'YUN RST' button.
- If the prompt is out && if the OS can operable.
- Enabling the network.
ifconfig IF IP route add default gw somewhere
- Edit /etc/resolv.conf
- Bring the official sysupgrade image via SD card.
mkdir /mnt/sda1 mount -t vfat /dev/sda1 /mnt/sda1
- Enabling the network.
- If you can operate the u-boot via YunSerialTerminal.
TO DO
- uboot-linino
- Once the bootloader rewrite fails, I am afraid that completely become brick...
- /etc/opkg.conf, /etc/opkg/distfeeds.conf, /etc/opkg/customfeeds.conf
- Since the strange message came out, modified distfeeds.conf, It is correct to modify opkg.conf.
- opkg_conf_parse_file: Duplicate src declaration
- https://wiki.openwrt.org/doc/techref/opkg
- https://wiki.openwrt.org/doc/packages
- Specification seems not yet settled.
- Since the strange message came out, modified distfeeds.conf, It is correct to modify opkg.conf.
- OOM
- (extroot environment)
- /etc/opkg/distfeeds.conf : Limit repositories.
- /etc/opkg.conf : lists_dir ext /var/opkg-lists place not tmpfs. ex. lists_dir ext /usr/local/var/opkg-lists
- /etc/opkg.conf : Add 'option force_space'
lists_dir ext /usr/local/var/opkg-lists option tmp_dir /usr/local/var/tmp option force_space
- Anyway, Do not place any objects to /tmp and /var (symlink of /tmp).
- (extroot environment)
- sysupgrade with ExtRoot
- sysupgrade with ExtRoot :: wiki.mbirth.de
sysupgrade ... # reboot... rm /mnt/sda2/etc/.extroot-uuid reboot #... opkg update opkg upgrade $(opkg list-upgradable | awk '($1 !~ "^kmod|Multiple") {print $1}')
- LEDE Project
- Kernel 4.4
- How can I reduce kernel size?
- It does not fit in 1280k.
- ar71xx: make arduino yun work with kernel size > 1280k and use generic.mk by camille-hack · Pull Request #1145 · lede-project/source
- ar71xx: make arduino yun work with kernel size > 1280k and use generic.mk by camille-hack · Pull Request #1145 · lede-project/source
- Merged!!!
- How can I reduce kernel size?
- PKG DPENDS
To find missing library provider, if the case is not obvious (usually it is just a library name), you may search in $STAGING_DIR/pkginfo folder.