From 562d9f958290acd4323b24fbecfec43514b392e9 Mon Sep 17 00:00:00 2001 From: John Crispin Date: Mon, 18 Aug 2014 13:09:17 +0000 Subject: [PATCH] base-files: add a hardware detection layer this allows targets to use the new uci-default helper which will generate a file called /etc/board.json. a tool called /bin/config_generate can then be used to generate the default uci settings. Signed-off-by: John Crispin SVN-Revision: 42185 --- package/base-files/files/bin/board_detect | 14 + package/base-files/files/bin/config_generate | 173 ++++++++++ package/base-files/files/etc/init.d/boot | 1 + .../files/lib/functions/uci-defaults-new.sh | 302 ++++++++++++++++++ 4 files changed, 490 insertions(+) create mode 100755 package/base-files/files/bin/board_detect create mode 100755 package/base-files/files/bin/config_generate create mode 100755 package/base-files/files/lib/functions/uci-defaults-new.sh diff --git a/package/base-files/files/bin/board_detect b/package/base-files/files/bin/board_detect new file mode 100755 index 0000000000..ddd17a1633 --- /dev/null +++ b/package/base-files/files/bin/board_detect @@ -0,0 +1,14 @@ +#!/bin/sh + +[ -d "/etc/board.d/" -a ! -f "/etc/board.json" ] || { + for a in `ls /etc/board.d/*`; do + [ -x $a ] || continue; + $(. $a) + done +} + +[ -f "/etc/board.json" ] || return 1 +[ -f "/etc/config/network" ] || { + touch /etc/config/network + /bin/config_generate +} diff --git a/package/base-files/files/bin/config_generate b/package/base-files/files/bin/config_generate new file mode 100755 index 0000000000..c435e7bb43 --- /dev/null +++ b/package/base-files/files/bin/config_generate @@ -0,0 +1,173 @@ +#!/bin/sh + +CFG=/etc/board.json + +. /usr/share/libubox/jshn.sh + +[ -f $CFG ] || exit 1 + +generate_static_network() { + uci -q batch < /tmp/.board.json + mv /tmp/.board.json ${CFG} +}