mirror of
https://github.com/Doodle3D/doodle3d-firmware.git
synced 2024-12-22 11:03:48 +01:00
Preliminary OpenWrt package support.
This commit is contained in:
parent
5dd134caeb
commit
3840a8798d
12
Config.in
Normal file
12
Config.in
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
# Doodle3D Wifibox configuration
|
||||||
|
#menu "Configuration"
|
||||||
|
# depends on PACKAGE_wifibox
|
||||||
|
|
||||||
|
config WIFIBOX_DEVEL_PACKAGE
|
||||||
|
depends on PACKAGE_wifibox
|
||||||
|
bool "Enable development aids"
|
||||||
|
default n
|
||||||
|
help
|
||||||
|
Enable development features (currently a script to copy and zip all relevant code for updating the git repository).
|
||||||
|
|
||||||
|
#endmenu
|
104
Makefile
Normal file
104
Makefile
Normal file
@ -0,0 +1,104 @@
|
|||||||
|
##############################################
|
||||||
|
# OpenWrt Makefile for Doodle3D WifiBox firmware
|
||||||
|
##############################################
|
||||||
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
|
# Name and release number of this package
|
||||||
|
PKG_NAME:=wifibox
|
||||||
|
PKG_VERSION:=0.1.0
|
||||||
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
|
# This specifies the directory where we're going to build the program.
|
||||||
|
# The root build directory, $(BUILD_DIR), is by default the build_mipsel
|
||||||
|
# directory in your OpenWrt SDK directory
|
||||||
|
PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
|
||||||
|
|
||||||
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
define Package/wifibox
|
||||||
|
SECTION:=mods
|
||||||
|
CATEGORY:=Miscellaneous
|
||||||
|
MENU:=1
|
||||||
|
# DEFAULT:=y
|
||||||
|
TITLE:=Doodle3D WifiBox firmware
|
||||||
|
URL:=http://www.doodle3d.com/wifibox
|
||||||
|
DEPENDS:=+lua +libuci-lua +libiwinfo-lua +uhttpd
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/wifibox/description
|
||||||
|
Doodle3D WifiBox firmware
|
||||||
|
Web interface to draw doodles and print them with ease.
|
||||||
|
Automatically connects to known network or provide one to connect with.
|
||||||
|
Intended to be used on TP-Link WR703n or MR3020.
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/wifibox/config
|
||||||
|
source "$(SOURCE)/Config.in"
|
||||||
|
endef
|
||||||
|
|
||||||
|
# Specify what needs to be done to prepare for building the package.
|
||||||
|
# In our case, we need to copy the source files to the build directory.
|
||||||
|
# This is NOT the default. The default uses the PKG_SOURCE_URL and the
|
||||||
|
# PKG_SOURCE which is not defined here to download the source from the web.
|
||||||
|
# In order to just build a simple program that we have just written, it is
|
||||||
|
# much easier to do it this way.
|
||||||
|
define Build/Prepare
|
||||||
|
mkdir -p $(PKG_BUILD_DIR)
|
||||||
|
$(CP) -r ./src/* $(PKG_BUILD_DIR)/
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Build/Configure
|
||||||
|
# no configuration necessary
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Build/Compile directives
|
||||||
|
# no compilation necessary (although possible with luac?)
|
||||||
|
endef
|
||||||
|
|
||||||
|
# The $(1) variable represents the root directory on the router running
|
||||||
|
# OpenWrt. The $(INSTALL_DIR) variable contains a command to prepare the install
|
||||||
|
# directory if it does not already exist. Likewise $(INSTALL_BIN) contains the
|
||||||
|
# command to copy the binary file from its current location (in our case the build
|
||||||
|
# directory) to the install directory.
|
||||||
|
define Package/wifibox/install
|
||||||
|
|
||||||
|
### create required directories
|
||||||
|
|
||||||
|
# $(INSTALL_DIR) $(1)/usr/share/lua/autowifi
|
||||||
|
$(INSTALL_DIR) $(1)/usr/share/lua/autowifi/admin
|
||||||
|
# $(INSTALL_DIR) $(1)/usr/share/lua/autowifi/ext
|
||||||
|
# $(INSTALL_DIR) $(1)/usr/share/lua/autowifi/ext/www
|
||||||
|
$(INSTALL_DIR) $(1)/usr/share/lua/autowifi/ext/www/cgi-bin
|
||||||
|
$(INSTALL_DIR) $(1)/etc/rc.d
|
||||||
|
$(INSTALL_DIR) $(1)/www/cgi-bin
|
||||||
|
|
||||||
|
|
||||||
|
### create all files in /usr/share/lua/autowifi
|
||||||
|
|
||||||
|
$(CP) $(PKG_BUILD_DIR)/*.lua $(1)/usr/share/lua/autowifi/
|
||||||
|
$(CP) $(PKG_BUILD_DIR)/admin/* $(1)/usr/share/lua/autowifi/admin/
|
||||||
|
|
||||||
|
$(CP) $(PKG_BUILD_DIR)/ext/autowifi.js $(1)/usr/share/lua/autowifi/ext
|
||||||
|
$(CP) $(PKG_BUILD_DIR)/ext/autowifi_init $(1)/usr/share/lua/autowifi/ext
|
||||||
|
$(CP) $(PKG_BUILD_DIR)/ext/wfcf $(1)/usr/share/lua/autowifi/ext
|
||||||
|
|
||||||
|
$(CP) $(PKG_BUILD_DIR)/ext/www/.autowifi-inplace $(1)/usr/share/lua/autowifi/ext/www
|
||||||
|
$(CP) $(PKG_BUILD_DIR)/ext/www/index.html $(1)/usr/share/lua/autowifi/ext/www
|
||||||
|
$(LN) -s /usr/share/lua/autowifi/admin $(1)/usr/share/lua/autowifi/ext/www
|
||||||
|
$(LN) -s /usr/share/lua/autowifi/ext/wfcf $(1)/usr/share/lua/autowifi/ext/www/cgi-bin
|
||||||
|
|
||||||
|
ifeq ($(CONFIG_WIFIBOX_DEVEL_PACKAGE),y)
|
||||||
|
$(INSTALL_DIR) $(1)/usr/share/lua/autowifi/misc
|
||||||
|
$(CP) $(PKG_BUILD_DIR)/misc/collect-code.sh $(1)/usr/share/lua/autowifi/misc/
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
### create links elsewhere in the system
|
||||||
|
|
||||||
|
$(LN) -s /usr/share/lua/autowifi/ext/wfcf $(1)/www/cgi-bin
|
||||||
|
$(LN) -s /usr/share/lua/autowifi/admin $(1)/www
|
||||||
|
$(LN) -s /usr/share/lua/autowifi/ext/autowifi_init $(1)/etc/rc.d/S18autowifi_init
|
||||||
|
endef
|
||||||
|
|
||||||
|
|
||||||
|
$(eval $(call BuildPackage,wifibox))
|
5
src/Makefile
Normal file
5
src/Makefile
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
all:
|
||||||
|
@echo "No compilation here...(dummy Makefile to keep buildroot happy)"
|
||||||
|
|
||||||
|
clean:
|
||||||
|
@echo "No cleaning here... (dummy Makefile to keep buildroot happy)"
|
14
src/README
14
src/README
@ -1,12 +1,13 @@
|
|||||||
Installation:
|
Installation:
|
||||||
- place the src directory in /usr/share/lua and name it 'autowifi'
|
|
||||||
- create a symlink to ext/wfcf in /www/cgi-bin (make sure the file is executable)
|
|
||||||
- create a symlink to admin in /www
|
|
||||||
- create a symlink to ext/autowifi_init in /etc/rc.d and name it S18autowifi_init
|
|
||||||
- (not necessary) enable init script by calling it with 'enable' argument?
|
|
||||||
- make sure radio0 in /etc/config/wireless is not disabled
|
- make sure radio0 in /etc/config/wireless is not disabled
|
||||||
- the wlan net must also be added to firewall in the lan zone
|
- the wlan net must also be added to firewall in the lan zone
|
||||||
|
|
||||||
|
== these steps are performed by the package installer
|
||||||
|
- (ignore) place the src directory in /usr/share/lua and name it 'autowifi'
|
||||||
|
- (ignore) create a symlink to ext/wfcf in /www/cgi-bin (make sure the file is executable)
|
||||||
|
- (ignore) create a symlink to admin in /www
|
||||||
|
- (ignore) create a symlink to ext/autowifi_init in /etc/rc.d and name it S18autowifi_init
|
||||||
|
|
||||||
== these two items are now handled by the script
|
== these two items are now handled by the script
|
||||||
- create a wlan network in /etc/config/network as follows <<EOF
|
- create a wlan network in /etc/config/network as follows <<EOF
|
||||||
config interface 'wlan'
|
config interface 'wlan'
|
||||||
@ -22,6 +23,3 @@ config dhcp 'wlan'
|
|||||||
option limit '150'
|
option limit '150'
|
||||||
option leasetime '12h'
|
option leasetime '12h'
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
== package creation
|
|
||||||
- starting point: http://manoftoday.wordpress.com/2007/10/11/writing-and-compiling-a-simple-program-for-openwrt/
|
|
||||||
|
6
src/TODO
Normal file
6
src/TODO
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
- write a shellscript to automate tasks like swapping out /www and packaging modified code for git merging
|
||||||
|
- finish postinst and prerm/postrm scripts
|
||||||
|
- do things right and copy (not link) the init script to init.d
|
||||||
|
(and enable it automatically, which links to it from rc.d with the proper start priority?)
|
||||||
|
- add/link general OpenWrt build instructions for OSX to installation page on wiki.
|
||||||
|
- see if updating works when a new version is 'released' (probably needs a real feed)
|
@ -124,6 +124,7 @@ end
|
|||||||
--[[ Switch between wireless static IP and DHCP ]]
|
--[[ Switch between wireless static IP and DHCP ]]
|
||||||
function reconf.staticaddr_add(dirtyList)
|
function reconf.staticaddr_add(dirtyList)
|
||||||
uci:set("network", wifi.NET, "interface")
|
uci:set("network", wifi.NET, "interface")
|
||||||
|
--TODO: remove ifname on wlan interface?
|
||||||
M.uciTableSet("network", wifi.NET, {
|
M.uciTableSet("network", wifi.NET, {
|
||||||
proto = "static",
|
proto = "static",
|
||||||
ipaddr = wifi.AP_ADDRESS,
|
ipaddr = wifi.AP_ADDRESS,
|
||||||
|
Loading…
Reference in New Issue
Block a user