All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] busybox: fix udhcp check for NFS rootfs for new style /proc/mounts
@ 2011-02-24  1:31 Denys Dmytriyenko
  2011-02-24  2:59 ` Khem Raj
  2011-02-24  2:59 ` Andreas Oberritter
  0 siblings, 2 replies; 4+ messages in thread
From: Denys Dmytriyenko @ 2011-02-24  1:31 UTC (permalink / raw)
  To: openembedded-devel; +Cc: Denys Dmytriyenko

From: Denys Dmytriyenko <denys@ti.com>

* 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>
---
 .../busybox-1.13.2/udhcpc-new-nfsroot.patch        |   16 ++++++++++++++++
 .../busybox-1.18.3/udhcpc-new-nfsroot.patch        |   16 ++++++++++++++++
 recipes/busybox/busybox_1.13.2.bb                  |    2 +-
 recipes/busybox/busybox_1.18.3.bb                  |    2 +-
 recipes/busybox/busybox_1.1x.inc                   |    1 +
 5 files changed, 35 insertions(+), 2 deletions(-)
 create mode 100644 recipes/busybox/busybox-1.13.2/udhcpc-new-nfsroot.patch
 create mode 100644 recipes/busybox/busybox-1.18.3/udhcpc-new-nfsroot.patch

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
index 0000000..46aaab9
--- /dev/null
+++ b/recipes/busybox/busybox-1.13.2/udhcpc-new-nfsroot.patch
@@ -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
index 0000000..46aaab9
--- /dev/null
+++ b/recipes/busybox/busybox-1.18.3/udhcpc-new-nfsroot.patch
@@ -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.13.2.bb b/recipes/busybox/busybox_1.13.2.bb
index ef20c62..fca3e93 100644
--- a/recipes/busybox/busybox_1.13.2.bb
+++ b/recipes/busybox/busybox_1.13.2.bb
@@ -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 \
diff --git a/recipes/busybox/busybox_1.18.3.bb b/recipes/busybox/busybox_1.18.3.bb
index 633b70b..f85de86 100644
--- a/recipes/busybox/busybox_1.18.3.bb
+++ b/recipes/busybox/busybox_1.18.3.bb
@@ -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 \
diff --git a/recipes/busybox/busybox_1.1x.inc b/recipes/busybox/busybox_1.1x.inc
index 7623944..aefa57f 100644
--- a/recipes/busybox/busybox_1.1x.inc
+++ b/recipes/busybox/busybox_1.1x.inc
@@ -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 \
-- 
1.7.0.4




^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] busybox: fix udhcp check for NFS rootfs for new style /proc/mounts
  2011-02-24  1:31 [PATCH] busybox: fix udhcp check for NFS rootfs for new style /proc/mounts Denys Dmytriyenko
@ 2011-02-24  2:59 ` Khem Raj
  2011-02-24  2:59 ` Andreas Oberritter
  1 sibling, 0 replies; 4+ messages in thread
From: Khem Raj @ 2011-02-24  2:59 UTC (permalink / raw)
  To: openembedded-devel; +Cc: Denys Dmytriyenko

On Wed, Feb 23, 2011 at 5:31 PM, Denys Dmytriyenko <denis@denix.org> wrote:
> From: Denys Dmytriyenko <denys@ti.com>
>
> * 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>

OK

Acked-by: Khem Raj <raj.khem@gmail.com>

