#!/bin/sh /etc/rc.common # Copyright (C) 2014 OpenWrt.org START=10 USE_PROCD=1 validate_system_section() { uci_validate_section system system "${1}" \ 'hostname:string:OpenWrt' \ 'conloglevel:uinteger' \ 'buffersize:uinteger' \ 'timezone:string:UTC' \ 'zonename:string' } system_config() { local cfg="$1" local hostname conloglevel buffersize timezone zonename validate_system_section "${1}" || { echo "validation failed" return 1 } echo "$hostname" > /proc/sys/kernel/hostname [ -z "$conloglevel" -a -z "$buffersize" ] || dmesg ${conloglevel:+-n $conloglevel} ${buffersize:+-s $buffersize} echo "$timezone" > /tmp/TZ [ -n "$zonename" ] && [ -f "/usr/share/zoneinfo/$zonename" ] && \ ln -sf "/usr/share/zoneinfo/$zonename" /tmp/localtime && rm -f /tmp/TZ # apply timezone to kernel date -k } reload_service() { config_load system config_foreach system_config system } service_triggers() { procd_add_reload_trigger "system" procd_add_validation validate_system_section } start_service() { reload_service }