aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/netbase
diff options
context:
space:
mode:
authorLeon Woestenberg <leon@sidebranch.com>2009-12-29 23:49:18 +0100
committerLeon Woestenberg <leon@sidebranch.com>2010-01-01 13:22:42 +0100
commit26af5ed1db81d29a59eb93cd9860d246d8dfa6a2 (patch)
treeb1a0d5383e9f00e01b876fec1e23b6e0955a00e8 /recipes/netbase
parenta367a0f624493f828bff9d35a6b41474f5b019e6 (diff)
downloadopenembedded-26af5ed1db81d29a59eb93cd9860d246d8dfa6a2.tar.gz
netbase/init: Do not run 'ifup -a' if root is network mounted.
'ifup -a' makes a NFS mounted rootfs dissappear underneath us, so add detection of such rootfs and do not (de)configure. Signed-off-by: Leon Woestenberg <leon@sidebranch.com>
Diffstat (limited to 'recipes/netbase')
-rw-r--r--recipes/netbase/netbase/init32
1 files changed, 21 insertions, 11 deletions
diff --git a/recipes/netbase/netbase/init b/recipes/netbase/netbase/init
index acc26cba61..227f6ffcb9 100644
--- a/recipes/netbase/netbase/init
+++ b/recipes/netbase/netbase/init
@@ -62,17 +62,27 @@ doopt () {
case "$1" in
start)
- # /etc/sysctl.conf is preferred
- if [ ! -f /etc/sysctl.conf ]; then
- doopt spoofprotect yes
- doopt syncookies no
- doopt ip_forward no
- fi
-
- echo -n "Configuring network interfaces... "
- ifup -a
- echo "done."
- ;;
+ if sed -n 's/^[^ ]* \([^ ]*\) \([^ ]*\) .*$/\1 \2/p' /proc/mounts |
+ grep -q "^/ nfs$"; then
+ echo "NOT configuring network interfaces: / is an NFS mount"
+ elif sed -n 's/^[^ ]* \([^ ]*\) \([^ ]*\) .*$/\1 \2/p' /proc/mounts |
+ grep -q "^/ smbfs$"; then
+ echo "NOT configuring network interfaces: / is an SMB mount"
+ elif sed -n 's/^[^ ]* \([^ ]*\) \([^ ]*\) .*$/\2/p' /proc/mounts |
+ grep -qE '^(nfs|smbfs|ncp|coda)$'; then
+ echo "NOT configuring network interfaces: network shares still mounted."
+ else
+ echo -n "Configuring network interfaces... "
+ ifup -a
+ echo "done."
+ # /etc/sysctl.conf is preferred
+ if [ ! -f /etc/sysctl.conf ]; then
+ doopt spoofprotect yes
+ doopt syncookies no
+ doopt ip_forward no
+ fi
+ fi
+ ;;
stop)
if sed -n 's/^[^ ]* \([^ ]*\) \([^ ]*\) .*$/\1 \2/p' /proc/mounts |
grep -q "^/ nfs$"; then