busybox: fix udhcp check for NFS rootfs for new style /proc/mounts
authorDenys Dmytriyenko <denys@ti.com>
Thu, 24 Feb 2011 09:31:41 +0000 (09:31 +0000)
committerDenys Dmytriyenko <denys@ti.com>
Thu, 24 Feb 2011 23:56:49 +0000 (18:56 -0500)
* Newer kernels change the format of /proc/mounts slightly when rootfs is
mounted over NFS.

* Old style:
/dev/root / nfs <options> 0 0

* New style:
<server>:<mount> / nfs <options> 0 0

* The regexp in grep can be simplified and rolled into one, but may become
less strict...

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Acked-by: Khem Raj <raj.khem@gmail.com>
recipes/busybox/busybox-1.13.2/udhcpc-new-nfsroot.patch [new file with mode: 0644]
recipes/busybox/busybox-1.18.3/udhcpc-new-nfsroot.patch [new file with mode: 0644]
recipes/busybox/busybox_1.13.2.bb
recipes/busybox/busybox_1.18.3.bb
recipes/busybox/busybox_1.1x.inc

diff --git a/recipes/busybox/busybox-1.13.2/udhcpc-new-nfsroot.patch b/recipes/busybox/busybox-1.13.2/udhcpc-new-nfsroot.patch
new file mode 100644 (file)
index 0000000..46aaab9
--- /dev/null
@@ -0,0 +1,16 @@
+diff -uNr busybox-1.13.2.orig/examples/udhcp/simple.script busybox-1.13.2/examples/udhcp/simple.script
+--- busybox-1.13.2.orig/examples/udhcp/simple.script   2011-02-23 00:30:32.000000000 -0500
++++ busybox-1.13.2/examples/udhcp/simple.script        2011-02-23 17:05:37.873381763 -0500
+@@ -10,7 +10,12 @@
+ # return 0 if root is mounted on a network filesystem
+ root_is_nfs() {
++      # old style mounts
+       grep -qe '^/dev/root.*\(nfs\|smbfs\|ncp\|coda\) .*' /proc/mounts
++      if ! $? ; then
++              # new style mounts
++              grep -qe '^.*:.* / \(nfs\|smbfs\|ncp\|coda\) .*' /proc/mounts
++      fi
+ }
+ case "$1" in
diff --git a/recipes/busybox/busybox-1.18.3/udhcpc-new-nfsroot.patch b/recipes/busybox/busybox-1.18.3/udhcpc-new-nfsroot.patch
new file mode 100644 (file)
index 0000000..46aaab9
--- /dev/null
@@ -0,0 +1,16 @@
+diff -uNr busybox-1.13.2.orig/examples/udhcp/simple.script busybox-1.13.2/examples/udhcp/simple.script
+--- busybox-1.13.2.orig/examples/udhcp/simple.script   2011-02-23 00:30:32.000000000 -0500
++++ busybox-1.13.2/examples/udhcp/simple.script        2011-02-23 17:05:37.873381763 -0500
+@@ -10,7 +10,12 @@
+ # return 0 if root is mounted on a network filesystem
+ root_is_nfs() {
++      # old style mounts
+       grep -qe '^/dev/root.*\(nfs\|smbfs\|ncp\|coda\) .*' /proc/mounts
++      if ! $? ; then
++              # new style mounts
++              grep -qe '^.*:.* / \(nfs\|smbfs\|ncp\|coda\) .*' /proc/mounts
++      fi
+ }
+ case "$1" in
index ef20c62..fca3e93 100644 (file)
@@ -1,5 +1,5 @@
 require busybox_1.1x.inc
-PR = "${INC_PR}.3"
+PR = "${INC_PR}.4"
 
 SRC_URI += "\
   file://busybox-1.13.2-awk.patch \
index 633b70b..f85de86 100644 (file)
@@ -1,5 +1,5 @@
 require busybox_1.1x.inc
-PR = "${INC_PR}.0"
+PR = "${INC_PR}.1"
 
 SRC_URI += " \
        http://busybox.net/downloads/fixes-1.18.3/busybox-1.18.3-buildsys.patch;name=patch01 \
index 7623944..aefa57f 100644 (file)
@@ -5,6 +5,7 @@ SRC_URI = "\
   file://fdisk_nios2.patch \
   file://udhcpscript.patch \
   file://udhcpc-fix-nfsroot.patch \
+  file://udhcpc-new-nfsroot.patch \
   file://B921600.patch \
   file://get_header_tar.patch \
   file://busybox-appletlib-dependency.patch \