summaryrefslogtreecommitdiff
path: root/packages/busybox
diff options
context:
space:
mode:
authorMike Westerhof <mwester@dls.net>2006-12-24 02:46:38 +0000
committerMike Westerhof <mwester@dls.net>2006-12-24 02:46:38 +0000
commitc4f552af61b2ff51633ab6fa077ea4514cac6c02 (patch)
tree6705cccc00360105b7b07d7f087b3fd47a893492 /packages/busybox
parent1172ac52b4d20c1348725351e42b1809fdc9ecec (diff)
Busybox: patch df rootfs device handling code so that the output works correctly on systems that pivot from one root device to another during boot (SlugOS and variants)
Diffstat (limited to 'packages/busybox')
-rw-r--r--packages/busybox/busybox-1.2.1/df_rootfs.patch34
-rw-r--r--packages/busybox/busybox_1.2.1.bb3
2 files changed, 36 insertions, 1 deletions
diff --git a/packages/busybox/busybox-1.2.1/df_rootfs.patch b/packages/busybox/busybox-1.2.1/df_rootfs.patch
new file mode 100644
index 0000000000..486318a2cf
--- /dev/null
+++ b/packages/busybox/busybox-1.2.1/df_rootfs.patch
@@ -0,0 +1,34 @@
+--- busybox-1.2.1/coreutils/df.c.orig 2006-11-11 13:25:00.000000000 -0600
++++ busybox-1.2.1/coreutils/df.c 2006-11-11 13:23:15.000000000 -0600
+@@ -47,6 +47,7 @@
+ struct statfs s;
+ static const char hdr_1k[] = "1k-blocks"; /* default display is kilobytes */
+ const char *disp_units_hdr = hdr_1k;
++ int root_done = 0;
+
+ #ifdef CONFIG_FEATURE_HUMAN_READABLE
+ bb_opt_complementally = "h-km:k-hm:m-hk";
+@@ -112,16 +113,19 @@
+ ) / (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) {
+ /* Adjusts device to be the real root device,
+ * or leaves device alone if it can't find it */
+- if ((device = find_block_device("/")) == NULL) {
++ if ((device = find_block_device(mount_point)) == NULL) {
+ goto SET_ERROR;
+ }
+ }
+
++ if (strcmp(mount_point, "/") == 0) {
++ if (root_done) continue;
++ root_done = 1;
++ }
++
+ #ifdef CONFIG_FEATURE_HUMAN_READABLE
+ bb_printf("%-20s %9s ", device,
+ make_human_readable_str(s.f_blocks, s.f_bsize, df_disp_hr));
diff --git a/packages/busybox/busybox_1.2.1.bb b/packages/busybox/busybox_1.2.1.bb
index 36ffd0311c..9205b57d6f 100644
--- a/packages/busybox/busybox_1.2.1.bb
+++ b/packages/busybox/busybox_1.2.1.bb
@@ -1,8 +1,9 @@
require busybox.inc
-PR = "r9"
+PR = "r10"
SRC_URI += "file://wget-long-options.patch;patch=1 \
+ file://df_rootfs.patch;patch=1 \
file://defconfig"
do_configure () {