base-files: split /etc/init.d/boot into 2 files
this allows us to bind a procd trigger to system.@system[-1] Signed-off-by: John Crispin <blogic@openwrt.org> SVN-Revision: 39615
This commit is contained in:
parent
204e859542
commit
7917a87d12
2 changed files with 52 additions and 32 deletions
|
@ -4,37 +4,6 @@
|
|||
START=10
|
||||
STOP=98
|
||||
|
||||
system_config() {
|
||||
local cfg="$1"
|
||||
|
||||
local hostname conloglevel buffersize timezone zonename
|
||||
|
||||
config_get hostname "$cfg" hostname 'OpenWrt'
|
||||
echo "$hostname" > /proc/sys/kernel/hostname
|
||||
|
||||
config_get conloglevel "$cfg" conloglevel
|
||||
config_get buffersize "$cfg" buffersize
|
||||
[ -z "$conloglevel" -a -z "$buffersize" ] || dmesg ${conloglevel:+-n $conloglevel} ${buffersize:+-s $buffersize}
|
||||
|
||||
config_get timezone "$cfg" timezone 'UTC'
|
||||
echo "$timezone" > /tmp/TZ
|
||||
|
||||
config_get zonename "$cfg" zonename
|
||||
[ -n "$zonename" ] && [ -f "/usr/share/zoneinfo/$zonename" ] && ln -s "/usr/share/zoneinfo/$zonename" /tmp/localtime
|
||||
|
||||
# apply timezone to kernel
|
||||
date -k
|
||||
}
|
||||
|
||||
apply_uci_config() {
|
||||
sh -c '. /lib/functions.sh; include /lib/config; uci_apply_defaults'
|
||||
}
|
||||
|
||||
start() {
|
||||
config_load system
|
||||
config_foreach system_config system
|
||||
}
|
||||
|
||||
boot() {
|
||||
[ -f /proc/mounts ] || /sbin/mount_root
|
||||
[ -f /proc/jffs2_bbc ] && echo "S" > /proc/jffs2_bbc
|
||||
|
@ -64,7 +33,7 @@ boot() {
|
|||
}
|
||||
rm -f /tmp/wireless.tmp
|
||||
|
||||
apply_uci_config
|
||||
sh -c '. /lib/functions.sh; include /lib/config; uci_apply_defaults'
|
||||
|
||||
# temporary hack until configd exists
|
||||
/sbin/reload_config
|
||||
|
|
51
package/base-files/files/etc/init.d/system
Executable file
51
package/base-files/files/etc/init.d/system
Executable file
|
@ -0,0 +1,51 @@
|
|||
#!/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'
|
||||
|
||||
return $?
|
||||
}
|
||||
|
||||
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 -s "/usr/share/zoneinfo/$zonename" /tmp/localtime
|
||||
|
||||
# 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
|
||||
}
|
Loading…
Reference in a new issue