summaryrefslogtreecommitdiffstats
path: root/package/base-files/files/etc
diff options
context:
space:
mode:
Diffstat (limited to 'package/base-files/files/etc')
-rw-r--r--package/base-files/files/etc/banner13
-rw-r--r--package/base-files/files/etc/config/network8
l---------package/base-files/files/etc/functions.sh1
-rw-r--r--package/base-files/files/etc/hotplug.d/net/00-sysctl6
-rw-r--r--package/base-files/files/etc/hotplug2-common.rules43
-rw-r--r--package/base-files/files/etc/hotplug2-init.rules5
-rwxr-xr-xpackage/base-files/files/etc/init.d/boot45
-rwxr-xr-xpackage/base-files/files/etc/init.d/done2
-rwxr-xr-xpackage/base-files/files/etc/init.d/led12
-rwxr-xr-xpackage/base-files/files/etc/init.d/rcS25
-rwxr-xr-xpackage/base-files/files/etc/init.d/sysctl2
-rwxr-xr-xpackage/base-files/files/etc/init.d/umount2
-rwxr-xr-xpackage/base-files/files/etc/init.d/usb2
-rwxr-xr-xpackage/base-files/files/etc/init.d/watchdog13
-rw-r--r--package/base-files/files/etc/inittab3
-rwxr-xr-xpackage/base-files/files/etc/preinit3
-rwxr-xr-xpackage/base-files/files/etc/rc.button/failsafe2
-rwxr-xr-xpackage/base-files/files/etc/rc.button/reset18
-rwxr-xr-xpackage/base-files/files/etc/rc.button/rfkill23
-rwxr-xr-xpackage/base-files/files/etc/rc.common31
-rw-r--r--package/base-files/files/etc/sysctl.conf8
-rw-r--r--package/base-files/files/etc/uci-defaults/10_migrate-shadow (renamed from package/base-files/files/etc/uci-defaults/migrate-shadow)0
-rw-r--r--package/base-files/files/etc/uci-defaults/11_migrate-sysctl17
-rw-r--r--package/base-files/files/etc/uci-defaults/12_network-generate-ula18
24 files changed, 165 insertions, 137 deletions
diff --git a/package/base-files/files/etc/banner b/package/base-files/files/etc/banner
index 058cb5573..3eed7dfc0 100644
--- a/package/base-files/files/etc/banner
+++ b/package/base-files/files/etc/banner
@@ -4,13 +4,10 @@
|_______|| __|_____|__|__||________||__| |____|
|__| W I R E L E S S F R E E D O M
-----------------------------------------------------
- ATTITUDE ADJUSTMENT (%C, %R)
+ BARRIER BREAKER (%C, %R)
-----------------------------------------------------
- * 1/4 oz Vodka Pour all ingredients into mixing
- * 1/4 oz Gin tin with ice, strain into glass.
- * 1/4 oz Amaretto
- * 1/4 oz Triple sec
- * 1/4 oz Peach schnapps
- * 1/4 oz Sour mix
- * 1 splash Cranberry juice
+ * 1/2 oz Galliano Pour all ingredients into
+ * 4 oz cold Coffee an irish coffee mug filled
+ * 1 1/2 oz Dark Rum with crushed ice. Stir.
+ * 2 tsp. Creme de Cacao
-----------------------------------------------------
diff --git a/package/base-files/files/etc/config/network b/package/base-files/files/etc/config/network
index a35fd2ef9..87b124aa3 100644
--- a/package/base-files/files/etc/config/network
+++ b/package/base-files/files/etc/config/network
@@ -12,3 +12,11 @@ config interface lan
option proto static
option ipaddr 192.168.1.1
option netmask 255.255.255.0
+ option ip6assign 60
+
+config interface wan6
+ option ifname @wan
+ option proto dhcpv6
+
+config globals globals
+ option ula_prefix auto
diff --git a/package/base-files/files/etc/functions.sh b/package/base-files/files/etc/functions.sh
deleted file mode 120000
index 13b3190e7..000000000
--- a/package/base-files/files/etc/functions.sh
+++ /dev/null
@@ -1 +0,0 @@
-../lib/functions.sh \ No newline at end of file
diff --git a/package/base-files/files/etc/hotplug.d/net/00-sysctl b/package/base-files/files/etc/hotplug.d/net/00-sysctl
new file mode 100644
index 000000000..5d9da8ac0
--- /dev/null
+++ b/package/base-files/files/etc/hotplug.d/net/00-sysctl
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+if [ -f /etc/sysctl.conf ] && [ "$ACTION" = add ]; then
+ sed -ne "/^[[:space:]]*net\..*\.$DEVICENAME\./p" /etc/sysctl.conf | \
+ sysctl -e -p - | logger -t sysctl
+fi
diff --git a/package/base-files/files/etc/hotplug2-common.rules b/package/base-files/files/etc/hotplug2-common.rules
deleted file mode 100644
index c284f8f3f..000000000
--- a/package/base-files/files/etc/hotplug2-common.rules
+++ /dev/null
@@ -1,43 +0,0 @@
-
-# uncomment me to log hotplug events
-# DEVPATH is set {
-# exec logger -s -t hotplug -p daemon.info "name=%DEVNAME%, path=%DEVPATH%"
-# }
-
-$include /etc/hotplug2-platform.rules
-
-DEVNAME ~~ (^null$|^full$|^ptmx$|^zero$|^gpio|^hvc) {
- makedev /dev/%DEVNAME% 0666
- next-event
-}
-
-DEVNAME == mapper/control {
- makedev /dev/%DEVNAME% 0600
- next-event
-}
-
-ACTION == add, DEVPATH is set {
- makedev /dev/%DEVNAME% 0644
-}
-
-ACTION == add, DEVPATH is set, DEVNAME ~~ ^tty {
- chmod 0666 /dev/%DEVNAME%
-}
-
-ACTION == add, DEVPATH is set, DEVNAME ~~ ^ppp {
- chmod 0600 /dev/%DEVNAME%
-}
-
-ACTION == remove, DEVPATH is set, MAJOR is set, MINOR is set {
- remove /dev/%DEVNAME%
-}
-
-FIRMWARE is set, ACTION == add {
- exec /sbin/hotplug-call firmware
- load-firmware /lib/firmware
- next-event
-}
-
-SUBSYSTEM == platform {
- exec /sbin/hotplug-call %SUBSYSTEM%
-}
diff --git a/package/base-files/files/etc/hotplug2-init.rules b/package/base-files/files/etc/hotplug2-init.rules
deleted file mode 100644
index f01169776..000000000
--- a/package/base-files/files/etc/hotplug2-init.rules
+++ /dev/null
@@ -1,5 +0,0 @@
-$include /etc/hotplug2-common.rules
-
-SUBSYSTEM == button {
- exec kill -USR1 1
-}
diff --git a/package/base-files/files/etc/init.d/boot b/package/base-files/files/etc/init.d/boot
index 43837a80f..4f35eac7b 100755
--- a/package/base-files/files/etc/init.d/boot
+++ b/package/base-files/files/etc/init.d/boot
@@ -24,27 +24,6 @@ system_config() {
# apply timezone to kernel
date -k
-
- if [ -x /sbin/syslogd ]; then
- local args log_ip log_size log_port log_type log_file
- config_get log_ip "$cfg" log_ip
- config_get log_size "$cfg" log_size 16
- config_get log_port "$cfg" log_port 514
- config_get log_type "$cfg" log_type circular
- config_get log_file "$cfg" log_file "/var/log/messages"
- args="${log_ip:+-L -R ${log_ip}:${log_port}} ${conloglevel:+-l $conloglevel}"
- if [ "$log_type" = "file" ]; then
- args="$args -s $log_size -O $log_file -S"
- else
- args="$args -C${log_size}"
- fi
- service_start /sbin/syslogd $args
- fi
- if [ -x /sbin/klogd ]; then
- config_get klogconloglevel "$cfg" klogconloglevel
- args="${klogconloglevel:+-c $klogconloglevel}"
- service_start /sbin/klogd $args
- fi
}
apply_uci_config() {
@@ -66,10 +45,14 @@ start() {
touch /var/log/lastlog
touch /tmp/resolv.conf.auto
ln -sf /tmp/resolv.conf.auto /tmp/resolv.conf
- grep -q debugfs /proc/filesystems && mount -t debugfs debugfs /sys/kernel/debug
+ grep -q debugfs /proc/filesystems && mount -o noatime -t debugfs debugfs /sys/kernel/debug
[ "$FAILSAFE" = "true" ] && touch /tmp/.failsafe
- load_modules /etc/modules.d/*
+ if [ -f /sbin/kmodloader ]; then
+ /sbin/kmodloader
+ else
+ load_modules /etc/modules.d/*
+ fi
# allow wifi modules time to settle
sleep 1
@@ -84,20 +67,16 @@ start() {
config_load system
config_foreach system_config system
- killall -q hotplug2
- [ -x /sbin/hotplug2 ] && /sbin/hotplug2 --override --persistent \
- --set-rules-file /etc/hotplug2.rules \
- --set-coldplug-cmd /sbin/udevtrigger \
- --max-children 1 >/dev/null 2>&1 &
-
# create /dev/root if it doesn't exist
[ -e /dev/root -o -h /dev/root ] || {
rootdev=$(awk 'BEGIN { RS=" "; FS="="; } $1 == "root" { print $2 }' < /proc/cmdline)
[ -n "$rootdev" ] && ln -s "$rootdev" /dev/root
}
-}
-stop() {
- service_stop /sbin/klogd
- service_stop /sbin/syslogd
+ # early sysctl to avoid networking races
+ if [ -d /proc/sys/net/ipv6/conf ]; then
+ for i in /proc/sys/net/ipv6/conf/*/accept_ra; do
+ echo 0 > $i
+ done
+ fi
}
diff --git a/package/base-files/files/etc/init.d/done b/package/base-files/files/etc/init.d/done
index 827866912..8040766dc 100755
--- a/package/base-files/files/etc/init.d/done
+++ b/package/base-files/files/etc/init.d/done
@@ -5,7 +5,7 @@ START=95
boot() {
[ -d /tmp/root ] && {
lock /tmp/.switch2jffs
- firstboot switch2jffs
+ switch2jffs
lock -u /tmp/.switch2jffs
}
diff --git a/package/base-files/files/etc/init.d/led b/package/base-files/files/etc/init.d/led
index 43964bf0b..729796bcc 100755
--- a/package/base-files/files/etc/init.d/led
+++ b/package/base-files/files/etc/init.d/led
@@ -24,6 +24,13 @@ load_led() {
config_get delayoff $1 delayoff
config_get interval $1 interval "50"
config_get port_state $1 port_state
+ config_get delay $1 delay "150"
+ config_get message $1 message ""
+
+ if [ "$trigger" = "rssi" ]; then
+ # handled by rssileds userspace process
+ return
+ fi
[ -e /sys/class/leds/${sysfs}/brightness ] && {
echo "setting up led ${name}"
@@ -61,6 +68,11 @@ load_led() {
echo $port_state > /sys/class/leds/${sysfs}/port_state
;;
+ "morse")
+ echo $message > /sys/class/leds/${sysfs}/message
+ echo $delay > /sys/class/leds/${sysfs}/delay
+ ;;
+
switch[0-9]*)
local port_mask
diff --git a/package/base-files/files/etc/init.d/rcS b/package/base-files/files/etc/init.d/rcS
index 3ec9bfef6..9599bbf32 100755
--- a/package/base-files/files/etc/init.d/rcS
+++ b/package/base-files/files/etc/init.d/rcS
@@ -1,26 +1,9 @@
#!/bin/sh
# Copyright (C) 2006 OpenWrt.org
-run_scripts() {
- for i in /etc/rc.d/$1*; do
- [ -x $i ] && $i $2 2>&1
- done | $LOGGER
-}
-
-system_config() {
- config_get_bool foreground $1 foreground 0
-}
-
LOGGER="cat"
-[ -x /usr/bin/logger ] && LOGGER="logger -s -p 6 -t sysinit"
-
-. /lib/functions.sh
-
-config_load system
-config_foreach system_config system
+[ -x /usr/bin/logger ] && LOGGER="logger -p 6 -t sysinit"
-if [ "$1" = "S" -a "$foreground" != "1" ]; then
- run_scripts "$1" "$2" &
-else
- run_scripts "$1" "$2"
-fi
+for i in /etc/rc.d/$1*; do
+ [ -x $i ] && $i $2 2>&1
+done | $LOGGER
diff --git a/package/base-files/files/etc/init.d/sysctl b/package/base-files/files/etc/init.d/sysctl
index 239779055..3480d6641 100755
--- a/package/base-files/files/etc/init.d/sysctl
+++ b/package/base-files/files/etc/init.d/sysctl
@@ -1,7 +1,7 @@
#!/bin/sh /etc/rc.common
# Copyright (C) 2006 OpenWrt.org
-START=99
+START=11
start() {
[ -f /etc/sysctl.conf ] && sysctl -p -e >&-
}
diff --git a/package/base-files/files/etc/init.d/umount b/package/base-files/files/etc/init.d/umount
index a4e477e2e..5a750b93c 100755
--- a/package/base-files/files/etc/init.d/umount
+++ b/package/base-files/files/etc/init.d/umount
@@ -4,5 +4,5 @@
STOP=99
stop() {
sync
- umount -a -r
+ umount -a -d -r
}
diff --git a/package/base-files/files/etc/init.d/usb b/package/base-files/files/etc/init.d/usb
index 7b443b651..43cdfd9a9 100755
--- a/package/base-files/files/etc/init.d/usb
+++ b/package/base-files/files/etc/init.d/usb
@@ -4,6 +4,6 @@
START=39
start() {
[ -d /proc/bus/usb ] && {
- /bin/mount -t usbfs none /proc/bus/usb
+ mount -o noatime -t usbfs none /proc/bus/usb
}
}
diff --git a/package/base-files/files/etc/init.d/watchdog b/package/base-files/files/etc/init.d/watchdog
deleted file mode 100755
index 299c89142..000000000
--- a/package/base-files/files/etc/init.d/watchdog
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/bin/sh /etc/rc.common
-# Copyright (C) 2008-2011 OpenWrt.org
-
-START=97
-
-start() {
- [ -c /dev/watchdog ] || return 1
- [ -x /sbin/watchdog ] || return 1
- service_start /sbin/watchdog -t 5 /dev/watchdog
-}
-stop() {
- service_stop /sbin/watchdog
-}
diff --git a/package/base-files/files/etc/inittab b/package/base-files/files/etc/inittab
index ca90fd8a2..781718593 100644
--- a/package/base-files/files/etc/inittab
+++ b/package/base-files/files/etc/inittab
@@ -1,4 +1,3 @@
::sysinit:/etc/init.d/rcS S boot
::shutdown:/etc/init.d/rcS K shutdown
-ttyS0::askfirst:/bin/ash --login
-tty1::askfirst:/bin/ash --login
+::askconsole:/bin/ash --login
diff --git a/package/base-files/files/etc/preinit b/package/base-files/files/etc/preinit
index 0fdfa8cf8..ff26f96d6 100755
--- a/package/base-files/files/etc/preinit
+++ b/package/base-files/files/etc/preinit
@@ -2,6 +2,8 @@
# Copyright (C) 2006 OpenWrt.org
# Copyright (C) 2010 Vertical Communications
+[ -z "$PREINIT" ] && exec /sbin/init
+
export PATH=/bin:/sbin:/usr/bin:/usr/sbin
pi_ifname=
@@ -22,7 +24,6 @@ pi_init_path="/bin:/sbin:/usr/bin:/usr/sbin"
pi_init_cmd="/sbin/init"
. /lib/functions.sh
-. /lib/functions/boot.sh
boot_hook_init preinit_essential
boot_hook_init preinit_main
diff --git a/package/base-files/files/etc/rc.button/failsafe b/package/base-files/files/etc/rc.button/failsafe
new file mode 100755
index 000000000..dcdf7de80
--- /dev/null
+++ b/package/base-files/files/etc/rc.button/failsafe
@@ -0,0 +1,2 @@
+#!/bin/sh
+touch /tmp/failsafe_button
diff --git a/package/base-files/files/etc/rc.button/reset b/package/base-files/files/etc/rc.button/reset
new file mode 100755
index 000000000..229b503a6
--- /dev/null
+++ b/package/base-files/files/etc/rc.button/reset
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+[ "${ACTION}" = "released" ] || exit 0
+
+. /lib/functions.sh
+
+logger "$BUTTON pressed for $SEEN seconds"
+
+if [ "$SEEN" -lt 1 ]
+then
+ echo "REBOOT" > /dev/console
+ sync
+ reboot
+elif [ "$SEEN" -gt 5 ]
+then
+ echo "FACTORY RESET" > /dev/console
+ jffs2reset -y && reboot &
+fi
diff --git a/package/base-files/files/etc/rc.button/rfkill b/package/base-files/files/etc/rc.button/rfkill
new file mode 100755
index 000000000..7a8cfe91b
--- /dev/null
+++ b/package/base-files/files/etc/rc.button/rfkill
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+[ "${ACTION}" = "released" ] || exit 0
+
+. /lib/functions.sh
+
+local rfkill_state=0
+
+wifi_rfkill_set() {
+ uci set wireless.$1.disabled=$rfkill_state
+}
+
+wifi_rfkill_check() {
+ local disabled
+ config_get disabled $1 disabled
+ [ "$disabled" = "1" ] || rfkill_state=1
+}
+
+config_load wireless
+config_foreach wifi_rfkill_check wifi-device
+config_foreach wifi_rfkill_set wifi-device
+uci commit wireless
+wifi up
diff --git a/package/base-files/files/etc/rc.common b/package/base-files/files/etc/rc.common
index fa2df6cd2..78e2dd494 100755
--- a/package/base-files/files/etc/rc.common
+++ b/package/base-files/files/etc/rc.common
@@ -75,10 +75,41 @@ $EXTRA_HELP
EOF
}
+# for procd
+start_service() {
+ return 0
+}
+
+stop_service() {
+ return 0
+}
+
${INIT_TRACE:+set -x}
. "$initscript"
+[ -n "$USE_PROCD" ] && {
+ . $IPKG_INSTROOT/lib/functions/procd.sh
+
+ rc_procd() {
+ procd_open_service "$(basename "$initscript")" "$initscript"
+ "$@"
+ procd_close_service
+ }
+
+ start() {
+ rc_procd start_service "$@"
+ }
+
+ stop() {
+ procd_kill "$(basename "$initscript")" "$1"
+ }
+
+ reload() {
+ start
+ }
+}
+
ALL_COMMANDS="start stop reload restart boot shutdown enable disable enabled depends ${EXTRA_COMMANDS}"
list_contains ALL_COMMANDS "$action" || action=help
[ "$action" = "reload" ] && action='eval reload "$@" || restart "$@" && :'
diff --git a/package/base-files/files/etc/sysctl.conf b/package/base-files/files/etc/sysctl.conf
index b39bc5747..890e77af8 100644
--- a/package/base-files/files/etc/sysctl.conf
+++ b/package/base-files/files/etc/sysctl.conf
@@ -12,12 +12,8 @@ net.ipv4.tcp_timestamps=1
net.ipv4.tcp_sack=1
net.ipv4.tcp_dsack=1
-net.ipv4.netfilter.ip_conntrack_checksum=0
-net.ipv4.netfilter.ip_conntrack_max=16384
-net.ipv4.netfilter.ip_conntrack_tcp_timeout_established=3600
-net.ipv4.netfilter.ip_conntrack_udp_timeout=60
-net.ipv4.netfilter.ip_conntrack_udp_timeout_stream=180
-net.ipv6.conf.all.forwarding=1
+net.ipv6.conf.default.forwarding=2
+net.ipv6.conf.all.forwarding=2
net.netfilter.nf_conntrack_acct=1
net.netfilter.nf_conntrack_checksum=0
diff --git a/package/base-files/files/etc/uci-defaults/migrate-shadow b/package/base-files/files/etc/uci-defaults/10_migrate-shadow
index b7ea5718c..b7ea5718c 100644
--- a/package/base-files/files/etc/uci-defaults/migrate-shadow
+++ b/package/base-files/files/etc/uci-defaults/10_migrate-shadow
diff --git a/package/base-files/files/etc/uci-defaults/11_migrate-sysctl b/package/base-files/files/etc/uci-defaults/11_migrate-sysctl
new file mode 100644
index 000000000..b3796a4d2
--- /dev/null
+++ b/package/base-files/files/etc/uci-defaults/11_migrate-sysctl
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+if [ ! -f "/rom/etc/sysctl.conf" ] || cmp -s "/rom/etc/sysctl.conf" "/etc/sysctl.conf"; then
+ exit 0
+fi
+
+fingerprint="$(md5sum /etc/sysctl.conf)"
+fingerprint="${fingerprint%% *}"
+
+if [ "$fingerprint" = "1b05ebb41f72cb84e5510573cd4aca26" ] || \
+ [ "$fingerprint" = "62deb895be1a7f496040187b7c930e4e" ]; then
+ logger -t migrate-sysctl "Updating sysctl.conf to use current defaults"
+ cp "/rom/etc/sysctl.conf" "/etc/sysctl.conf"
+fi
+
+exit 0
+
diff --git a/package/base-files/files/etc/uci-defaults/12_network-generate-ula b/package/base-files/files/etc/uci-defaults/12_network-generate-ula
new file mode 100644
index 000000000..f3e493145
--- /dev/null
+++ b/package/base-files/files/etc/uci-defaults/12_network-generate-ula
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+[ "$(uci get network.globals.ula_prefix)" != "auto" ] && exit 0
+# Sometimes results are empty, therefore try until it works...
+local r1 r2 r3
+while [ -z "$r1" -o -z "$r2" -o -z "$r3" ]; do
+ r1=$(printf "%02x" $(($(</dev/urandom tr -dc 0-9 | dd bs=9 count=1) % 256)))
+ r2=$(printf "%01x" $(($(</dev/urandom tr -dc 0-9 | dd bs=9 count=1) % 65536)))
+ r3=$(printf "%01x" $(($(</dev/urandom tr -dc 0-9 | dd bs=9 count=1) % 65536)))
+done
+
+uci -q batch <<-EOF >/dev/null
+ set network.globals.ula_prefix=fd$r1:$r2:$r3::/48
+ commit network
+EOF
+
+exit 0
+