diff options
author | Mike Westerhof <mwester@dls.net> | 2006-12-24 02:46:38 +0000 |
---|---|---|
committer | Mike Westerhof <mwester@dls.net> | 2006-12-24 02:46:38 +0000 |
commit | c4f552af61b2ff51633ab6fa077ea4514cac6c02 (patch) | |
tree | 6705cccc00360105b7b07d7f087b3fd47a893492 | |
parent | 1172ac52b4d20c1348725351e42b1809fdc9ecec (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)
-rw-r--r-- | packages/busybox/busybox-1.2.1/df_rootfs.patch | 34 | ||||
-rw-r--r-- | packages/busybox/busybox_1.2.1.bb | 3 |
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 () { |