--- /dev/null
+--- busybox-1.00/coreutils/df.c        2004-08-02 20:14:01.000000000 -0400
++++ busybox-1.00/coreutils/df.c.new    2006-06-29 10:56:43.256528750 -0400
+@@ -117,6 +117,8 @@
+               }
+ 
+               if ((s.f_blocks > 0) || !mount_table){
++                      int root_done = 0;
++
+                       blocks_used = s.f_blocks - s.f_bfree;
+                       blocks_percent_used = 0;
+                       if (blocks_used + s.f_bavail) {
+@@ -125,14 +127,14 @@
+                                                                          ) / (blocks_used + s.f_bavail);
+                       }
+ 
+-                      if (strcmp(device, "rootfs") == 0) {
+-                              continue;
+-                      } else if (strcmp(device, "/dev/root") == 0) {
++                      if (strcmp(device, "/dev/root") == 0 || strcmp(device, "rootfs") == 0) {
++                              if (root_done) continue;
+                               /* 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()) == NULL) {
+                                       goto SET_ERROR;
+                               }
++                              root_done = 1;
+                       }
+ 
+ #ifdef CONFIG_FEATURE_HUMAN_READABLE
 
--- /dev/null
+--- busybox-1.00/coreutils/df.c        2004-08-02 20:14:01.000000000 -0400
++++ busybox-1.00/coreutils/df.c.new    2006-06-29 10:56:43.256528750 -0400
+@@ -117,6 +117,8 @@
+               }
+ 
+               if ((s.f_blocks > 0) || !mount_table){
++                      int root_done = 0;
++
+                       blocks_used = s.f_blocks - s.f_bfree;
+                       blocks_percent_used = 0;
+                       if (blocks_used + s.f_bavail) {
+@@ -125,14 +127,14 @@
+                                                                          ) / (blocks_used + s.f_bavail);
+                       }
+ 
+-                      if (strcmp(device, "rootfs") == 0) {
+-                              continue;
+-                      } else if (strcmp(device, "/dev/root") == 0) {
++                      if (strcmp(device, "/dev/root") == 0 || strcmp(device, "rootfs") == 0) {
++                              if (root_done) continue;
+                               /* 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()) == NULL) {
+                                       goto SET_ERROR;
+                               }
++                              root_done = 1;
+                       }
+ 
+ #ifdef CONFIG_FEATURE_HUMAN_READABLE
 
 LICENSE = "GPL"
 SECTION = "base"
 PRIORITY = "required"
-PR = "r33"
+PR = "r34"
 
 SRC_URI = "http://www.busybox.net/downloads/busybox-${PV}.tar.gz \
            file://add-getkey-applet.patch;patch=1 \
           file://readlink.patch;patch=1 \
           file://iproute-flush-cache.patch;patch=1;pnum=0 \
           file://rmmod.patch;patch=1 \
+          file://df.patch;patch=1 \
           file://below.patch;patch=1 \
           file://fbset.patch;patch=1 \
           file://mount-all-type.patch;patch=1 \
 
 LICENSE = "GPL"
 SECTION = "base"
 PRIORITY = "required"
+PR = "r1"
 
 DEFAULT_PREFERENCE = "-1"
 DEFAULT_PREFERENCE_nslu2 = ""
           file://mount-all-type.patch;patch=1 \
           file://readlink.patch;patch=1 \
           file://rmmod.patch;patch=1 \
+          file://df.patch;patch=1 \
           file://udhcpscript.patch;patch=1 \
            file://defconfig \
            file://busybox-cron \