base-files: allow users to delect debug level during boot
Signed-off-by: John Crispin <blogic@openwrt.org> SVN-Revision: 38909
This commit is contained in:
parent
91de2648e9
commit
93e9a71538
5 changed files with 60 additions and 11 deletions
|
@ -260,6 +260,26 @@ mtd_get_mac_ascii()
|
||||||
[ -n "$mac_dirty" ] && macaddr_canonicalize "$mac_dirty"
|
[ -n "$mac_dirty" ] && macaddr_canonicalize "$mac_dirty"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
mtd_get_blob()
|
||||||
|
{
|
||||||
|
local mtdname="$1"
|
||||||
|
local offset="$2"
|
||||||
|
local count="$3"
|
||||||
|
local firmware="$4"
|
||||||
|
local part
|
||||||
|
|
||||||
|
part=$(find_mtd_part "$mtdname")
|
||||||
|
if [ -z "$part" ]; then
|
||||||
|
echo "mtd_get_blob: partition $mtdname not found!" >&2
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
dd if=$part of=$firmware bs=1 skip=$offset count=$count 2>/dev/null || {
|
||||||
|
echo "mtd_get_blob: failed to extract $firmware from $part" >&2
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
mtd_get_mac_binary() {
|
mtd_get_mac_binary() {
|
||||||
local mtdname="$1"
|
local mtdname="$1"
|
||||||
local offset="$2"
|
local offset="$2"
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
fs_wait_for_key () {
|
fs_wait_for_key () {
|
||||||
local timeout=$3
|
local timeout=$3
|
||||||
local timer
|
local timer
|
||||||
local do_failsafe
|
local do_keypress
|
||||||
local keypress_true="$(mktemp)"
|
local keypress_true="$(mktemp)"
|
||||||
local keypress_wait="$(mktemp)"
|
local keypress_wait="$(mktemp)"
|
||||||
local keypress_sec="$(mktemp)"
|
local keypress_sec="$(mktemp)"
|
||||||
|
@ -40,6 +40,7 @@ fs_wait_for_key () {
|
||||||
} &
|
} &
|
||||||
|
|
||||||
echo "Press the [$1] key and hit [enter] $2"
|
echo "Press the [$1] key and hit [enter] $2"
|
||||||
|
echo "Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level"
|
||||||
# if we're on the console we wait for input
|
# if we're on the console we wait for input
|
||||||
{
|
{
|
||||||
while [ -r $keypress_wait ]; do
|
while [ -r $keypress_wait ]; do
|
||||||
|
@ -48,14 +49,22 @@ fs_wait_for_key () {
|
||||||
[ -n "$timer" ] || timer=1
|
[ -n "$timer" ] || timer=1
|
||||||
timer="${timer%%\ *}"
|
timer="${timer%%\ *}"
|
||||||
[ $timer -ge 1 ] || timer=1
|
[ $timer -ge 1 ] || timer=1
|
||||||
do_failsafe=""
|
do_keypress=""
|
||||||
{
|
{
|
||||||
read -t "$timer" do_failsafe
|
read -t "$timer" do_keypress
|
||||||
if [ "$do_failsafe" = "$1" ]; then
|
case "$do_keypress" in
|
||||||
|
$1)
|
||||||
echo "true" >$keypress_true
|
echo "true" >$keypress_true
|
||||||
|
;;
|
||||||
|
1 | 2 | 3 | 4)
|
||||||
|
echo "$do_keypress" >/tmp/debug_level
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
continue;
|
||||||
|
;;
|
||||||
|
esac
|
||||||
lock -u $keypress_wait
|
lock -u $keypress_wait
|
||||||
rm -f $keypress_wait
|
rm -f $keypress_wait
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,14 +1,14 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=procd
|
PKG_NAME:=procd
|
||||||
PKG_VERSION:=2013-11-20
|
PKG_VERSION:=2013-11-22
|
||||||
|
|
||||||
PKG_RELEASE=$(PKG_SOURCE_VERSION)
|
PKG_RELEASE=$(PKG_SOURCE_VERSION)
|
||||||
|
|
||||||
PKG_SOURCE_PROTO:=git
|
PKG_SOURCE_PROTO:=git
|
||||||
PKG_SOURCE_URL:=git://nbd.name/luci2/procd.git
|
PKG_SOURCE_URL:=git://nbd.name/luci2/procd.git
|
||||||
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
|
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
|
||||||
PKG_SOURCE_VERSION:=21d307367eb991f7494ce43087a5edb94288d08f
|
PKG_SOURCE_VERSION:=dc3988c38546c37a02030af8201048272caa7ded
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
|
||||||
CMAKE_INSTALL:=1
|
CMAKE_INSTALL:=1
|
||||||
|
|
||||||
|
|
|
@ -6,10 +6,24 @@ START=50
|
||||||
USE_PROCD=1
|
USE_PROCD=1
|
||||||
PROG=/usr/sbin/crond
|
PROG=/usr/sbin/crond
|
||||||
|
|
||||||
|
validate_cron_section() {
|
||||||
|
uci_validate_section system system "${1}" \
|
||||||
|
'cronloglevel:uinteger'
|
||||||
|
}
|
||||||
|
|
||||||
start_service () {
|
start_service () {
|
||||||
[ -z "$(ls /etc/crontabs/)" ] && return 1
|
[ -z "$(ls /etc/crontabs/)" ] && return 1
|
||||||
|
|
||||||
loglevel=$(uci_get "system.@system[0].cronloglevel")
|
loglevel=$(uci_get "system.@system[0].cronloglevel")
|
||||||
|
|
||||||
|
[ -z "${loglevel}" ] || {
|
||||||
|
/sbin/validate_data uinteger "${loglevel}"
|
||||||
|
[ "$?" -eq 0 ] || {
|
||||||
|
echo "validation failed"
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
mkdir -p /var/spool/cron
|
mkdir -p /var/spool/cron
|
||||||
ln -s /etc/crontabs /var/spool/cron/ 2>/dev/null
|
ln -s /etc/crontabs /var/spool/cron/ 2>/dev/null
|
||||||
|
|
||||||
|
@ -17,3 +31,8 @@ start_service () {
|
||||||
procd_set_param command "$PROG" -f -c /etc/crontabs -l ${loglevel:-5}
|
procd_set_param command "$PROG" -f -c /etc/crontabs -l ${loglevel:-5}
|
||||||
procd_close_instance
|
procd_close_instance
|
||||||
}
|
}
|
||||||
|
|
||||||
|
service_triggers()
|
||||||
|
{
|
||||||
|
procd_add_validation validate_cron_section
|
||||||
|
}
|
||||||
|
|
|
@ -21,7 +21,8 @@ rt2x00_eeprom_extract() {
|
||||||
rt2x00_eeprom_die "failed to extract from $mtd"
|
rt2x00_eeprom_die "failed to extract from $mtd"
|
||||||
}
|
}
|
||||||
|
|
||||||
[ -e /lib/firmware/$FIRMWARE ] && exit 0
|
FW="/lib/firmware/$FIRMWARE"
|
||||||
|
[ -e "$FW" ] && exit 0
|
||||||
|
|
||||||
. /lib/ramips.sh
|
. /lib/ramips.sh
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue