Somewhere in the 2.4.x kernel series, /proc/mounts was changed to display a
"rootfs" entry as well as the traditional "/dev/root" entry.  This caused
applets such as mount and df to display two root filesystem entries....

This teaches the relevant utilities to ignore the "rootfs" entry.
 -Erik
diff --git a/coreutils/df.c b/coreutils/df.c
index 9673633..543527e 100644
--- a/coreutils/df.c
+++ b/coreutils/df.c
@@ -126,7 +126,9 @@
 									   ) / (blocks_used + s.f_bavail);
 			}
 			
-			if (strcmp(device, "/dev/root") == 0) {
+			if (strcmp(device, "rootfs") == 0) {
+				continue;
+			} else if (strcmp(device, "/dev/root") == 0) {
 				/* Adjusts device to be the real root device,
 				* or leaves device alone if it can't find it */
 				if ((device = find_real_root_device_name(device)) == NULL) {
diff --git a/util-linux/mount.c b/util-linux/mount.c
index d020056..49d086c 100644
--- a/util-linux/mount.c
+++ b/util-linux/mount.c
@@ -334,7 +334,9 @@
 		while ((m = getmntent(mountTable)) != 0) {
 			char *blockDevice = m->mnt_fsname;
 
-			if (strcmp(blockDevice, "/dev/root") == 0) {
+			if (strcmp(blockDevice, "rootfs") == 0) {
+				continue;
+			} else if (strcmp(blockDevice, "/dev/root") == 0) {
 				blockDevice = find_real_root_device_name(blockDevice);
 			}
 			if (!onlytype || (strcmp(m->mnt_type, onlytype) == 0)) {
diff --git a/util-linux/umount.c b/util-linux/umount.c
index 1d3e893..c11f2e9 100644
--- a/util-linux/umount.c
+++ b/util-linux/umount.c
@@ -111,7 +111,9 @@
 				return cur->mountpt;
 			} else {
 #if !defined CONFIG_FEATURE_MTAB_SUPPORT
-				if (strcmp(cur->device, "/dev/root") == 0) {
+				if (strcmp(cur->device, "rootfs") == 0) {
+					continue;
+				} else if (strcmp(cur->device, "/dev/root") == 0) {
 					/* Adjusts device to be the real root device,
 					 * or leaves device alone if it can't find it */
 					cur->device = find_real_root_device_name(cur->device);