1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- #!/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
- }
|