Opennet Firmware
 Alle Dateien Funktionen Variablen Gruppen Seiten
on-core-init
gehe zur Dokumentation dieser Datei
1 #!/bin/sh
2 #
3 # Dieses Skript wird nur ein einziges Mal nach einem Upgrade oder der Erstinstallation ausgefuehrt:
4 # http://wiki.openwrt.org/doc/uci#defaults
5 #
6 
7 
8 . "${IPKG_INSTROOT:-}/usr/lib/opennet/on-helper.sh"
9 
10 
11 # Die Einstellungen "use_olsrd_dns" und "use_olsrd_ntp" sind mit v0.5 hinzugekommen.
12 add_use_settings() {
13  prepare_on_uci_settings
14  # erzeuge die services-Node, falls noetig
15  for setting in use_olsrd_dns use_olsrd_ntp; do
16  uci show on-core | grep -q "^on-core\.settings\.$setting=" && continue
17  uci set "on-core.settings.$setting=1"
18  done
19  apply_changes on-core
20 }
21 
22 
23 # cron-Logging abschalten (bis auf Fehlermeldungen)
24 # siehe http://wiki.openwrt.org/doc/uci/system#system
25 disable_cron_logging() {
26  uci set "system.@system[0].cronloglevel=9"
27  apply_changes system
28 }
29 
30 
31 # verschiedene dnsmasq-Einstellungen
32 configure_dnsmasq() {
33  # die Namensaufloesung im Opennet generiert auch 192.168er-Adressen - diese werden durch "rebind_protection" blockiert
34  uci set "dhcp.@dnsmasq[0].rebind_protection=0"
35  # keine Speicherung von DHCP leases
36  uci set "dhcp.@dnsmasq[0].quietdhcp=1"
37  apply_changes dhcp
38 }
39 
40 
41 add_crontab_entries() {
42  local crontab_file=/etc/crontabs/root
43  line_in_file "$crontab_file" "^[^#].*run_parts.*/etc/cron\.minutely" \
44  "* * * * * on-function run_parts /etc/cron.minutely 2>&1 | logger -t cron-error"
45  line_in_file "$crontab_file" "^[^#].*run_parts.*/etc/cron\.5mins" \
46  "*/5 * * * * on-function run_parts /etc/cron.5mins 2>&1 | logger -t cron-error"
47  line_in_file "$crontab_file" "^[^#].*run_parts.*/etc/cron\.daily" \
48  "02 4 * * * on-function run_parts /etc/cron.daily 2>&1 | logger -t cron-error"
49  # es ist schwer zu pruefen, ob die Datei sich geaendert hat - also einfach neustarten
50  /etc/init.d/cron restart
51 }
52 
53 
54 set_timezone_berlin() {
55  # "zonename" ist bereits gesetzt? Wert beibehalten ...
56  [ -n "$(uci_get "system.@system[0].zonename")" ] && return 0
57  # Zone und Verschiebung setzen
58  uci set "system.@system[0].zonename=Europe/Berlin"
59  uci set "system.@system[0].timezone=CET-1CEST,M3.5.0,M10.5.0/3"
60  uci commit system
61 }
62 
63 
64 add_use_settings
65 disable_cron_logging
66 configure_dnsmasq
67 add_crontab_entries
68 set_timezone_berlin
69