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 /packages/busybox | |
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)
Diffstat (limited to 'packages/busybox')
-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 () { |