From patchwork Wed Jul 25 07:19:20 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [CONSOLIDATED, PULL, 26/28] busybox:udhcpc: fix the root_is_nfs() function Date: Wed, 25 Jul 2012 07:19:20 -0000 From: Saul Wold X-Patchwork-Id: 33015 Message-Id: <0b8d6e3e9c0d27934bfb5217a6dc42b4ff8d4c34.1343200454.git.sgw@linux.intel.com> To: openembedded-core@lists.openembedded.org From: "Roy.Li" [YOCTO #2788] The system will be hung when udhcpc starts, if nfs is mounted at "/" directory and default route is different after starting udhcpc. The cause is that root_is_nfs() does not work after kernel-2.6.37, since the device name has been changed from /dev/root to ${IPADDR}:${NFSDIR} on /proc/mounts. which leads to remove the default routes to nfs server, Now we use a loose match to check if rootfs is nfs. Signed-off-by: Roy.Li Signed-off-by: Saul Wold --- meta/recipes-core/busybox/busybox_1.19.4.bb | 2 +- meta/recipes-core/busybox/files/simple.script | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/meta/recipes-core/busybox/busybox_1.19.4.bb b/meta/recipes-core/busybox/busybox_1.19.4.bb index cc97e2a..7bdfbda 100644 --- a/meta/recipes-core/busybox/busybox_1.19.4.bb +++ b/meta/recipes-core/busybox/busybox_1.19.4.bb @@ -1,5 +1,5 @@ require busybox.inc -PR = "r10" +PR = "r11" SRC_URI = "http://www.busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \ file://B921600.patch \ diff --git a/meta/recipes-core/busybox/files/simple.script b/meta/recipes-core/busybox/files/simple.script index 27368f0..6973985 100644 --- a/meta/recipes-core/busybox/files/simple.script +++ b/meta/recipes-core/busybox/files/simple.script @@ -10,7 +10,8 @@ RESOLV_CONF="/etc/resolv.conf" # return 0 if root is mounted on a network filesystem root_is_nfs() { - grep -qe '^/dev/root.*\(nfs\|smbfs\|ncp\|coda\) .*' /proc/mounts + sed -n 's/^[^ ]* \([^ ]*\) \([^ ]*\) .*$/\1 \2/p' /proc/mounts | + grep -q "^/ \(nfs\|smbfs\|ncp\|coda\)$" } have_bin_ip=0