b443ee0fbb
The current init script always tries to start hotplug 2, even if it's not present, so we get an error on boot. This change checks for the presence of the hotplug2 binary before trying to start it. Signed-off-by: Jeremy Kerr <jk@ozlabs.org> SVN-Revision: 9606
59 lines
1.4 KiB
Bash
Executable file
59 lines
1.4 KiB
Bash
Executable file
#!/bin/sh /etc/rc.common
|
|
# Copyright (C) 2006 OpenWrt.org
|
|
|
|
START=10
|
|
|
|
system_config() {
|
|
local cfg="$1"
|
|
local hostname
|
|
|
|
config_get hostname "$cfg" hostname
|
|
echo "${hostname:-OpenWrt}" > /proc/sys/kernel/hostname
|
|
|
|
config_get conloglevel "$cfg" conloglevel
|
|
[ -n "$conloglevel" ] && dmesg -n "$conloglevel"
|
|
|
|
config_get log_ip "$cfg" log_ip
|
|
syslogd -C16 ${log_ip:+-L -R $log_ip}
|
|
klogd
|
|
}
|
|
|
|
apply_uci_config() {(
|
|
include /lib/config
|
|
uci_apply_defaults
|
|
)}
|
|
|
|
start() {
|
|
[ -f /proc/mounts ] || /sbin/mount_root
|
|
[ -f /proc/jffs2_bbc ] && echo "S" > /proc/jffs2_bbc
|
|
vconfig set_name_type DEV_PLUS_VID_NO_PAD
|
|
|
|
apply_uci_config
|
|
config_load system
|
|
config_foreach system_config system
|
|
|
|
mkdir -p /var/run
|
|
mkdir -p /var/log
|
|
mkdir -p /var/lock
|
|
mkdir -p /var/state
|
|
touch /var/log/wtmp
|
|
touch /var/log/lastlog
|
|
ln -sf /tmp/resolv.conf.auto /tmp/resolv.conf
|
|
[ "$FAILSAFE" = "true" ] && touch /tmp/.failsafe
|
|
|
|
[ -x /sbin/hotplug2 ] && /sbin/hotplug2 --override --persistent \
|
|
--max-children 1 --no-coldplug &
|
|
|
|
# the coldplugging of network interfaces needs to happen later, so we do it manually here
|
|
for iface in $(awk -F: '/:/ {print $1}' /proc/net/dev); do
|
|
/usr/bin/env -i ACTION=add INTERFACE="$iface" /sbin/hotplug-call net
|
|
done
|
|
|
|
# create /dev/root if it doesn't exist
|
|
[ -e /dev/root ] || {
|
|
rootdev=$(awk 'BEGIN { RS=" "; FS="="; } $1 == "root" { print $2 }' < /proc/cmdline)
|
|
[ -n "$rootdev" ] && ln -s "$rootdev" /dev/root
|
|
}
|
|
|
|
load_modules /etc/modules.d/*
|
|
}
|