Date: Thu, 8 May 2014 01:43:33 +0000 (UTC) From: Marcel Moolenaar <marcel@FreeBSD.org> To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r265626 - user/marcel/mkimg Message-ID: <201405080143.s481hXVu008885@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: marcel Date: Thu May 8 01:43:33 2014 New Revision: 265626 URL: http://svnweb.freebsd.org/changeset/base/265626 Log: Add the -f option for specifying the output format. Update the manpage accordingly. Print the scheme and the format when running verbose. Modified: user/marcel/mkimg/mkimg.1 user/marcel/mkimg/mkimg.c Modified: user/marcel/mkimg/mkimg.1 ============================================================================== --- user/marcel/mkimg/mkimg.1 Thu May 8 01:13:18 2014 (r265625) +++ user/marcel/mkimg/mkimg.1 Thu May 8 01:43:33 2014 (r265626) @@ -37,6 +37,7 @@ .Op Fl S Ar secsz .Op Fl T Ar tracksz .Op Fl b Ar bootcode +.Op Fl f Ar format .Op Fl o Ar outfile .Op Fl v .Fl s Ar scheme @@ -56,6 +57,10 @@ The disk image is written to by default or the file specified with the .Ar outfile argument. +The image file is a raw disk image by default, but the format of the +image file can be specified with the +.Ar format +argument. .Pp The disk image can be made bootable by specifying the scheme-specific boot block contents with the @@ -106,8 +111,8 @@ option increases the level of output tha .Nm utility prints. .Pp -For a complete list of supported partitioning schemes or for a detailed -description of how to specify partitions, run the +For a complete list of supported partitioning schemes or supported output +format, or for a detailed description of how to specify partitions, run the .Nm utility without any arguments. .Sh EXAMPLES Modified: user/marcel/mkimg/mkimg.c ============================================================================== --- user/marcel/mkimg/mkimg.c Thu May 8 01:13:18 2014 (r265625) +++ user/marcel/mkimg/mkimg.c Thu May 8 01:43:33 2014 (r265626) @@ -69,6 +69,7 @@ usage(const char *why) fprintf(stderr, " options:\n"); fprintf(stderr, "\t-b <file>\t- file containing boot code\n"); + fprintf(stderr, "\t-f <format>\n"); fprintf(stderr, "\t-o <file>\t- file to write image into\n"); fprintf(stderr, "\t-p <partition>\n"); fprintf(stderr, "\t-s <scheme>\n"); @@ -326,7 +327,7 @@ main(int argc, char *argv[]) bcfd = -1; outfd = 1; /* Write to stdout by default */ - while ((c = getopt(argc, argv, "b:o:p:s:vH:P:S:T:")) != -1) { + while ((c = getopt(argc, argv, "b:f:o:p:s:vH:P:S:T:")) != -1) { switch (c) { case 'b': /* BOOT CODE */ if (bcfd != -1) @@ -335,6 +336,13 @@ main(int argc, char *argv[]) if (bcfd == -1) err(EX_UNAVAILABLE, "%s", optarg); break; + case 'f': /* OUTPUT FORMAT */ + if (format_selected() != NULL) + usage("multiple formats given"); + error = format_select(optarg); + if (error) + errc(EX_DATAERR, error, "format"); + break; case 'o': /* OUTPUT FILE */ if (outfd != 1) usage("multiple output files given"); @@ -409,6 +417,9 @@ main(int argc, char *argv[]) errx(EX_DATAERR, "%d partitions supported; %d given", scheme_max_parts(), nparts); + if (format_selected() == NULL) + format_select("raw"); + if (bcfd != -1) { error = scheme_bootcode(bcfd); close(bcfd); @@ -421,6 +432,12 @@ main(int argc, char *argv[]) fprintf(stderr, "Physical block size: %u\n", blksz); fprintf(stderr, "Sectors per track: %u\n", nsecs); fprintf(stderr, "Number of heads: %u\n", nheads); + fputc('\n', stderr); + fprintf(stderr, "Partitioning scheme: %s\n", + scheme_selected()->name); + fprintf(stderr, "Output file format: %s\n", + format_selected()->name); + fputc('\n', stderr); } error = image_init(); @@ -429,8 +446,10 @@ main(int argc, char *argv[]) mkimg(); - if (verbose) + if (verbose) { + fputc('\n', stderr); fprintf(stderr, "Number of cylinders: %u\n", ncyls); + } error = image_copyout(outfd); if (error)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201405080143.s481hXVu008885>