mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-25 16:31:13 +00:00
b993a00b82
The duplicate sections are caused by a race condition at boot, when board.json is not available. In that case, the final phy name cannot be resolved, and extra sections referring to the path are created. Fix this by making sure that wifi config is not being run before board.json is created. Signed-off-by: Felix Fietkau <nbd@nbd.name>
59 lines
1.4 KiB
Bash
Executable File
59 lines
1.4 KiB
Bash
Executable File
#!/bin/sh /etc/rc.common
|
|
# Copyright (C) 2006-2011 OpenWrt.org
|
|
|
|
START=10
|
|
STOP=90
|
|
|
|
uci_apply_defaults() {
|
|
. /lib/functions/system.sh
|
|
|
|
cd /etc/uci-defaults || return 0
|
|
files="$(ls)"
|
|
[ -z "$files" ] && return 0
|
|
mkdir -p /tmp/.uci
|
|
for file in $files; do
|
|
( . "./$(basename $file)" ) && rm -f "$file"
|
|
done
|
|
uci commit
|
|
}
|
|
|
|
boot() {
|
|
[ -f /proc/mounts ] || /sbin/mount_root
|
|
[ -f /proc/jffs2_bbc ] && echo "S" > /proc/jffs2_bbc
|
|
|
|
mkdir -p /var/lock
|
|
chmod 1777 /var/lock
|
|
mkdir -p /var/log
|
|
mkdir -p /var/run
|
|
mkdir -p /var/state
|
|
mkdir -p /var/tmp
|
|
mkdir -p /tmp/.uci
|
|
chmod 0700 /tmp/.uci
|
|
touch /var/log/wtmp
|
|
touch /var/log/lastlog
|
|
mkdir -p /tmp/resolv.conf.d
|
|
touch /tmp/resolv.conf.d/resolv.conf.auto
|
|
ln -sf /tmp/resolv.conf.d/resolv.conf.auto /tmp/resolv.conf
|
|
grep -q debugfs /proc/filesystems && /bin/mount -o noatime -t debugfs debugfs /sys/kernel/debug
|
|
grep -q bpf /proc/filesystems && /bin/mount -o nosuid,nodev,noexec,noatime,mode=0700 -t bpf bpffs /sys/fs/bpf
|
|
grep -q pstore /proc/filesystems && /bin/mount -o noatime -t pstore pstore /sys/fs/pstore
|
|
[ "$FAILSAFE" = "true" ] && touch /tmp/.failsafe
|
|
|
|
touch /tmp/.config_pending
|
|
/sbin/kmodloader
|
|
|
|
[ ! -f /etc/config/wireless ] && {
|
|
# compat for bcm47xx and mvebu
|
|
sleep 1
|
|
}
|
|
|
|
/bin/config_generate
|
|
rm -f /tmp/.config_pending
|
|
/sbin/wifi config
|
|
uci_apply_defaults
|
|
sync
|
|
|
|
# temporary hack until configd exists
|
|
/sbin/reload_config
|
|
}
|