> ---
>  .../busybox-1.13.2/udhcpc-new-nfsroot.patch        |   16 ++++++++++++++++
>  .../busybox-1.18.3/udhcpc-new-nfsroot.patch        |   16 ++++++++++++++++
>  recipes/busybox/busybox_1.13.2.bb                  |    2 +-
>  recipes/busybox/busybox_1.18.3.bb                  |    2 +-
>  recipes/busybox/busybox_1.1x.inc                   |    1 +
>  5 files changed, 35 insertions(+), 2 deletions(-)
>  create mode 100644 recipes/busybox/busybox-1.13.2/udhcpc-new-nfsroot.patch
>  create mode 100644 recipes/busybox/busybox-1.18.3/udhcpc-new-nfsroot.patch
>
> 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
> index 0000000..46aaab9
> --- /dev/null
> +++ b/recipes/busybox/busybox-1.13.2/udhcpc-new-nfsroot.patch
> @@ -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
> index 0000000..46aaab9
> --- /dev/null
> +++ b/recipes/busybox/busybox-1.18.3/udhcpc-new-nfsroot.patch
> @@ -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.13.2.bb b/recipes/busybox/busybox_1.13.2.bb
> index ef20c62..fca3e93 100644
> --- a/recipes/busybox/busybox_1.13.2.bb
> +++ b/recipes/busybox/busybox_1.13.2.bb
> @@ -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 \
> diff --git a/recipes/busybox/busybox_1.18.3.bb b/recipes/busybox/busybox_1.18.3.bb
> index 633b70b..f85de86 100644
> --- a/recipes/busybox/busybox_1.18.3.bb
> +++ b/recipes/busybox/busybox_1.18.3.bb
> @@ -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 \
> diff --git a/recipes/busybox/busybox_1.1x.inc b/recipes/busybox/busybox_1.1x.inc
> index 7623944..aefa57f 100644
> --- a/recipes/busybox/busybox_1.1x.inc
> +++ b/recipes/busybox/busybox_1.1x.inc
> @@ -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 \
> --
> 1.7.0.4
>
>
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
>



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] busybox: fix udhcp check for NFS rootfs for new style /proc/mounts
  2011-02-24  1:31 [PATCH] busybox: fix udhcp check for NFS rootfs for new style /proc/mounts Denys Dmytriyenko
  2011-02-24  2:59 ` Khem Raj
@ 2011-02-24  2:59 ` Andreas Oberritter
  2011-02-24  3:26   ` Denys Dmytriyenko
  1 sibling, 1 reply; 4+ messages in thread
From: Andreas Oberritter @ 2011-02-24  2:59 UTC (permalink / raw)
  To: openembedded-devel

Hello Denys,

On 02/24/2011 02:31 AM, Denys Dmytriyenko wrote:
> 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
> index 0000000..46aaab9
> --- /dev/null
> +++ b/recipes/busybox/busybox-1.13.2/udhcpc-new-nfsroot.patch
> @@ -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

Would "grep -qe '^\S\+ / \(nfs\|smbfs\|ncp\|coda\) ' /proc/mounts" work
for both cases?

> diff --git a/recipes/busybox/busybox_1.1x.inc b/recipes/busybox/busybox_1.1x.inc
> index 7623944..aefa57f 100644
> --- a/recipes/busybox/busybox_1.1x.inc
> +++ b/recipes/busybox/busybox_1.1x.inc
> @@ -5,6 +5,7 @@ SRC_URI = "\
>    file://fdisk_nios2.patch \
>    file://udhcpscript.patch \
>    file://udhcpc-fix-nfsroot.patch \
> +  file://udhcpc-new-nfsroot.patch \

Should the two patches above be merged into a single patch?

Regards,
Andreas



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] busybox: fix udhcp check for NFS rootfs for new style /proc/mounts
  2011-02-24  2:59 ` Andreas Oberritter
@ 2011-02-24  3:26   ` Denys Dmytriyenko
  0 siblings, 0 replies; 4+ messages in thread
From: Denys Dmytriyenko @ 2011-02-24  3:26 UTC (permalink / raw)
  To: openembedded-devel

On Thu, Feb 24, 2011 at 03:59:43AM +0100, Andreas Oberritter wrote:
> Hello Denys,
> 
> On 02/24/2011 02:31 AM, Denys Dmytriyenko wrote:
> > 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
> > index 0000000..46aaab9
> > --- /dev/null
> > +++ b/recipes/busybox/busybox-1.13.2/udhcpc-new-nfsroot.patch
> > @@ -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
> 
> Would "grep -qe '^\S\+ / \(nfs\|smbfs\|ncp\|coda\) ' /proc/mounts" work
> for both cases?

Andreas,

As I mentioned in the patch description:

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

So, it's definitely possible, but I was worried the regexp would become too 
loose and return false positives. Plus, I'm not sure how \S\+ would work on 
spaces in the pathname, such as My\ Documents.

> > diff --git a/recipes/busybox/busybox_1.1x.inc b/recipes/busybox/busybox_1.1x.inc
> > index 7623944..aefa57f 100644
> > --- a/recipes/busybox/busybox_1.1x.inc
> > +++ b/recipes/busybox/busybox_1.1x.inc
> > @@ -5,6 +5,7 @@ SRC_URI = "\
> >    file://fdisk_nios2.patch \
> >    file://udhcpscript.patch \
> >    file://udhcpc-fix-nfsroot.patch \
> > +  file://udhcpc-new-nfsroot.patch \
> 
> Should the two patches above be merged into a single patch?

That can be done, if people feel strongly about it...

-- 
Denys



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2011-02-24  3:28 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-02-24  1:31 [PATCH] busybox: fix udhcp check for NFS rootfs for new style /proc/mounts Denys Dmytriyenko
2011-02-24  2:59 ` Khem Raj
2011-02-24  2:59 ` Andreas Oberritter
2011-02-24  3:26   ` Denys Dmytriyenko

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.