diff --git a/BuildOpenwrt.md b/BuildOpenwrt.md index 132d762..f676b66 100644 --- a/BuildOpenwrt.md +++ b/BuildOpenwrt.md @@ -1,6 +1,6 @@ # Building OpenWRT for the WifiBox -TODO: add steps to clone openwrt, install required software, create an image (on OSX) and fetch package feeds +_TODO_: add steps to clone openwrt, install required software, create an image (on OSX) and fetch package feeds When changing enabled packages, make sure the image has been created (check the timestamp). If not, the contents were probably too large to fit on the device. Luci and Python (even mini) are notable for causing this. diff --git a/Home.md b/Home.md index 2a8184a..09bf75d 100644 --- a/Home.md +++ b/Home.md @@ -8,4 +8,8 @@ This contains notes previously kept in several local files. Keeping notes here i [analyzing uhttpd crashes](UhttpdCrash) -[partial original wiki content](OriginalContent) \ No newline at end of file +[outline for self-update functionality](SelfUpdater) + +[partial original wiki content](OriginalContent) + +[Miscelanneous notes](MiscNotes) diff --git a/MiscNotes.md b/MiscNotes.md new file mode 100644 index 0000000..e7602d5 --- /dev/null +++ b/MiscNotes.md @@ -0,0 +1,6 @@ +# Miscellaneous notes + +- [source code of iwinfo (old revision)](https://dev.openwrt.org/browser/trunk/package/iwinfo/src/iwinfo_lua.c?rev=29403) +- [Press4Connect](https://github.com/nutbolt/press4connect/tree/master/files/p4config) +- Used [urlcode.lua](from https://github.com/keplerproject/cgilua/blob/master/src/cgilua/urlcode.lua) for decoding URLs + diff --git a/SelfUpdater.md b/SelfUpdater.md new file mode 100644 index 0000000..010b325 --- /dev/null +++ b/SelfUpdater.md @@ -0,0 +1,14 @@ +## Update mechanism + +_TODO_: make this document intelligable + +- create a rigid versioning system +- server-side script to report available versions (scans directory and reports back versions available in xml/json/plain) +- reported versions translate to archives and checksums (e.g. ?.tar.gz and ?.md5sum) +- all code must be contained within one directory, symlinks to place 'hooks' within the system +- updating should not only install/overwrite new files or symlinks but also remove old ones +- updater keeps at least the last-known-good version to rollback to +- the updater is part of the system; in case it gets broken accidentally there should be a command-line option (e.g. through fail-safe) to restore a previous version (or immediately fetch a new debugged one) +- (!) a fallback webupdater in case of booting trouble might be good to have +- create deploy script (included in release package; should probably work incrementally?) + diff --git a/UhttpdCrash.md b/UhttpdCrash.md index eb88eef..a8e2648 100644 --- a/UhttpdCrash.md +++ b/UhttpdCrash.md @@ -1,6 +1,6 @@ # Analyzing uhttpd crashes -TODO: describe when this happens (sometimes in portal mode and always when webroot does not exist?). +_TODO_: describe when this happens (sometimes in portal mode and always when webroot does not exist?). - First, enable debug support in the binary by modifying package/network/services/uhttpd/Makefile: add `TARGET_CFLAGS += -ggdb3 -O0` below `TARGET_LDFLAGS`. - Next, enable building the toolchain (we need a gdb which understands mips images).