From 2ee7e82e8ff5b7c12edc978d68d5163dd55d8d13 Mon Sep 17 00:00:00 2001 From: Denys Dmytriyenko Date: Thu, 24 Feb 2011 09:31:41 +0000 Subject: [PATCH] busybox: fix udhcp check for NFS rootfs for new style /proc/mounts * Newer kernels change the format of /proc/mounts slightly when rootfs is mounted over NFS. * Old style: /dev/root / nfs 0 0 * New style: : / nfs 0 0 * The regexp in grep can be simplified and rolled into one, but may become less strict... Signed-off-by: Denys Dmytriyenko Acked-by: Khem Raj --- .../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 0000000000..46aaab97be --- /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 0000000000..46aaab97be --- /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 ef20c62d3b..fca3e938ae 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 633b70bc73..f85de86c74 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 7623944403..aefa57fd2b 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 \ -- 2.39.5