Openwrt/package/base-files/files/etc/init.d/boot
Felix Fietkau b443ee0fbb init: don't start hotplug2 if it doesn't exist
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
2007-11-28 02:36:10 +00:00

60 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/*
}