summaryrefslogtreecommitdiffstats
path: root/usr.bin
diff options
context:
space:
mode:
authormanu <manu@FreeBSD.org>2018-02-09 09:15:43 +0000
committermanu <manu@FreeBSD.org>2018-02-09 09:15:43 +0000
commitc0f6f65d173257f2424c6f9555c2f75f8fcf5dfe (patch)
tree7914cf038f9e76bfe129fb1753bfee1f26ae8f44 /usr.bin
parent84e0dcb72326617b52b6daaf2e7a48a0cf27b7d6 (diff)
downloadFreeBSD-src-c0f6f65d173257f2424c6f9555c2f75f8fcf5dfe.zip
FreeBSD-src-c0f6f65d173257f2424c6f9555c2f75f8fcf5dfe.tar.gz
MFC r306325, r306329-r306330, r306333, r306620-r306622, r307544, r307550, r318137, r319125, r319295
r306325 by marcel: Replace the use of linker sets with constructors for both the formats and schemes. Formats and schemes are registered at runtime now, rather than collected at link time. r306329 by marcel: Eliminate the use of EDOOFUS. The error code was used to signal programming errors, but is really a poor substitute for assert. And less portable as well. r306330 by marcel: Avoid depending on the <sys/endian.h> header for le*enc and be*enc. Not only is the header unportable, the encoding/decoding functions are as well. Instead, duplicate the handful of small inlines we need into a private header called endian.h. Aside: an alternative approach is to move the encoding/decoding functions to a separate system header. While the header is still nonportable, such an approach would make it possible to re-use the definitions by playing games with include paths. This may be the preferred approach if more (build) utilities need this. This change does not preclude that. In fact, it makes it easier. r306333 by marcel: Portability changes: 1. macOS nor Linux have MAP_NOCORE nor MAP_NOSYNC. Define as 0. 2. macOS doesn't have SEEK_DATA nor SEEK_HOLE. Define as -1 so that lseek will return -1 (with errno set to EINVAL). 3. gcc correctly warns that error is assigned but not used in image_copyout_region(). Fix by returning on the first error. r306620 by marcel: Replace STAILQ with TAILQ. TAILQs are portable enough that they can be used on both macOS and Linux. STAILQs are not. In particular, STAILQ_LAST does not next on Linux. Since neither STAILQ_FOREACH_SAFE nor TAILQ_FOREACH_SAFE exist on Linux, replace its use with a regular TAILQ_FOREACH. The _SAFE variant was only used for having the next pointer in a local variable. r306621 by marcel: Prefer <stdint.h> over <sys/types.h>. While here remove redundant inclusion of <sys/queue.h>. Move the inclusion of the disk partitioning headers out of order and inbetween standard headers and local header. They will change in a subsequent commit. r306622 by marcel: Replace OFF_MAX with INT64_MAX. The former is defined on Linux. r307544 by marcel: o Provide a private definition for UUIDs (mkimg_uuid_t) because UUIDs are not portable. o Move mkimg_uuid() to a new file and merge both gpt_uuid_enc() and vhd_uuid_enc() into a single mkimg_uuid_enc() that lives in the same file. o Move the OS-specific implementation of generating a UUID to osdep_uuidgen() and provide the implementations for FreeBSD, macOS and Linux. o Expect the partitioning scheme headers to be found by having a search to the directory in which the headers live. This avoids conflicts on non-FreeBSD machines. r307550 by imp: Add a new flag to mkimg (-a num) to specify the active partition for those partitioning schemes that have this concept. Implement it as an override for mbr's setting 0x80 in the flags for the first partition when we have boot code. Differential Revision: https://reviews.freebsd.org/D4403 r318137: mkimg: Add -C argument to specify maximum capacity Add a -C option to specify a maximum capacity for the final image file. It is useful to control the size of the generated image for sdcard or when we will add dynamic size partition. Add --capacity which is a shorthand to define min and max capacity at the same time. Reviewed by: bapt, marcel, wblock (manpages) Sponsored by: Gandi.net Differential Revision: https://reviews.freebsd.org/D10509 r319125: mkimg: Correct an off by one error in the PMBR size The PMBR last sector should be number of sector - 1 (As stated in UEFI Spec 2.6 page 118 table 17). This fixes warning printed by linux tools like parted or fdisk. Sponsored by: Gandi.net r319295 by ngie: Update the usr.bin/mkimg golden test output files after ^/head@r319125 ^/head@r319125 changed the location of the backup pmbr, requiring the output files to be regenerated, since they're binary disk dumps. The output files were regenerated with "make rebase"--fixed in ^/head@r319294. MFC with: r319125, r319294 PR: 219673 Sponsored by: Dell EMC Isilon
Diffstat (limited to 'usr.bin')
-rw-r--r--usr.bin/mkimg/Makefile5
-rw-r--r--usr.bin/mkimg/apm.c9
-rw-r--r--usr.bin/mkimg/bsd.c9
-rw-r--r--usr.bin/mkimg/ebr.c10
-rw-r--r--usr.bin/mkimg/endian.h106
-rw-r--r--usr.bin/mkimg/format.c25
-rw-r--r--usr.bin/mkimg/format.h13
-rw-r--r--usr.bin/mkimg/gpt.c38
-rw-r--r--usr.bin/mkimg/image.c58
-rw-r--r--usr.bin/mkimg/mbr.c16
-rw-r--r--usr.bin/mkimg/mkimg.141
-rw-r--r--usr.bin/mkimg/mkimg.c107
-rw-r--r--usr.bin/mkimg/mkimg.h20
-rw-r--r--usr.bin/mkimg/pc98.c9
-rw-r--r--usr.bin/mkimg/qcow.c11
-rw-r--r--usr.bin/mkimg/raw.c3
-rw-r--r--usr.bin/mkimg/scheme.c24
-rw-r--r--usr.bin/mkimg/scheme.h10
-rw-r--r--usr.bin/mkimg/tests/img-1x1-4096-gpt.qcow.gz.uu256
-rw-r--r--usr.bin/mkimg/tests/img-1x1-4096-gpt.qcow2.gz.uu44
-rw-r--r--usr.bin/mkimg/tests/img-1x1-4096-gpt.raw.gz.uu22
-rw-r--r--usr.bin/mkimg/tests/img-1x1-4096-gpt.vhd.gz.uu36
-rw-r--r--usr.bin/mkimg/tests/img-1x1-4096-gpt.vhdf.gz.uu30
-rw-r--r--usr.bin/mkimg/tests/img-1x1-4096-gpt.vmdk.gz.uu166
-rw-r--r--usr.bin/mkimg/tests/img-1x1-512-gpt.qcow.gz.uu22
-rw-r--r--usr.bin/mkimg/tests/img-1x1-512-gpt.qcow2.gz.uu44
-rw-r--r--usr.bin/mkimg/tests/img-1x1-512-gpt.raw.gz.uu22
-rw-r--r--usr.bin/mkimg/tests/img-1x1-512-gpt.vhd.gz.uu36
-rw-r--r--usr.bin/mkimg/tests/img-1x1-512-gpt.vhdf.gz.uu30
-rw-r--r--usr.bin/mkimg/tests/img-1x1-512-gpt.vmdk.gz.uu166
-rw-r--r--usr.bin/mkimg/tests/img-63x255-4096-gpt.qcow.gz.uu256
-rw-r--r--usr.bin/mkimg/tests/img-63x255-4096-gpt.qcow2.gz.uu44
-rw-r--r--usr.bin/mkimg/tests/img-63x255-4096-gpt.raw.gz.uu22
-rw-r--r--usr.bin/mkimg/tests/img-63x255-4096-gpt.vhd.gz.uu22
-rw-r--r--usr.bin/mkimg/tests/img-63x255-4096-gpt.vhdf.gz.uu29
-rw-r--r--usr.bin/mkimg/tests/img-63x255-4096-gpt.vmdk.gz.uu166
-rw-r--r--usr.bin/mkimg/tests/img-63x255-512-gpt.qcow.gz.uu22
-rw-r--r--usr.bin/mkimg/tests/img-63x255-512-gpt.qcow2.gz.uu44
-rw-r--r--usr.bin/mkimg/tests/img-63x255-512-gpt.raw.gz.uu22
-rw-r--r--usr.bin/mkimg/tests/img-63x255-512-gpt.vhd.gz.uu38
-rw-r--r--usr.bin/mkimg/tests/img-63x255-512-gpt.vhdf.gz.uu28
-rw-r--r--usr.bin/mkimg/tests/img-63x255-512-gpt.vmdk.gz.uu168
-rw-r--r--usr.bin/mkimg/uuid.c125
-rw-r--r--usr.bin/mkimg/vhd.c28
-rw-r--r--usr.bin/mkimg/vmdk.c3
-rw-r--r--usr.bin/mkimg/vtoc8.c9
46 files changed, 1363 insertions, 1051 deletions
diff --git a/usr.bin/mkimg/Makefile b/usr.bin/mkimg/Makefile
index 6622fe4..30a88f2 100644
--- a/usr.bin/mkimg/Makefile
+++ b/usr.bin/mkimg/Makefile
@@ -3,14 +3,15 @@
.include <src.opts.mk>
PROG= mkimg
-SRCS= format.c image.c mkimg.c scheme.c
+SRCS= format.c image.c mkimg.c scheme.c uuid.c
MAN= mkimg.1
-MKIMG_VERSION=20151211
+MKIMG_VERSION=20161016
mkimg.o: Makefile
CFLAGS+=-DMKIMG_VERSION=${MKIMG_VERSION}
CFLAGS+=-DSPARSE_WRITE
+CFLAGS+=-I${.CURDIR:H:H}/sys
# List of formats to support
SRCS+= \
diff --git a/usr.bin/mkimg/apm.c b/usr.bin/mkimg/apm.c
index de92cc0..8e5e43f 100644
--- a/usr.bin/mkimg/apm.c
+++ b/usr.bin/mkimg/apm.c
@@ -27,14 +27,15 @@
#include <sys/cdefs.h>
__FBSDID("$FreeBSD$");
-#include <sys/types.h>
-#include <sys/apm.h>
-#include <sys/endian.h>
#include <sys/errno.h>
+#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
+#include <sys/apm.h>
+
+#include "endian.h"
#include "image.h"
#include "mkimg.h"
#include "scheme.h"
@@ -91,7 +92,7 @@ apm_write(lba_t imgsz, void *bootcode __unused)
strncpy(ent->ent_type, APM_ENT_TYPE_SELF, sizeof(ent->ent_type));
strncpy(ent->ent_name, "Apple", sizeof(ent->ent_name));
- STAILQ_FOREACH(part, &partlist, link) {
+ TAILQ_FOREACH(part, &partlist, link) {
ent = (void *)(buf + (part->index + 2) * secsz);
be16enc(&ent->ent_sig, APM_ENT_SIG);
be32enc(&ent->ent_pmblkcnt, nparts + 1);
diff --git a/usr.bin/mkimg/bsd.c b/usr.bin/mkimg/bsd.c
index 75e554f..1377b20 100644
--- a/usr.bin/mkimg/bsd.c
+++ b/usr.bin/mkimg/bsd.c
@@ -27,14 +27,15 @@
#include <sys/cdefs.h>
__FBSDID("$FreeBSD$");
-#include <sys/types.h>
-#include <sys/disklabel.h>
-#include <sys/endian.h>
#include <sys/errno.h>
+#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
+#include <sys/disklabel.h>
+
+#include "endian.h"
#include "image.h"
#include "mkimg.h"
#include "scheme.h"
@@ -103,7 +104,7 @@ bsd_write(lba_t imgsz, void *bootcode)
dp = &d->d_partitions[RAW_PART];
le32enc(&dp->p_size, imgsz);
- STAILQ_FOREACH(part, &partlist, link) {
+ TAILQ_FOREACH(part, &partlist, link) {
n = part->index + ((part->index >= RAW_PART) ? 1 : 0);
dp = &d->d_partitions[n];
le32enc(&dp->p_size, part->size);
diff --git a/usr.bin/mkimg/ebr.c b/usr.bin/mkimg/ebr.c
index 526c494..be2f3bc 100644
--- a/usr.bin/mkimg/ebr.c
+++ b/usr.bin/mkimg/ebr.c
@@ -27,14 +27,15 @@
#include <sys/cdefs.h>
__FBSDID("$FreeBSD$");
-#include <sys/types.h>
-#include <sys/diskmbr.h>
-#include <sys/endian.h>
#include <sys/errno.h>
+#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
+#include <sys/diskmbr.h>
+
+#include "endian.h"
#include "image.h"
#include "mkimg.h"
#include "scheme.h"
@@ -88,7 +89,7 @@ ebr_write(lba_t imgsz __unused, void *bootcode __unused)
le16enc(ebr + DOSMAGICOFFSET, DOSMAGIC);
error = 0;
- STAILQ_FOREACH_SAFE(part, &partlist, link, next) {
+ TAILQ_FOREACH(part, &partlist, link) {
block = part->block - nsecs;
size = round_track(part->size);
dp = (void *)(ebr + DOSPARTOFF);
@@ -100,6 +101,7 @@ ebr_write(lba_t imgsz __unused, void *bootcode __unused)
le32enc(&dp->dp_size, size);
/* Add link entry */
+ next = TAILQ_NEXT(part, link);
if (next != NULL) {
size = round_track(next->size);
dp++;
diff --git a/usr.bin/mkimg/endian.h b/usr.bin/mkimg/endian.h
new file mode 100644
index 0000000..a8d3120
--- /dev/null
+++ b/usr.bin/mkimg/endian.h
@@ -0,0 +1,106 @@
+/*-
+ * Copyright (c) 2002 Thomas Moestl <tmm@FreeBSD.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $FreeBSD$
+ */
+
+#ifndef _MKIMG_ENDIAN_H_
+#define _MKIMG_ENDIAN_H_
+
+static __inline uint16_t
+be16dec(const void *pp)
+{
+ uint8_t const *p = (uint8_t const *)pp;
+
+ return ((p[0] << 8) | p[1]);
+}
+
+static __inline void
+be16enc(void *pp, uint16_t u)
+{
+ uint8_t *p = (uint8_t *)pp;
+
+ p[0] = (u >> 8) & 0xff;
+ p[1] = u & 0xff;
+}
+
+static __inline void
+be32enc(void *pp, uint32_t u)
+{
+ uint8_t *p = (uint8_t *)pp;
+
+ p[0] = (u >> 24) & 0xff;
+ p[1] = (u >> 16) & 0xff;
+ p[2] = (u >> 8) & 0xff;
+ p[3] = u & 0xff;
+}
+
+static __inline void
+be64enc(void *pp, uint64_t u)
+{
+ uint8_t *p = (uint8_t *)pp;
+
+ be32enc(p, (uint32_t)(u >> 32));
+ be32enc(p + 4, (uint32_t)(u & 0xffffffffU));
+}
+
+static __inline uint16_t
+le16dec(const void *pp)
+{
+ uint8_t const *p = (uint8_t const *)pp;
+
+ return ((p[1] << 8) | p[0]);
+}
+
+static __inline void
+le16enc(void *pp, uint16_t u)
+{
+ uint8_t *p = (uint8_t *)pp;
+
+ p[0] = u & 0xff;
+ p[1] = (u >> 8) & 0xff;
+}
+
+static __inline void
+le32enc(void *pp, uint32_t u)
+{
+ uint8_t *p = (uint8_t *)pp;
+
+ p[0] = u & 0xff;
+ p[1] = (u >> 8) & 0xff;
+ p[2] = (u >> 16) & 0xff;
+ p[3] = (u >> 24) & 0xff;
+}
+
+static __inline void
+le64enc(void *pp, uint64_t u)
+{
+ uint8_t *p = (uint8_t *)pp;
+
+ le32enc(p, (uint32_t)(u & 0xffffffffU));
+ le32enc(p + 4, (uint32_t)(u >> 32));
+}
+
+#endif /* _MKIMG_ENDIAN_H_ */
diff --git a/usr.bin/mkimg/format.c b/usr.bin/mkimg/format.c
index a21b08a..00139eb 100644
--- a/usr.bin/mkimg/format.c
+++ b/usr.bin/mkimg/format.c
@@ -27,9 +27,6 @@
#include <sys/cdefs.h>
__FBSDID("$FreeBSD$");
-#include <sys/types.h>
-#include <sys/linker_set.h>
-#include <sys/queue.h>
#include <sys/stat.h>
#include <err.h>
#include <errno.h>
@@ -42,8 +39,24 @@ __FBSDID("$FreeBSD$");
#include "format.h"
#include "mkimg.h"
+static struct mkimg_format *first;
static struct mkimg_format *format;
+struct mkimg_format *
+format_iterate(struct mkimg_format *f)
+{
+
+ return ((f == NULL) ? first : f->next);
+}
+
+void
+format_register(struct mkimg_format *f)
+{
+
+ f->next = first;
+ first = f;
+}
+
int
format_resize(lba_t end)
{
@@ -56,10 +69,10 @@ format_resize(lba_t end)
int
format_select(const char *spec)
{
- struct mkimg_format *f, **iter;
+ struct mkimg_format *f;
- SET_FOREACH(iter, formats) {
- f = *iter;
+ f = NULL;
+ while ((f = format_iterate(f)) != NULL) {
if (strcasecmp(spec, f->name) == 0) {
format = f;
return (0);
diff --git a/usr.bin/mkimg/format.h b/usr.bin/mkimg/format.h
index aa00e6e..e50fe3d 100644
--- a/usr.bin/mkimg/format.h
+++ b/usr.bin/mkimg/format.h
@@ -29,21 +29,24 @@
#ifndef _MKIMG_FORMAT_H_
#define _MKIMG_FORMAT_H_
-#include <sys/linker_set.h>
-
struct mkimg_format {
+ struct mkimg_format *next;
const char *name;
const char *description;
int (*resize)(lba_t);
int (*write)(int);
};
-SET_DECLARE(formats, struct mkimg_format);
-#define FORMAT_DEFINE(nm) DATA_SET(formats, nm)
+#define FORMAT_DEFINE(nm) \
+static void format_register_##nm(void) __attribute__((constructor)); \
+static void format_register_##nm(void) { format_register(&nm); }
-int format_resize(lba_t);
+struct mkimg_format *format_iterate(struct mkimg_format *);
+void format_register(struct mkimg_format *);
int format_select(const char *);
struct mkimg_format *format_selected(void);
+
+int format_resize(lba_t);
int format_write(int);
#endif /* _MKIMG_FORMAT_H_ */
diff --git a/usr.bin/mkimg/gpt.c b/usr.bin/mkimg/gpt.c
index 678e636..4b9e944 100644
--- a/usr.bin/mkimg/gpt.c
+++ b/usr.bin/mkimg/gpt.c
@@ -27,18 +27,17 @@
#include <sys/cdefs.h>
__FBSDID("$FreeBSD$");
-#include <sys/types.h>
-#include <sys/diskmbr.h>
-#include <sys/endian.h>
#include <sys/errno.h>
-#include <sys/gpt.h>
#include <stddef.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
-#include <uuid.h>
+#include <sys/diskmbr.h>
+#include <sys/gpt.h>
+
+#include "endian.h"
#include "image.h"
#include "mkimg.h"
#include "scheme.h"
@@ -131,21 +130,6 @@ crc32(const void *buf, size_t sz)
return (crc ^ ~0U);
}
-static void
-gpt_uuid_enc(void *buf, const uuid_t *uuid)
-{
- uint8_t *p = buf;
- int i;
-
- le32enc(p, uuid->time_low);
- le16enc(p + 4, uuid->time_mid);
- le16enc(p + 6, uuid->time_hi_and_version);
- p[8] = uuid->clock_seq_hi_and_reserved;
- p[9] = uuid->clock_seq_low;
- for (i = 0; i < _UUID_NODE_LEN; i++)
- p[10 + i] = uuid->node[i];
-}
-
static u_int
gpt_tblsz(void)
{
@@ -173,7 +157,7 @@ gpt_write_pmbr(lba_t blks, void *bootcode)
uint32_t secs;
int error;
- secs = (blks > UINT32_MAX) ? UINT32_MAX : (uint32_t)blks;
+ secs = (blks > UINT32_MAX) ? UINT32_MAX : (uint32_t)blks - 1;
pmbr = malloc(secsz);
if (pmbr == NULL)
@@ -199,7 +183,7 @@ gpt_write_pmbr(lba_t blks, void *bootcode)
static struct gpt_ent *
gpt_mktbl(u_int tblsz)
{
- uuid_t uuid;
+ mkimg_uuid_t uuid;
struct gpt_ent *tbl, *ent;
struct part *part;
int c, idx;
@@ -208,11 +192,11 @@ gpt_mktbl(u_int tblsz)
if (tbl == NULL)
return (NULL);
- STAILQ_FOREACH(part, &partlist, link) {
+ TAILQ_FOREACH(part, &partlist, link) {
ent = tbl + part->index;
- gpt_uuid_enc(&ent->ent_type, ALIAS_TYPE2PTR(part->type));
+ mkimg_uuid_enc(&ent->ent_type, ALIAS_TYPE2PTR(part->type));
mkimg_uuid(&uuid);
- gpt_uuid_enc(&ent->ent_uuid, &uuid);
+ mkimg_uuid_enc(&ent->ent_uuid, &uuid);
le64enc(&ent->ent_lba_start, part->block);
le64enc(&ent->ent_lba_end, part->block + part->size - 1);
if (part->label != NULL) {
@@ -243,7 +227,7 @@ gpt_write_hdr(struct gpt_hdr *hdr, uint64_t self, uint64_t alt, uint64_t tbl)
static int
gpt_write(lba_t imgsz, void *bootcode)
{
- uuid_t uuid;
+ mkimg_uuid_t uuid;
struct gpt_ent *tbl;
struct gpt_hdr *hdr;
uint32_t crc;
@@ -280,7 +264,7 @@ gpt_write(lba_t imgsz, void *bootcode)
le64enc(&hdr->hdr_lba_start, 2 + tblsz);
le64enc(&hdr->hdr_lba_end, imgsz - tblsz - 2);
mkimg_uuid(&uuid);
- gpt_uuid_enc(&hdr->hdr_uuid, &uuid);
+ mkimg_uuid_enc(&hdr->hdr_uuid, &uuid);
le32enc(&hdr->hdr_entries, nparts);
le32enc(&hdr->hdr_entsz, sizeof(struct gpt_ent));
crc = crc32(tbl, nparts * sizeof(struct gpt_ent));
diff --git a/usr.bin/mkimg/image.c b/usr.bin/mkimg/image.c
index 2527f28..3e132e8 100644
--- a/usr.bin/mkimg/image.c
+++ b/usr.bin/mkimg/image.c
@@ -28,9 +28,7 @@
__FBSDID("$FreeBSD$");
#include <sys/mman.h>
-#include <sys/queue.h>
#include <sys/stat.h>
-#include <sys/types.h>
#include <assert.h>
#include <err.h>
#include <errno.h>
@@ -45,8 +43,22 @@ __FBSDID("$FreeBSD$");
#include "image.h"
#include "mkimg.h"
+#ifndef MAP_NOCORE
+#define MAP_NOCORE 0
+#endif
+#ifndef MAP_NOSYNC
+#define MAP_NOSYNC 0
+#endif
+
+#ifndef SEEK_DATA
+#define SEEK_DATA -1
+#endif
+#ifndef SEEK_HOLE
+#define SEEK_HOLE -1
+#endif
+
struct chunk {
- STAILQ_ENTRY(chunk) ch_list;
+ TAILQ_ENTRY(chunk) ch_list;
size_t ch_size; /* Size of chunk in bytes. */
lba_t ch_block; /* Block address in image. */
union {
@@ -64,7 +76,7 @@ struct chunk {
#define CH_TYPE_MEMORY 2 /* Memory-backed chunk */
};
-static STAILQ_HEAD(chunk_head, chunk) image_chunks;
+static TAILQ_HEAD(chunk_head, chunk) image_chunks;
static u_int image_nchunks;
static char image_swap_file[PATH_MAX];
@@ -125,14 +137,14 @@ image_chunk_find(lba_t blk)
struct chunk *ch;
ch = (last != NULL && last->ch_block <= blk)
- ? last : STAILQ_FIRST(&image_chunks);
+ ? last : TAILQ_FIRST(&image_chunks);
while (ch != NULL) {
if (ch->ch_block <= blk &&
(lba_t)(ch->ch_block + (ch->ch_size / secsz)) > blk) {
last = ch;
break;
}
- ch = STAILQ_NEXT(ch, ch_list);
+ ch = TAILQ_NEXT(ch, ch_list);
}
return (ch);
}
@@ -174,7 +186,7 @@ image_chunk_memory(struct chunk *ch, lba_t blk)
ch->ch_size = (blk - ch->ch_block) * secsz;
new->ch_block = blk;
new->ch_size -= ch->ch_size;
- STAILQ_INSERT_AFTER(&image_chunks, ch, new, ch_list);
+ TAILQ_INSERT_AFTER(&image_chunks, ch, new, ch_list);
image_nchunks++;
ch = new;
}
@@ -189,7 +201,7 @@ image_chunk_memory(struct chunk *ch, lba_t blk)
ch->ch_size = secsz;
new->ch_block++;
new->ch_size -= secsz;
- STAILQ_INSERT_AFTER(&image_chunks, ch, new, ch_list);
+ TAILQ_INSERT_AFTER(&image_chunks, ch, new, ch_list);
image_nchunks++;
}
@@ -205,7 +217,7 @@ image_chunk_skipto(lba_t to)
lba_t from;
size_t sz;
- ch = STAILQ_LAST(&image_chunks, chunk, ch_list);
+ ch = TAILQ_LAST(&image_chunks, chunk_head);
from = (ch != NULL) ? ch->ch_block + (ch->ch_size / secsz) : 0LL;
assert(from <= to);
@@ -230,7 +242,7 @@ image_chunk_skipto(lba_t to)
ch->ch_block = from;
ch->ch_size = sz;
ch->ch_type = CH_TYPE_ZEROES;
- STAILQ_INSERT_TAIL(&image_chunks, ch, ch_list);
+ TAILQ_INSERT_TAIL(&image_chunks, ch, ch_list);
image_nchunks++;
return (0);
}
@@ -240,7 +252,7 @@ image_chunk_append(lba_t blk, size_t sz, off_t ofs, int fd)
{
struct chunk *ch;
- ch = STAILQ_LAST(&image_chunks, chunk, ch_list);
+ ch = TAILQ_LAST(&image_chunks, chunk_head);
if (ch != NULL && ch->ch_type == CH_TYPE_FILE) {
if (fd == ch->ch_u.file.fd &&
blk == (lba_t)(ch->ch_block + (ch->ch_size / secsz)) &&
@@ -261,7 +273,7 @@ image_chunk_append(lba_t blk, size_t sz, off_t ofs, int fd)
ch->ch_type = CH_TYPE_FILE;
ch->ch_u.file.ofs = ofs;
ch->ch_u.file.fd = fd;
- STAILQ_INSERT_TAIL(&image_chunks, ch, ch_list);
+ TAILQ_INSERT_TAIL(&image_chunks, ch, ch_list);
image_nchunks++;
return (0);
}
@@ -456,8 +468,7 @@ image_copyin_mapped(lba_t blk, int fd, uint64_t *sizep)
* I don't know what this means or whether it
* can happen at all...
*/
- error = EDOOFUS;
- break;
+ assert(0);
}
}
if (error)
@@ -583,10 +594,13 @@ image_copyout_region(int fd, lba_t blk, lba_t size)
size *= secsz;
- while (size > 0) {
+ error = 0;
+ while (!error && size > 0) {
ch = image_chunk_find(blk);
- if (ch == NULL)
- return (EINVAL);
+ if (ch == NULL) {
+ error = EINVAL;
+ break;
+ }
ofs = (blk - ch->ch_block) * secsz;
sz = ch->ch_size - ofs;
sz = ((lba_t)sz < size) ? sz : (size_t)size;
@@ -602,12 +616,12 @@ image_copyout_region(int fd, lba_t blk, lba_t size)
error = image_copyout_memory(fd, sz, ch->ch_u.mem.ptr);
break;
default:
- return (EDOOFUS);
+ assert(0);
}
size -= sz;
blk += sz / secsz;
}
- return (0);
+ return (error);
}
int
@@ -682,7 +696,7 @@ image_cleanup(void)
{
struct chunk *ch;
- while ((ch = STAILQ_FIRST(&image_chunks)) != NULL) {
+ while ((ch = TAILQ_FIRST(&image_chunks)) != NULL) {
switch (ch->ch_type) {
case CH_TYPE_FILE:
/* We may be closing the same file multiple times. */
@@ -695,7 +709,7 @@ image_cleanup(void)
default:
break;
}
- STAILQ_REMOVE_HEAD(&image_chunks, ch_list);
+ TAILQ_REMOVE(&image_chunks, ch, ch_list);
free(ch);
}
if (image_swap_fd != -1)
@@ -708,7 +722,7 @@ image_init(void)
{
const char *tmpdir;
- STAILQ_INIT(&image_chunks);
+ TAILQ_INIT(&image_chunks);
image_nchunks = 0;
image_swap_size = 0;
diff --git a/usr.bin/mkimg/mbr.c b/usr.bin/mkimg/mbr.c
index 071bcf5..0dd1025 100644
--- a/usr.bin/mkimg/mbr.c
+++ b/usr.bin/mkimg/mbr.c
@@ -27,14 +27,15 @@
#include <sys/cdefs.h>
__FBSDID("$FreeBSD$");
-#include <sys/types.h>
-#include <sys/diskmbr.h>
-#include <sys/endian.h>
#include <sys/errno.h>
+#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
+#include <sys/diskmbr.h>
+
+#include "endian.h"
#include "image.h"
#include "mkimg.h"
#include "scheme.h"
@@ -101,10 +102,15 @@ mbr_write(lba_t imgsz __unused, void *bootcode)
memset(mbr, 0, secsz);
le16enc(mbr + DOSMAGICOFFSET, DOSMAGIC);
dpbase = (void *)(mbr + DOSPARTOFF);
- STAILQ_FOREACH(part, &partlist, link) {
+ TAILQ_FOREACH(part, &partlist, link) {
size = round_track(part->size);
dp = dpbase + part->index;
- dp->dp_flag = (part->index == 0 && bootcode != NULL) ? 0x80 : 0;
+ if (active_partition != 0)
+ dp->dp_flag =
+ (part->index + 1 == active_partition) ? 0x80 : 0;
+ else
+ dp->dp_flag =
+ (part->index == 0 && bootcode != NULL) ? 0x80 : 0;
mbr_chs(&dp->dp_scyl, &dp->dp_shd, &dp->dp_ssect,
part->block);
dp->dp_typ = ALIAS_TYPE2INT(part->type);
diff --git a/usr.bin/mkimg/mkimg.1 b/usr.bin/mkimg/mkimg.1
index c63ab68..4643aaf 100644
--- a/usr.bin/mkimg/mkimg.1
+++ b/usr.bin/mkimg/mkimg.1
@@ -24,7 +24,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd August 7, 2015
+.Dd April 26, 2017
.Dt MKIMG 1
.Os
.Sh NAME
@@ -37,9 +37,12 @@
.Op Fl S Ar secsz
.Op Fl T Ar tracksz
.Op Fl b Ar bootcode
-.Op Fl c Ar capacity
+.Op Fl c Ar min_capacity
+.Op Fl C Ar max_capacity
+.Op Fl -capacity Ar capacity
.Op Fl f Ar format
.Op Fl o Ar outfile
+.Op Fl a Ar active
.Op Fl v
.Op Fl y
.Op Fl s Ar scheme Op Fl p Ar partition ...
@@ -119,11 +122,23 @@ An empty partition table can be written to the disk when specifying a
partitioning scheme with the
.Fl s
option, but without specifying any partitions.
-When the size required to for all the partitions is larger than the
+When the size required for all the partitions is larger than the
given capacity, then the disk image will be larger than the capacity
given.
.Pp
The
+.Fl C
+option specifies a maximum capacity for the disk image.
+If the combined sizes of the given partitions exceed the size given with
+.Fl C ,
+image creation fails.
+.Pp
+The
+.Fl -capacity
+option is a shorthand to specify the minimum and maximum capacity at the
+same time.
+.Pp
+The
.Fl v
option increases the level of output that the
.Nm
@@ -139,6 +154,26 @@ utility will generate predictable values for Universally Unique Identifiers
.Nm
utility will create images that are identical.
.Pp
+The
+.Ar active
+option marks a partition as active, if the partitioning
+scheme supports it.
+Currently, only the
+.Ar mbr
+scheme supports this concept.
+By default,
+.Nm
+will only mark the first partition as active when boot code is
+specified.
+Use the
+.Ar active
+option to override the active partition.
+The number specified corresponds to the number after the 's' in the
+partition's
+.Xr geom 8
+name.
+No partitions are marked active when the value is 0.
+.Pp
A set of long options exist to query about the
.Nm
utility itself.
diff --git a/usr.bin/mkimg/mkimg.c b/usr.bin/mkimg/mkimg.c
index 5d41e3b..51b22c7 100644
--- a/usr.bin/mkimg/mkimg.c
+++ b/usr.bin/mkimg/mkimg.c
@@ -27,17 +27,15 @@
#include <sys/cdefs.h>
__FBSDID("$FreeBSD$");
-#include <sys/linker_set.h>
-#include <sys/queue.h>
+#include <sys/param.h>
#include <sys/stat.h>
-#include <sys/types.h>
-#include <sys/uuid.h>
#include <errno.h>
#include <err.h>
#include <fcntl.h>
#include <getopt.h>
#include <libutil.h>
#include <limits.h>
+#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@ -49,20 +47,23 @@ __FBSDID("$FreeBSD$");
#include "mkimg.h"
#include "scheme.h"
-#define LONGOPT_FORMATS 0x01000001
-#define LONGOPT_SCHEMES 0x01000002
-#define LONGOPT_VERSION 0x01000003
+#define LONGOPT_FORMATS 0x01000001
+#define LONGOPT_SCHEMES 0x01000002
+#define LONGOPT_VERSION 0x01000003
+#define LONGOPT_CAPACITY 0x01000004
static struct option longopts[] = {
{ "formats", no_argument, NULL, LONGOPT_FORMATS },
{ "schemes", no_argument, NULL, LONGOPT_SCHEMES },
{ "version", no_argument, NULL, LONGOPT_VERSION },
+ { "capacity", required_argument, NULL, LONGOPT_CAPACITY },
{ NULL, 0, NULL, 0 }
};
-static uint64_t capacity;
+static uint64_t min_capacity = 0;
+static uint64_t max_capacity = 0;
-struct partlisthead partlist = STAILQ_HEAD_INITIALIZER(partlist);
+struct partlisthead partlist = TAILQ_HEAD_INITIALIZER(partlist);
u_int nparts = 0;
u_int unit_testing;
@@ -73,24 +74,25 @@ u_int nheads = 1;
u_int nsecs = 1;
u_int secsz = 512;
u_int blksz = 0;
+uint32_t active_partition = 0;
static void
print_formats(int usage)
{
- struct mkimg_format *f, **f_iter;
+ struct mkimg_format *f;
const char *sep;
if (usage) {
fprintf(stderr, " formats:\n");
- SET_FOREACH(f_iter, formats) {
- f = *f_iter;
+ f = NULL;
+ while ((f = format_iterate(f)) != NULL) {
fprintf(stderr, "\t%s\t- %s\n", f->name,
f->description);
}
} else {
sep = "";
- SET_FOREACH(f_iter, formats) {
- f = *f_iter;
+ f = NULL;
+ while ((f = format_iterate(f)) != NULL) {
printf("%s%s", sep, f->name);
sep = " ";
}
@@ -101,20 +103,20 @@ print_formats(int usage)
static void
print_schemes(int usage)
{
- struct mkimg_scheme *s, **s_iter;
+ struct mkimg_scheme *s;
const char *sep;
if (usage) {
fprintf(stderr, " schemes:\n");
- SET_FOREACH(s_iter, schemes) {
- s = *s_iter;
+ s = NULL;
+ while ((s = scheme_iterate(s)) != NULL) {
fprintf(stderr, "\t%s\t- %s\n", s->name,
s->description);
}
} else {
sep = "";
- SET_FOREACH(s_iter, schemes) {
- s = *s_iter;
+ s = NULL;
+ while ((s = scheme_iterate(s)) != NULL) {
printf("%s%s", sep, s->name);
sep = " ";
}
@@ -148,8 +150,10 @@ usage(const char *why)
fprintf(stderr, "\t--schemes\t- list partition schemes\n");
fprintf(stderr, "\t--version\t- show version information\n");
fputc('\n', stderr);
+ fprintf(stderr, "\t-a <num>\t- mark num'th partion as active\n");
fprintf(stderr, "\t-b <file>\t- file containing boot code\n");
- fprintf(stderr, "\t-c <num>\t- capacity (in bytes) of the disk\n");
+ fprintf(stderr, "\t-c <num>\t- minimum capacity (in bytes) of the disk\n");
+ fprintf(stderr, "\t-C <num>\t- maximum capacity (in bytes) of the disk\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");
@@ -302,7 +306,7 @@ parse_part(const char *spec)
}
part->index = nparts;
- STAILQ_INSERT_TAIL(&partlist, part, link);
+ TAILQ_INSERT_TAIL(&partlist, part, link);
nparts++;
return (0);
@@ -376,31 +380,20 @@ mkimg_chs(lba_t lba, u_int maxcyl, u_int *cylp, u_int *hdp, u_int *secp)
*secp = sec;
}
-void
-mkimg_uuid(struct uuid *uuid)
-{
- static uint8_t gen[sizeof(struct uuid)];
- u_int i;
-
- if (!unit_testing) {
- uuidgen(uuid, 1);
- return;
- }
-
- for (i = 0; i < sizeof(gen); i++)
- gen[i]++;
- memcpy(uuid, gen, sizeof(uuid_t));
-}
-
static int
capacity_resize(lba_t end)
{
- lba_t capsz;
+ lba_t min_capsz, max_capsz;
+
+ min_capsz = (min_capacity + secsz - 1) / secsz;
+ max_capsz = (max_capacity + secsz - 1) / secsz;
- capsz = (capacity + secsz - 1) / secsz;
- if (end >= capsz)
+ if (max_capsz != 0 && end > max_capsz)
+ return (ENOSPC);
+ if (end >= min_capsz)
return (0);
- return (image_set_size(capsz));
+
+ return (image_set_size(min_capsz));
}
static void
@@ -413,14 +406,14 @@ mkimg(void)
int error, fd;
/* First check partition information */
- STAILQ_FOREACH(part, &partlist, link) {
+ TAILQ_FOREACH(part, &partlist, link) {
error = scheme_check_part(part);
if (error)
errc(EX_DATAERR, error, "partition %d", part->index+1);
}
block = scheme_metadata(SCHEME_META_IMG_START, 0);
- STAILQ_FOREACH(part, &partlist, link) {
+ TAILQ_FOREACH(part, &partlist, link) {
block = scheme_metadata(SCHEME_META_PART_BEFORE, block);
if (verbose)
fprintf(stderr, "partition %d: starting block %llu "
@@ -487,9 +480,14 @@ main(int argc, char *argv[])
bcfd = -1;
outfd = 1; /* Write to stdout by default */
- while ((c = getopt_long(argc, argv, "b:c:f:o:p:s:vyH:P:S:T:",
+ while ((c = getopt_long(argc, argv, "a:b:c:C:f:o:p:s:vyH:P:S:T:",
longopts, NULL)) != -1) {
switch (c) {
+ case 'a': /* ACTIVE PARTITION, if supported */
+ error = parse_uint32(&active_partition, 1, 100, optarg);
+ if (error)
+ errc(EX_DATAERR, error, "Partition ordinal");
+ break;
case 'b': /* BOOT CODE */
if (bcfd != -1)
usage("multiple bootcode given");
@@ -497,10 +495,15 @@ main(int argc, char *argv[])
if (bcfd == -1)
err(EX_UNAVAILABLE, "%s", optarg);
break;
- case 'c': /* CAPACITY */
- error = parse_uint64(&capacity, 1, OFF_MAX, optarg);
+ case 'c': /* MINIMUM CAPACITY */
+ error = parse_uint64(&min_capacity, 1, INT64_MAX, optarg);
if (error)
- errc(EX_DATAERR, error, "capacity in bytes");
+ errc(EX_DATAERR, error, "minimum capacity in bytes");
+ break;
+ case 'C': /* MAXIMUM CAPACITY */
+ error = parse_uint64(&max_capacity, 1, INT64_MAX, optarg);
+ if (error)
+ errc(EX_DATAERR, error, "maximum capacity in bytes");
break;
case 'f': /* OUTPUT FORMAT */
if (format_selected() != NULL)
@@ -571,6 +574,12 @@ main(int argc, char *argv[])
print_version();
exit(EX_OK);
/*NOTREACHED*/
+ case LONGOPT_CAPACITY:
+ error = parse_uint64(&min_capacity, 1, INT64_MAX, optarg);
+ if (error)
+ errc(EX_DATAERR, error, "capacity in bytes");
+ max_capacity = min_capacity;
+ break;
default:
usage("unknown option");
}
@@ -580,8 +589,10 @@ main(int argc, char *argv[])
usage("trailing arguments");
if (scheme_selected() == NULL && nparts > 0)
usage("no scheme");
- if (nparts == 0 && capacity == 0)
+ if (nparts == 0 && min_capacity == 0)
usage("no partitions");
+ if (max_capacity != 0 && min_capacity > max_capacity)
+ usage("minimum capacity cannot be larger than the maximum one");
if (secsz > blksz) {
if (blksz != 0)
diff --git a/usr.bin/mkimg/mkimg.h b/usr.bin/mkimg/mkimg.h
index 281beeb..70b14e3 100644
--- a/usr.bin/mkimg/mkimg.h
+++ b/usr.bin/mkimg/mkimg.h
@@ -30,9 +30,10 @@
#define _MKIMG_MKIMG_H_
#include <sys/queue.h>
+#include <sys/types.h>
struct part {
- STAILQ_ENTRY(part) link;
+ TAILQ_ENTRY(part) link;
char *alias; /* Partition type alias. */
char *contents; /* Contents/size specification. */
u_int kind; /* Content kind. */
@@ -47,7 +48,7 @@ struct part {
char *label; /* Partition label. */
};
-extern STAILQ_HEAD(partlisthead, part) partlist;
+extern TAILQ_HEAD(partlisthead, part) partlist;
extern u_int nparts;
extern u_int unit_testing;
@@ -58,6 +59,7 @@ extern u_int nheads;
extern u_int nsecs;
extern u_int secsz; /* Logical block size. */
extern u_int blksz; /* Physical block size. */
+extern uint32_t active_partition;
static inline lba_t
round_block(lba_t n)
@@ -89,7 +91,17 @@ ssize_t sparse_write(int, const void *, size_t);
void mkimg_chs(lba_t, u_int, u_int *, u_int *, u_int *);
-struct uuid;
-void mkimg_uuid(struct uuid *);
+struct mkimg_uuid {
+ uint32_t time_low;
+ uint16_t time_mid;
+ uint16_t time_hi_and_version;
+ uint8_t clock_seq_hi_and_reserved;
+ uint8_t clock_seq_low;
+ uint8_t node[6];
+};
+typedef struct mkimg_uuid mkimg_uuid_t;
+
+void mkimg_uuid(mkimg_uuid_t *);
+void mkimg_uuid_enc(void *, const mkimg_uuid_t *);
#endif /* _MKIMG_MKIMG_H_ */
diff --git a/usr.bin/mkimg/pc98.c b/usr.bin/mkimg/pc98.c
index 2db0394..867c8b1 100644
--- a/usr.bin/mkimg/pc98.c
+++ b/usr.bin/mkimg/pc98.c
@@ -27,14 +27,15 @@
#include <sys/cdefs.h>
__FBSDID("$FreeBSD$");
-#include <sys/types.h>
-#include <sys/diskpc98.h>
-#include <sys/endian.h>
#include <sys/errno.h>
+#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
+#include <sys/diskpc98.h>
+
+#include "endian.h"
#include "image.h"
#include "mkimg.h"
#include "scheme.h"
@@ -97,7 +98,7 @@ pc98_write(lba_t imgsz __unused, void *bootcode)
memset(buf, 0, PC98_BOOTCODESZ);
le16enc(buf + PC98_MAGICOFS, PC98_MAGIC);
dpbase = (void *)(buf + secsz);
- STAILQ_FOREACH(part, &partlist, link) {
+ TAILQ_FOREACH(part, &partlist, link) {
size = round_track(part->size);
dp = dpbase + part->index;
ptyp = ALIAS_TYPE2INT(part->type);
diff --git a/usr.bin/mkimg/qcow.c b/usr.bin/mkimg/qcow.c
index 4bdc227..fdf2d8c 100644
--- a/usr.bin/mkimg/qcow.c
+++ b/usr.bin/mkimg/qcow.c
@@ -27,15 +27,15 @@
#include <sys/cdefs.h>
__FBSDID("$FreeBSD$");
-#include <sys/types.h>
-#include <sys/endian.h>
#include <sys/errno.h>
+#include <assert.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
+#include "endian.h"
#include "image.h"
#include "format.h"
#include "mkimg.h"
@@ -102,7 +102,7 @@ qcow_resize(lba_t imgsz, u_int version)
clstr_log2sz = QCOW2_CLSTR_LOG2SZ;
break;
default:
- return (EDOOFUS);
+ assert(0);
}
imagesz = round_clstr(imgsz * secsz);
@@ -143,8 +143,7 @@ qcow_write(int fd, u_int version)
u_int clstrsz, l1idx, l2idx;
int error;
- if (clstr_log2sz == 0)
- return (EDOOFUS);
+ assert(clstr_log2sz != 0);
clstrsz = 1U << clstr_log2sz;
blk_clstrsz = clstrsz / secsz;
@@ -203,7 +202,7 @@ qcow_write(int fd, u_int version)
be32enc(&hdr->u.v2.refcnt_clstrs, refcnt_clstrs);
break;
default:
- return (EDOOFUS);
+ assert(0);
}
if (sparse_write(fd, hdr, clstrsz) < 0) {
diff --git a/usr.bin/mkimg/raw.c b/usr.bin/mkimg/raw.c
index 759debf..adeb690 100644
--- a/usr.bin/mkimg/raw.c
+++ b/usr.bin/mkimg/raw.c
@@ -27,9 +27,8 @@
#include <sys/cdefs.h>
__FBSDID("$FreeBSD$");
-#include <sys/types.h>
-#include <sys/endian.h>
#include <sys/errno.h>
+#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
diff --git a/usr.bin/mkimg/scheme.c b/usr.bin/mkimg/scheme.c
index 6cd332f..3e2ab46 100644
--- a/usr.bin/mkimg/scheme.c
+++ b/usr.bin/mkimg/scheme.c
@@ -27,9 +27,6 @@
#include <sys/cdefs.h>
__FBSDID("$FreeBSD$");
-#include <sys/types.h>
-#include <sys/linker_set.h>
-#include <sys/queue.h>
#include <sys/stat.h>
#include <assert.h>
#include <err.h>
@@ -65,6 +62,7 @@ static struct {
{ NULL, ALIAS_NONE } /* Keep last! */
};
+static struct mkimg_scheme *first;
static struct mkimg_scheme *scheme;
static void *bootcode;
@@ -82,13 +80,27 @@ scheme_parse_alias(const char *name)
return (ALIAS_NONE);
}
+struct mkimg_scheme *
+scheme_iterate(struct mkimg_scheme *s)
+{
+
+ return ((s == NULL) ? first : s->next);
+}
+
+void
+scheme_register(struct mkimg_scheme *s)
+{
+ s->next = first;
+ first = s;
+}
+
int
scheme_select(const char *spec)
{
- struct mkimg_scheme *s, **iter;
+ struct mkimg_scheme *s;
- SET_FOREACH(iter, schemes) {
- s = *iter;
+ s = NULL;
+ while ((s = scheme_iterate(s)) != NULL) {
if (strcasecmp(spec, s->name) == 0) {
scheme = s;
return (0);
diff --git a/usr.bin/mkimg/scheme.h b/usr.bin/mkimg/scheme.h
index 552d031..5826036 100644
--- a/usr.bin/mkimg/scheme.h
+++ b/usr.bin/mkimg/scheme.h
@@ -29,8 +29,6 @@
#ifndef _MKIMG_SCHEME_H_
#define _MKIMG_SCHEME_H_
-#include <sys/linker_set.h>
-
enum alias {
ALIAS_NONE, /* Keep first! */
/* start */
@@ -62,6 +60,7 @@ struct mkimg_alias {
};
struct mkimg_scheme {
+ struct mkimg_scheme *next;
const char *name;
const char *description;
struct mkimg_alias *aliases;
@@ -77,9 +76,12 @@ struct mkimg_scheme {
u_int maxsecsz;
};
-SET_DECLARE(schemes, struct mkimg_scheme);
-#define SCHEME_DEFINE(nm) DATA_SET(schemes, nm)
+#define SCHEME_DEFINE(nm) \
+static void scheme_register_##nm(void) __attribute__((constructor)); \
+static void scheme_register_##nm(void) { scheme_register(&nm); }
+struct mkimg_scheme *scheme_iterate(struct mkimg_scheme *);
+void scheme_register(struct mkimg_scheme *);
int scheme_select(const char *);
struct mkimg_scheme *scheme_selected(void);
diff --git a/usr.bin/mkimg/tests/img-1x1-4096-gpt.qcow.gz.uu b/usr.bin/mkimg/tests/img-1x1-4096-gpt.qcow.gz.uu
index a67e3eb..3fa74db 100644
--- a/usr.bin/mkimg/tests/img-1x1-4096-gpt.qcow.gz.uu
+++ b/usr.bin/mkimg/tests/img-1x1-4096-gpt.qcow.gz.uu
@@ -1,132 +1,132 @@
# $FreeBSD$
begin 644 img-1x1-4096-gpt.qcow.gz
-M'XL("*XS(E0``VEM9RTQ>#$M-#`Y-BUG<'0N<6-O=RYO=70`K9W;;AS7M47?
-M_16ENT1)5*^UJJJK=$^`!,B;$YSS=@Z0NCX&G7=]?-CDOI"KY]2*(=J$(4.H
-MB>ZMP4'9'MX\'.[^:)I.FK9OVK'9Y^;F[].'-/?^YN%'\^/O?_W;]?T_?OQV
-M-R:'GSSE_K[51M/<@ZT_-V5.ST\MS6'\+^9N/@3-W7MU]@=>W;TW>SEW]=O=
-MF\7/*1NT!X--FCNDUR?D]-K_[O5]=V]7[D[O\=ZNDK?;L<'^P>#O:>Z?Z?4I
-M>;M'-C<\F#NYMZOD[8YL;OHI+$I@F=G<$LRU\*F5S6W!7`>?VO&<_.37]FZN
-MAT\)FX.?M]=-F3O"IXS-M0_F#M<9Z#PWP*<(=Q)R-\*G"'<2<C?!IPAW$G(W
-MPZ<(=Q)RM\"G"'<2<K?"IPAW&G*WP:<(=^3KQ3WN=O@4X4XC[@0_1;C3B#M!
-MOE/&G4;<"?*=,NXTXDZ0[Y1QIQ%W@GRGC#N-N!/D.V7<6<2=(-\9X\XB[@3Y
-MSAAW%G*'?&>,.PNY0[XSQIV%W"'?&>/.0NZ0[XQQ9R%WR'?&N+.0.^0[8]RU
-M(7?(=RWCK@VY0[YK&7=MQ)WBIPAW;<2=(M^UC+LVXDZ1[UK&71MQI\AW+>.N
-MC;A3Y+N6<==&W"GR7<NXZR+N%/FN8]QU$7>*?-<Q[KJ0.^2[CG'7A=PAWW6,
-MNR[D#OFN8]QU(7?(=QWCK@NY0[[K&'==R!WR7<>XZT/ND.]ZQET?<H=\US/N
-M^H@[PT\1[OJ(.T.^ZQEW?<2=(=_UC+L^XLZ0[WK&71]Q9\AW/>.NC[@SY+N>
-M<7>,N#/DNR/C[AAQ9\AW1\;=,>0.^>[(N#N&W"'?'1EWQY`[Y+LCX^X8<H=\
-M=V3<'4/ND.^.C+MCR!WRW9%Q-X3<(=\-C+LAY`[Y;F#<#1%W+7Z*<#=$W+7(
-M=P/C;HBX:Y'O!L;=$''7(M\-C+LAXJY%OAL8=T/$78M\-S#N\K_^YG/(=R/C
-M;HRX:Y'O1L;=&'*'?#<R[L:0.^2[D7$WAMPAWXV,NS'D#OEN9-R-(7?(=R/C
-M;@RY0[X;&7=3R!WRW<2XFT+ND.\FQMT4<=?AIPAW4\1=AWPW,>ZFB+L.^6YB
-MW$T1=QWRW<2XFR+N.N2[B7$W1=QUR'<3XR[_9T@^AWPW,^[FB+L.^6YFW,TA
-M=\AW,^-N#KE#OIL9=W/('?+=S+B;0^Z0[V;&W1QRAWPW,^[FD#ODNYEQMX3<
-M(=\MC+LEY`[Y;F'<+1%W/7Z*<+=$W/7(=POC;HFXZY'O%L;=$G'7(]\MC+LE
-MXJY'OEL8=TO$78]\MS#NUHB['OEN9=RM$7<]\MW*N%M#[I#O5L;=&G*'?+<R
-M[M:0.^2[E7&WAMPAWZV,NS7D#OEN9=RM(7?(=ROC;@NY0[[;&'=;R!WRW<:X
-MVR+NCO@IPMT6<7=$OML8=UO$W1'Y;F/<;1%W1^2[C7&W1=P=D>\VQMT6<7=$
-MOML8=WO$W1'Y;F?<[1%W1^2[G7&WA]PAW^V,NSWD#OEN9]SM(7?(=SOC;@^Y
-M0[[;&7=[R!WRW<ZXVT/ND.]VPIWD'_`YX#LY$.[D$'('?"<'PIT<(NX&_!3F
-M3L+^;@"^$];?2=C?#<!WPOH["?N[`?A.6'\G87\W`-\)Z^\D[.\&X#MA_9V$
-M_=T`?">LOY.POQN`[X3U=Q+V=P/PG;#^3L+^;@"^$];?2=C?#<!WPOH["?N[
-M`?A.6'\G87\W`-\)Z^\D[.\&X#MA_9V$_=V`?,?Z.PG[NP'YCO5W$O9W(WZ*
-M<!?V=R/R'>OO).SO1N0[UM])V-^-R'>LOY.POQN1[UA_)V%_-R+?L?Y.POYN
-M1+YC_9V$_=V(?,?Z.PG[NQ'YCO5W$O9W(_(=Z^\D[.]&Y#O6WTG8WXW(=ZR_
-MD["_&Y'O6'\G87\W(M^Q_D["_FY$OF/]G83]W8A\Q_H["?N["3]%N`O[NPGY
-MCO5W$O9W$_(=Z^\D[.\FY#O6WTG8WTW(=ZR_D["_FY#O6'\G87\W(=^Q_D["
-M_FY"OF/]G83]W81\Q_H["?N["?F.]7<2]G<3\AWK[R3L[R;D.];?2=C?3<AW
-MK+^3L+^;D.]8?R=A?S<AW['^3L+^;D*^8_V=A/W=C)\BW(7]W8Q\Q_H["?N[
-M&?F.]7<2]G<S\AWK[R3L[V;D.];?2=C?S<AWK+^3L+^;D>]8?R=A?S<CW['^
-M3L+^;D:^8_V=A/W=C'S'^CL)^[L9^8[U=Q+V=S/R'>OO).SO9N0[UM])V-_-
-MR'>LOY.POYN1[UA_)V%_-R/?L?Y.POYNP4\1[L+^;D&^8_V=A/W=@GS'^CL)
-M^[L%^8[U=Q+V=POR'>OO).SO%N0[UM])V-\MR'>LOY.POUN0[UA_)V%_MR#?
-ML?Y.POYN0;YC_9V$_=V"?,?Z.PG[NP7YCO5W$O9W"_(=Z^\D[.\6Y#O6WTG8
-MWRW(=ZR_D["_6Y#O6'\G87^WXJ<(=V%_MR+?L?Y.POYN1;YC_9V$_=V*?,?Z
-M.PG[NQ7YCO5W$O9W*_(=Z^\D[.]6Y#O6WTG8WZW(=ZR_D["_6Y'O6'\G87^W
-M(M^Q_D["_FY%OF/]G83]W8I\Q_H["?N[%?F.]7<2]G<K\AWK[R3L[U;D.];?
-M2=C?K<AWK+^3L+_;\%.$N["_VY#O6'\G87^W(=^Q_D["_FY#OF/]G83]W89\
-MQ_H["?N[#?F.]7<2]G<;\AWK[R3L[S;D.];?2=C?;<AWK+^3L+_;D.]8?R=A
-M?[<AW['^3L+^;D.^8_V=A/W=AGS'^CL)^[L-^8[U=Q+V=QOR'>OO).SO-N0[
-MUM])V-_M^"G"7=C?[<AWK+^3L+_;D>]8?R=A?[<CW['^3L+^;D>^8_V=A/W=
-MCGS'^CL)^[L=^8[U=Q+V=SOR'>OO).SO=N0[UM])V-_MR'>LOY.PO]N1[UA_
-M)V%_MR/?L?Y.POYN1[YC_9V$_=V.?,?Z.\T_<'--G0.^NWD*<Z>NO\OWZ365
-M.^`[9?V=NOZN2=PUF3L[X*<P=^KZNR9QU_RSS`'?*>OOU/5WS<F=G:'[[Y3U
-M=^KZNW)V=0[X3EE_IZZ_`W/`=\KZ.W7]'9@#OE/6WZGK[_+<DSH'?*>LOU/7
-MWSW)<TV9`[Y3UM^IZ^^>).Z>5.Z`[Y3U=^KZNR>)NR>5.^`[9?V=NO[NR>GB
-M[(#OE/5WZOJ[<G9U#OA.67^GKK\#<\!WROH[=?T=F`.^4];?J>OO\MS3.H=\
-MQ_H[=?W=TSQ7N4.^8_V=NO[N:>+N:>$.W7^GK+]3U]\]3=P]+=RA^^^4]7?J
-M^KNG)W]VZ/X[9?V=NOZNG%V=0[YC_9VZ_@[,(=^Q_DY=?P?FD.]8?Z>NO\MS
-MS^H<\AWK[]3U=\_R7.$.W7^GK+]3U]\]2]P]J]PAW['^3EU_]RQQ]ZQRAWS'
-M^CMU_=VST\79(=^Q_DY=?U?.KLXAW['^3EU_!^:0[UA_IZZ_`W/(=ZR_4]??
-MY;GG=0[YCO5WZOJ[YWFN<H=\Q_H[=?W=\\3=\\(=NO].67^GKK][GKA[7KA#
-M]]\IZ^_4]7?/3_[LT/UWROH[=?U=.;LZAWS'^CMU_1V80[YC_9VZ_@[,(=^Q
-M_DY=?Y?G7M0YY#O6WZGK[U[DN<(=NO].67^GKK][D;A[4;E#OF/]G;K^[D7B
-M[D7E#OF.]7?J^KL7IXNS0[YC_9VZ_JZ<79U#OF/]G;K^#LPAW['^3EU_!^:0
-M[UA_IZZ_RW,OZQSR'>OOU/5W+_-<Y0[YCO5WZOJ[EXF[EX4[=/^=LOY.77_W
-M,G'WLG"'[K]3UM^IZ^]>GOS9H?OOE/5WZOJ[<G9U#OF.]7?J^CLPAWS'^CMU
-M_1V80[YC_9VZ_B[/O:ISR'>LOU/7W[W*<X4[=/^=LOY.77_W*G'WJG*'?,?Z
-M.W7]W:O$W:O*'?(=Z^_4]7>O3A=GAWS'^CMU_5TYNSJ'?,?Z.W7]'9A#OF/]
-MG;K^#LPAW['^3EU_E^=>USGD.];?J>OO7N>YRAWR'>OOU/5WKQ-WKPMWZ/X[
-M9?V=NO[N=>+N=>$.W7^GK+]3U]^]/OFS0_??*>OOU/5WY>SJ'/(=Z^_4]7=@
-M#OF.]7?J^CLPAWS'^CMU_5V>>U/GD.]8?Z>NOWN3YPIWZ/X[9?V=NO[N3>+N
-M3>4.^8[U=^KZNS>)NS>5.^0[UM^IZ^_>G"[.#OF.]7?J^KMR=G4.^8[U=^KZ
-M.S"'?,?Z.W7]'9A#OF/]G;K^+L]=U3GD.];?J>OOKO)<Y0[YCO5WZOJ[J\3=
-M5>$.W7^GK+]3U]]=)>ZN"G?H_CME_9VZ_N[JY,\.W7^GK+]3U]^5LZMSR'>L
-MOU/7WX$YY#O6WZGK[\`<\AWK[]3U=WGN;9U#OF/]G;K^[FV>*]RA^^^4]7?J
-M^KNWB;NWE3OD.];?J>OOWB;NWE;ND.]8?Z>NOWM[NC@[Y#O6WZGK[\K9U3GD
-M.];?J>OOP!SR'>OOU/5W8`[YCO5WZOJ[//>NSB'?L?Y.77_W+L]5[I#O6'^G
-MKK][E[A[5[A#]]\IZ^_4]7?O$G?O"G?H_CME_9VZ_N[=R9\=NO].67^GKK\K
-M9U?GD.]8?Z>NOP-SR'>LOU/7WX$YY#O6WZGK[_+<^SJ'?,?Z.W7]W?L\5[A#
-M]]\IZ^_4]7?O$W?O*W?(=ZR_4]??O4_<O:_<(=^Q_DY=?_?^='%VR'>LOU/7
-MWY6SJW/(=ZR_4]??@3GD.];?J>OOP!SR'>OOU/5W>>ZZSB'?L?Y.H_[.T/UW
-MROH[C?H[0_??*>OO-.KO#-U_IZR_TZB_,W3_G;+^3J/^SM#]=\KZ.XWZ.T/W
-MWRGK[S3J[PS=?Z>LOU/2WWVH<\AWK+]3U]]]R'.%.W3_G;+^3EU_]R%Q]Z%R
-MAWS'^CMU_=V'Q-V'RAWR'>OOU/5W'TX79X=\Q_H[=?U=.;LZAWS'^CMU_1V8
-M0[YC_9VZ_@[,(=^Q_L[R#]S<H<X!WQGK[VY^X@%WV4^'RAWPG;'^SEQ_=TA[
-MA\(=NO_.6']GKK\[).X.A3MT_YVQ_LY<?W<X^;-#]]\9Z^_,]7?E[.H<\)VQ
-M_LY<?P?F@.^,]7?F^CLP!WQGK+\SU]_E.:ESP'?&^CMS_9WDN<(=NO_.6']G
-MKK^3]/*D<@=\9ZR_,]??2>).*G?`=\;Z.W/]G9PNS@[XSEA_9ZZ_*V=7YX#O
-MC/5WYOH[,`=\9ZR_,]??@3G@.V/]G;G^+L]IG4.^8_V=N?Y.\USE#OF.]7?F
-M^CM-W&GA#MU_9ZR_,]??:>)."W?H_CMC_9VY_DY/_NS0_7?&^CMS_5TYNSJ'
-M?,?Z.W/]'9A#OF/]G;G^#LPAW['^SEQ_E^>LSB'?L?[.7']G>:YPA^Z_,];?
-MF>OO+'%GE3OD.];?F>OO+'%GE3OD.];?F>OO['1Q=LAWK+\SU]^5LZMSR'>L
-MOS/7WX$YY#O6WYGK[\`<\AWK[\SU=WFNK7/(=ZR_,]??M7FN<H=\Q_H[<_U=
-MF[AK"W?H_CMC_9VY_JY-W+6%.W3_G;'^SEQ_UY[\V:'[[XSU=^;ZNW)V=0[Y
-MCO5WYOH[,(=\Q_H[<_T=F$.^8_V=N?XNSW5U#OF.]7?F^KLNSQ7NT/UWQOH[
-M<_U=E[CK*G?(=ZR_,]??=8F[KG*'?,?Z.W/]77>Z.#OD.];?F>OORMG5.>0[
-MUM^9Z^_`'/(=Z^_,]7=@#OF.]7?F^KL\U]<YY#O6WYGK[_H\5[E#OF/]G;G^
-MKD_<]84[=/^=L?[.7'_7)^[ZPAVZ_\Y8?V>NO^M/_NS0_7?&^CMS_5TYNSJ'
-M?,?Z.W/]'9A#OF/]G;G^#LPAW['^SEQ_E^>.=0[YCO5WYOJ[8YXKW*'[[XSU
-M=^;ZNV/B[EBY0[YC_9VY_NZ8N#M6[I#O6']GKK\[GB[.#OF.]7?F^KMR=G4.
-M^8[U=^;Z.S"'?,?Z.W/]'9A#OF/]G;G^+L\-=0[YCO5WYOJ[(<]5[I#O6']G
-MKK\;$G=#X0[=?V>LOS/7WPV)NZ%PA^Z_,];?F>OOAI,_.W3_G;'^SEQ_5\ZN
-MSB'?L?[.7'\'YI#O6']GKK\#<\AWK+\SU]_EN;'.(=^Q_LY<?S?FN<(=NO_.
-M6']GKK\;$W=CY0[YCO5WYOJ[,7$W5NZ0[UA_9ZZ_&T\79X=\Q_H[<_U=.;LZ
-MAWS'^CMS_1V80[YC_9VY_@[,(=^Q_LY<?Y?G/M8YY#O6WYGK[S[FN<H=\AWK
-M[\SU=Q\3=Q\+=^C^.V/]G;G^[F/B[F/A#MU_9ZR_,]???3SYLT/WWQGK[\SU
-M=^7LZASR'>OOS/5W8`[YCO5WYOH[,(=\Q_H[<_U=GOM4YY#O6']GKK_[E.<*
-M=^C^.V/]G;G^[E/B[E/E#OF.]7?F^KM/B;M/E3OD.];?F>OO/ITNS@[YCO5W
-MYOJ[<G9U#OF.]7?F^CLPAWS'^CMS_1V80[YC_9VY_B[/?:YSR'>LOS/7WWW.
-M<Y4[Y#O6WYGK[SXG[CX7[M#]=\;Z.W/]W>?$W>?"';K_SEA_9ZZ_^WSR9X?N
-MOS/6WYGK[\K9U3GD.];?F>OOP!SR'>OOS/5W8`[YCO5WYOJ[//>ESB'?L?[.
-M7'_W)<\5[M#]=\;Z.W/]W9?$W9?*'?(=Z^_,]7=?$G=?*G?(=ZR_,]???3E=
-MG!WR'>OOS/5WY>SJ'/(=Z^_,]7=@#OF.]7?F^CLPAWS'^CMS_5V>^UKGD.]8
-M?V>NO_N:YRIWR'>LOS/7WWU-W'TMW*'[[XSU=^;ZNZ^)NZ^%.W3_G;'^SEQ_
-M]_7DSP[=?V>LOS/7WY6SJW/(=ZR_,]??@3GD.];?F>OOP!SR'>OOS/5W>>Y;
-MG4.^8_V=N?[N6YXKW*'[[XSU=^;ZNV^)NV^5.^0[UM^9Z^^^)>Z^5>Z0[UA_
-M9ZZ_^W:Z.#OD.];?F>OORMG5.>0[UM^9Z^_`'/(=Z^_,]7=@#OF.]7=M_H&;
-M^U[G@.]:UM^UKK_[GN<J=\!W-T]A[EK7WWU/W'W/W+4'_!3YOL?NS7[/O?%U
-MF4/?;[L\%<S=^^/';U=W@^B^*CK8^N^/FT\O?UZTZ+ZJ7WE]W>WYM=H<)O!7
-M_A,__GS]\,\R>'MWT!\8S*_PX5S^!>GN[@ZZC::V&W?NZ>,@]][P^9L>"W_#
-M3Z[OS:'OS?PKYX>N^_G98-<UTW0Q^+_Y]=U>]]-V3=LW[9@N<FREZ;3IVC)W
-M^UZ[Y?[K^\M?_];\_J=__,]Y[/_JV[V][F>^>?[FMW#6;.Z0#D+?[O_[MWLW
-M=_OE>_>GG>>,SCW!<[=?OM>?S*$//M?^[*F#TE=W\6M[-]<='CXUW'_J_-L,
-M:_:IF58R]]7-H6\?_RODW=X<,/?-\>8?6F]^@R?-LI]_L/;G;[[;##>?)G?_
-M:49O_U^FL3G*^?^RNQG\\:^_7__K;NS]];_?IM=W=W.`X`_^$^ST[FX.&-C;
-MS?]YD;_=YN$<^)W>KYW>^?<K<_=HIS<F6-`'_PEZ>M/=Z>%#.I\>_)3Y<?\:
-MT?MSX/<KOW)Z_>U7C?/7V`G\E?_$C]^O'_YY-]BFP4=[A3>#RR-^=ISG'O&S
-MXSSWB)\=Y[E'_>PX#S[B9\=Y[A$_.\YSC_C9<9Y[U,^.F\';?^?X2%_$SW-R
-M]V5R7YM!F\W<ZV-?CNOK>_AV[_Z=(_O2_Y,OXO@78WO$+^+GN9]_$=_^Z)M]
-8Q"_BY[E'_2+>'HXWWOOM/_VP*B?UK```
+M'XL(",]Q+ED``VEM9RTQ>#$M-#`Y-BUG<'0N<6-O=RYO=70`K9W+CAS7L47G
+M^HKDFVR2S8J(S*Q,OFW`!CR3C7MG]P+.Y]`HS_GQ[NH^C^ZHO1D6V!(A4"!R
+MH^IP]2I*6CH\'.[^:)I.FK9OVK'9Y^;F[],W:>[]S<-OS8^___5OU_?_^/';
+MW9@<?O*4^_M6&TUS#[;^W)0Y/3^U-(?QOYB[^29H[MZKLS_PZNZ]V<NYJ]_N
+MWBQ^3MF@/1ALTMPAO3XAI]?^=Z_ONWN[<G=ZC_=VE;S=C@WV#P9_3W/_3*]/
+MR=L]LKGAP=S)O5TE;W=D<]-/85$"R\SFEF"NA4^M;&X+YCKXU([GY"<_MW=S
+M/7Q*V!S\NKUNRMP1/F5LKGTP=[C.0.>Y`3Y%N).0NQ$^1;B3D+L)/D6XDY"[
+M&3Y%N).0NP4^1;B3D+L5/D6XTY"[#3Y%N".?%_>XV^%3A#N-N!/\%.%.(^X$
+M^4X9=QIQ)\AWRKC3B#M!OE/&G4;<"?*=,NXTXDZ0[Y1Q9Q%W@GQGC#N+N!/D
+M.V/<6<@=\ITQ[BSD#OG.&'<6<H=\9XP["[E#OC/&G87<(=\9X\Y"[I#OC''7
+MAMPAW[6,NS;D#OFN9=RU$7>*GR+<M1%WBGS7,N[:B#M%OFL9=VW$G2+?M8R[
+M-N).D>]:QET;<:?(=RWCKHNX4^2[CG'71=PI\EW'N.M"[I#O.L9=%W*'?-<Q
+M[KJ0.^2[CG'7A=PAWW6,NR[D#OFN8]QU(7?(=QWCK@^Y0[[K&7=]R!WR7<^X
+MZR/N##]%N.LC[@SYKF?<]1%WAGS7,^[ZB#M#ONL9=WW$G2'?]8R[/N+.D.]Z
+MQMTQXLZ0[XZ,NV/$G2'?'1EWQY`[Y+LCX^X8<H=\=V3<'4/ND.^.C+MCR!WR
+MW9%Q=PRY0[X[,NZ.(7?(=T?&W1!RAWPW,.Z&D#ODNX%Q-T3<M?@IPMT0<=<B
+MWPV,NR'BKD6^&QAW0\1=BWPW,.Z&B+L6^6Y@W`T1=RWRW<"XR__ZF\\AWXV,
+MNS'BKD6^&QEW8\@=\MW(N!M#[I#O1L;=&'*'?#<R[L:0.^2[D7$WAMPAWXV,
+MNS'D#OEN9-Q-(7?(=Q/C;@JY0[Z;&'=3Q%V'GR+<31%W'?+=Q+B;(NXZY+N)
+M<3=%W'7(=Q/C;HJXZY#O)L;=%''7(=]-C+O\GR'Y'/+=S+B;(^XZY+N9<3>'
+MW"'?S8R[.>0.^6YFW,TA=\AW,^-N#KE#OIL9=W/('?+=S+B;0^Z0[V;&W1)R
+MAWRW,.Z6D#ODNX5QMT3<]?@IPMT2<=<CWRV,NR7BKD>^6QAW2\1=CWRW,.Z6
+MB+L>^6YAW"T1=SWRW<*X6R/N>N2[E7&W1MSUR'<KXVX-N4.^6QEW:\@=\MW*
+MN%M#[I#O5L;=&G*'?+<R[M:0.^2[E7&WAMPAWZV,NRWD#OEN8]QM(7?(=QOC
+M;HNX.^*G"'=;Q-T1^6YCW&T1=T?DNXUQMT7<'9'O-L;=%G%W1+[;&'=;Q-T1
+M^6YCW.T1=T?DNYUQMT?<'9'O=L;='G*'?+<S[O:0.^2[G7&WA]PAW^V,NSWD
+M#OEN9]SM(7?(=SOC;@^Y0[[;"7>2O\/G@._D0+B30\@=\)T<"'=RB+@;\%.8
+M.PG[NP'X3EA_)V%_-P#?">OO).SO!N`[8?V=A/W=`'PGK+^3L+\;@.^$]7<2
+M]G<#\)VP_D["_FX`OA/6WTG8WPW`=\+Z.PG[NP'X3EA_)V%_-P#?">OO).SO
+M!N`[8?V=A/W=`'PGK+^3L+\;@.^$]7<2]G<#\AWK[R3L[P;D.];?2=C?C?@I
+MPEW8WXW(=ZR_D["_&Y'O6'\G87\W(M^Q_D["_FY$OF/]G83]W8A\Q_H["?N[
+M$?F.]7<2]G<C\AWK[R3L[T;D.];?2=C?C<AWK+^3L+\;D>]8?R=A?S<BW['^
+M3L+^;D2^8_V=A/W=B'S'^CL)^[L1^8[U=Q+V=R/R'>OO).SO)OP4X2[L[R;D
+M.];?2=C?3<AWK+^3L+^;D.]8?R=A?S<AW['^3L+^;D*^8_V=A/W=A'S'^CL)
+M^[L)^8[U=Q+V=Q/R'>OO).SO)N0[UM])V-]-R'>LOY.POYN0[UA_)V%_-R'?
+ML?Y.POYN0KYC_9V$_=V$?,?Z.PG[NPGYCO5W$O9W,WZ*<!?V=S/R'>OO).SO
+M9N0[UM])V-_-R'>LOY.POYN1[UA_)V%_-R/?L?Y.POYN1KYC_9V$_=V,?,?Z
+M.PG[NQGYCO5W$O9W,_(=Z^\D[.]FY#O6WTG8W\W(=ZR_D["_FY'O6'\G87\W
+M(]^Q_D["_FY&OF/]G83]W8Q\Q_H["?N[!3]%N`O[NP7YCO5W$O9W"_(=Z^\D
+M[.\6Y#O6WTG8WRW(=ZR_D["_6Y#O6'\G87^W(-^Q_D["_FY!OF/]G83]W8)\
+MQ_H["?N[!?F.]7<2]G<+\AWK[R3L[Q;D.];?2=C?+<AWK+^3L+];D.]8?R=A
+M?[<@W['^3L+^;D&^8_V=A/W=BI\BW(7]W8I\Q_H["?N[%?F.]7<2]G<K\AWK
+M[R3L[U;D.];?2=C?K<AWK+^3L+];D>]8?R=A?[<BW['^3L+^;D6^8_V=A/W=
+MBGS'^CL)^[L5^8[U=Q+V=ROR'>OO).SO5N0[UM])V-^MR'>LOY.POUN1[UA_
+M)V%_MR+?L?Y.POYNPT\1[L+^;D.^8_V=A/W=AGS'^CL)^[L-^8[U=Q+V=QOR
+M'>OO).SO-N0[UM])V-]MR'>LOY.PO]N0[UA_)V%_MR'?L?Y.POYN0[YC_9V$
+M_=V&?,?Z.PG[NPWYCO5W$O9W&_(=Z^\D[.\VY#O6WTG8WVW(=ZR_D["_VY#O
+M6'\G87^WXZ<(=V%_MR/?L?Y.POYN1[YC_9V$_=V.?,?Z.PG[NQWYCO5W$O9W
+M._(=Z^\D[.]VY#O6WTG8W^W(=ZR_D["_VY'O6'\G87^W(]^Q_D["_FY'OF/]
+MG83]W8Y\Q_H["?N['?F.]7<2]G<[\AWK[S1_Q\TU=0[X[N8IS)VZ_B[?I]=4
+M[H#OE/5WZOJ[)G'79.[L@)_"W*GK[YK$7?//,@=\IZR_4]??-2=W=H;NOU/6
+MWZGK[\K9U3G@.V7]G;K^#LP!WRGK[]3U=V`.^$Y9?Z>NO\MS3^H<\)VR_DY=
+M?_<DSS5E#OA.67^GKK][DKA[4KD#OE/6WZGK[YXD[IY4[H#OE/5WZOJ[)Z>+
+MLP.^4];?J>OORMG5.>`[9?V=NOX.S`'?*>OOU/5W8`[X3EE_IZZ_RW-/ZQSR
+M'>OOU/5W3_-<Y0[YCO5WZOJ[IXF[IX4[=/^=LOY.77_W-''WM'"'[K]3UM^I
+MZ^^>GOS9H?OOE/5WZOJ[<G9U#OF.]7?J^CLPAWS'^CMU_1V80[YC_9VZ_B[/
+M/:MSR'>LOU/7WSW+<X4[=/^=LOY.77_W+''WK'*'?,?Z.W7]W;/$W;/*'?(=
+MZ^_4]7?/3A=GAWS'^CMU_5TYNSJ'?,?Z.W7]'9A#OF/]G;K^#LPAW['^3EU_
+ME^>>USGD.];?J>OOGN>YRAWR'>OOU/5WSQ-WSPMWZ/X[9?V=NO[N>>+N>>$.
+MW7^GK+]3U]\]/_FS0_??*>OOU/5WY>SJ'/(=Z^_4]7=@#OF.]7?J^CLPAWS'
+M^CMU_5V>>U'GD.]8?Z>NOWN1YPIWZ/X[9?V=NO[N1>+N1>4.^8[U=^KZNQ>)
+MNQ>5.^0[UM^IZ^]>G"[.#OF.]7?J^KMR=G4.^8[U=^KZ.S"'?,?Z.W7]'9A#
+MOF/]G;K^+L^]K'/(=ZR_4]??O<QSE3OD.];?J>OO7B;N7A;NT/UWROH[=?W=
+MR\3=R\(=NO].67^GKK][>?)GA^Z_4];?J>OORMG5.>0[UM^IZ^_`'/(=Z^_4
+M]7=@#OF.]7?J^KL\]ZK.(=^Q_DY=?_<JSQ7NT/UWROH[=?W=J\3=J\H=\AWK
+M[]3U=Z\2=Z\J=\AWK+]3U]^].EV<'?(=Z^_4]7?E[.H<\AWK[]3U=V`.^8[U
+M=^KZ.S"'?,?Z.W7]79Y[7>>0[UA_IZZ_>YWG*G?(=ZR_4]??O4[<O2[<H?OO
+ME/5WZOJ[UXF[UX4[=/^=LOY.77_W^N3/#MU_IZR_4]??E;.K<\AWK+]3U]^!
+M.>0[UM^IZ^_`'/(=Z^_4]7=Y[DV=0[YC_9VZ_NY-GBO<H?OOE/5WZOJ[-XF[
+M-Y4[Y#O6WZGK[]XD[MY4[I#O6'^GKK][<[HX.^0[UM^IZ^_*V=4YY#O6WZGK
+M[\`<\AWK[]3U=V`.^8[U=^KZNSQW5>>0[UA_IZZ_N\ISE3OD.];?J>OOKA)W
+M5X4[=/^=LOY.77]WE;B[*MRA^^^4]7?J^KNKDS\[=/^=LOY.77]7SJ[.(=^Q
+M_DY=?P?FD.]8?Z>NOP-SR'>LOU/7W^6YMW4.^8[U=^KZN[=YKG"'[K]3UM^I
+MZ^_>)N[>5NZ0[UA_IZZ_>YNX>UNY0[YC_9VZ_N[MZ>+LD.]8?Z>NORMG5^>0
+M[UA_IZZ_`W/(=ZR_4]??@3GD.];?J>OO\MR[.H=\Q_H[=?W=NSQ7N4.^8_V=
+MNO[N7>+N7>$.W7^GK+]3U]^]2]R]*]RA^^^4]7?J^KMW)W]VZ/X[9?V=NOZN
+MG%V=0[YC_9VZ_@[,(=^Q_DY=?P?FD.]8?Z>NO\MS[^L<\AWK[]3U=^_S7.$.
+MW7^GK+]3U]^]3]R]K]PAW['^3EU_]SYQ][YRAWS'^CMU_=W[T\79(=^Q_DY=
+M?U?.KLXAW['^3EU_!^:0[UA_IZZ_`W/(=ZR_4]??Y;GK.H=\Q_H[C?H[0_??
+M*>OO-.KO#-U_IZR_TZB_,W3_G;+^3J/^SM#]=\KZ.XWZ.T/WWRGK[S3J[PS=
+M?Z>LO].HOS-T_YVR_DY)?_>ASB'?L?Y.77_W(<\5[M#]=\KZ.W7]W8?$W8?*
+M'?(=Z^_4]7<?$G<?*G?(=ZR_4]???3A=G!WR'>OOU/5WY>SJ'/(=Z^_4]7=@
+M#OF.]7?J^CLPAWS'^CO+WW%SASH'?&>LO[OY@0?<93\=*G?`=\;Z.W/]W2'M
+M'0IWZ/X[8_V=N?[ND+@[%.[0_7?&^CMS_=WAY,\.W7]GK+\SU]^5LZMSP'?&
+M^CMS_1V8`[XSUM^9Z^_`'/"=L?[.7'^7YZ3.`=\9Z^_,]7>2YPIWZ/X[8_V=
+MN?Y.TLN3RAWPG;'^SEQ_)XD[J=P!WQGK[\SU=W*Z.#O@.V/]G;G^KIQ=G0.^
+M,];?F>OOP!SPG;'^SEQ_!^:`[XSU=^;ZNSRG=0[YCO5WYOH[S7.5.^0[UM^9
+MZ^\T<:>%.W3_G;'^SEQ_IXD[+=RA^^^,]7?F^CL]^;-#]]\9Z^_,]7?E[.H<
+M\AWK[\SU=V`.^8[U=^;Z.S"'?,?Z.W/]79ZS.H=\Q_H[<_V=Y;G"';K_SEA_
+M9ZZ_L\2=5>Z0[UA_9ZZ_L\2=5>Z0[UA_9ZZ_L]/%V2'?L?[.7']7SJ[.(=^Q
+M_LY<?P?FD.]8?V>NOP-SR'>LOS/7W^6YMLXAW['^SEQ_U^:YRAWR'>OOS/5W
+M;>*N+=RA^^^,]7?F^KLV<=<6[M#]=\;Z.W/]77OR9X?NOS/6WYGK[\K9U3GD
+M.];?F>OOP!SR'>OOS/5W8`[YCO5WYOJ[/-?5.>0[UM^9Z^^Z/%>X0_??&>OO
+MS/5W7>*NJ]PAW['^SEQ_UR7NNLH=\AWK[\SU=]WIXNR0[UA_9ZZ_*V=7YY#O
+M6']GKK\#<\AWK+\SU]^!.>0[UM^9Z^_R7%_GD.]8?V>NO^OS7.4.^8[U=^;Z
+MNSYQUQ?NT/UWQOH[<_U=G[CK"W?H_CMC_9VY_JX_^;-#]]\9Z^_,]7?E[.H<
+M\AWK[\SU=V`.^8[U=^;Z.S"'?,?Z.W/]79X[UCGD.];?F>OOCGFN<(?NOS/6
+MWYGK[XZ)NV/E#OF.]7?F^KMCXNY8N4.^8_V=N?[N>+HX.^0[UM^9Z^_*V=4Y
+MY#O6WYGK[\`<\AWK[\SU=V`.^8[U=^;ZNSPWU#GD.];?F>OOACQ7N4.^8_V=
+MN?YN2-P-A3MT_YVQ_LY<?S<D[H;"';K_SEA_9ZZ_&T[^[-#]=\;Z.W/]73F[
+M.H=\Q_H[<_T=F$.^8_V=N?X.S"'?L?[.7'^7Y\8ZAWS'^CMS_=V8YPIWZ/X[
+M8_V=N?YN3-R-E3OD.];?F>OOQL3=6+E#OF/]G;G^;CQ=G!WR'>OOS/5WY>SJ
+M'/(=Z^_,]7=@#OF.]7?F^CLPAWS'^CMS_5V>^UCGD.]8?V>NO_N8YRIWR'>L
+MOS/7WWU,W'TLW*'[[XSU=^;ZNX^)NX^%.W3_G;'^SEQ_]_'DSP[=?V>LOS/7
+MWY6SJW/(=ZR_,]??@3GD.];?F>OOP!SR'>OOS/5W>>Y3G4.^8_V=N?[N4YXK
+MW*'[[XSU=^;ZNT^)NT^5.^0[UM^9Z^\^)>X^5>Z0[UA_9ZZ_^W2Z.#OD.];?
+MF>OORMG5.>0[UM^9Z^_`'/(=Z^_,]7=@#OF.]7?F^KL\][G.(=^Q_LY<?_<Y
+MSU7ND.]8?V>NO_N<N/M<N$/WWQGK[\SU=Y\3=Y\+=^C^.V/]G;G^[O/)GQVZ
+M_\Y8?V>NORMG5^>0[UA_9ZZ_`W/(=ZR_,]??@3GD.];?F>OO\MR7.H=\Q_H[
+M<_W=ESQ7N$/WWQGK[\SU=U\2=U\J=\AWK+\SU]]]2=Q]J=PAW['^SEQ_]^5T
+M<7;(=ZR_,]??E;.K<\AWK+\SU]^!.>0[UM^9Z^_`'/(=Z^_,]7=Y[FN=0[YC
+M_9VY_NYKGJO<(=^Q_LY<?_<U<?>U<(?NOS/6WYGK[[XF[KX6[M#]=\;Z.W/]
+MW=>3/SMT_YVQ_LY<?U?.KLXAW['^SEQ_!^:0[UA_9ZZ_`W/(=ZR_,]??Y;EO
+M=0[YCO5WYOJ[;WFN<(?NOS/6WYGK[[XE[KY5[I#O6']GKK_[EKC[5KE#OF/]
+MG;G^[MOIXNR0[UA_9ZZ_*V=7YY#O6']GKK\#<\AWK+\SU]^!.>0[UM^U^3MN
+M[GN=`[YK67_7NO[N>YZKW`'?W3R%N6M=?_<]<?<]<]<>\%/D]SUV;_9[[HVO
+MRQSZ_;;+4\'<O3]^_'9U-XCNJZ*#K?_]<?/IY:^+%MU7]2NOK[L]OU:;PP3^
+MRG_@QY^O'_Y9!F_O#OH#@_D5/IS+/R'=W=U!M]'4=N/./7T[R/TWO-?K],`;
+M?G)];P[]WLR_<G[HNI^?#79=,TT7@_^;7]_M=3]MU[1]TX[I(L=6FDZ;KBUS
+MM^^U6^Z_OK_\]6_-[W_ZQ_^<Q_ZOOMW;ZW[FF^=O?@EGS>8.Z2#T[?Z_?[MW
+M<[<?WQ>GG>>,SCW!<[<?W^M/YM`W/M?^[*F#TE=W\7-[-]<='CXUW'_J_,L,
+M:_:IF58R]]7-H=\^_E?(N[TY8.Z;X\T_M-[\`D^:93]_9^W/O_EN,]Q\F=S]
+MIQF]_7^9QN8HY__+[F;PQ[_^?OVON['WU_]^FU[?W<T!@K_Q'V"G=W=SP,#>
+M;O[/B_SM-@_GP*_T?NWTSK]>F;M'.[TQP8*^\1^@IS?=G1X^I//IP2^9'_>O
+M$;T_!WZ]\BNGU]]^:IP_8R?P5_X#/WZ_?OCGW6";!A_M%=X,+H_XU7&>>\2O
+MCO/<(WYUG.<>]:OC//B(7QWGN4?\ZCC//>)7QWGN4;\Z;@9O_YWC(WV(G^?D
+M[F-R7YM!F\W<ZV,?Q_7U/7R[=__.D7WT_^1#'/]D;(_X(7Z>^_F'^/9'W^PC
+8?HB?YQ[U0[P]'&^\]]M_`$CJT>#UK```
`
end
diff --git a/usr.bin/mkimg/tests/img-1x1-4096-gpt.qcow2.gz.uu b/usr.bin/mkimg/tests/img-1x1-4096-gpt.qcow2.gz.uu
index c9d99d1..6b4a6ca 100644
--- a/usr.bin/mkimg/tests/img-1x1-4096-gpt.qcow2.gz.uu
+++ b/usr.bin/mkimg/tests/img-1x1-4096-gpt.qcow2.gz.uu
@@ -1,26 +1,26 @@
# $FreeBSD$
begin 644 img-1x1-4096-gpt.qcow2.gz
-M'XL("*([(U0``VEM9RTQ>#$M-#`Y-BUG<'0N<6-O=S(N;W5T`*V92V_4,!"`
-M[_T5+F]:6.)7DN51:$LK]=8BN'')\UB)*PK\=N+8B9/)3-PNWK6BKJSY9#O?
-MC)TT2>R',<V92IG:L[9D_6_7!)O]6#;6W5W?[.:?[LC">$)$(1U*3K@%Z]+C
-M!(5+^+J#X[C9Z"2"$V/4&A3"*7)T6QT([N1H6+KA9N0@0AX"M#CR9APT/F''
-M!R/4@>,3L<<G\?738QSL2+?')^WX8%1&X?(@3B!1>PI7!'$2B2HI7!7$*22J
-MIG!-$*>1J);`\8`J/2Y%HCB%$T%<AD1)"J>"N!R)HKSC8>_V2!3E'0][5R!1
-ME'<\[%V)1%'>\;!W%1)%><?#WM5(%.6=(+QC'M<@491W`GAW['!//*Y%HBCO
-M!/#NJ<,]FW`<BZ*\$\"[YP[WPN.0>B<H[P3P[J7#O?(XI-X)RCL!O'OM<"<>
-MA]0[07DG@'>G#O?&XY!Z)RCO!/#N[<H[CM0[07DG@7?O'"OQ.*3>2<H[";SC
-M#B<\#JEWDO).`N^DPRF/0^J=I+R3P#OM<*G'(?5.4MY)X%WF<+G'(?5.4MY)
-MX-W>X=Y['%+O).6=!-Y]<+B/'H?4.TEY)X%WGQSNS..0>B<I[Q3P[K/#??$X
-MI-XIRCL%O#MWN`N/0^J=HKQ3P+M+A_LZX006-7F7)'ASN*M5S@JDWJGT@;CK
-M-8Y^6#GD.*O\<9LC5[IC`Y@_'DCNM<J>4^)-6-L)&ZL*Y$IW=!>[Y7<"#KG[
-M".`XPB7.35C;W+4/C$W#VM8UNU(N.)\=$)`)'^]FN#KR^@WI]@B@UJPH5L`?
-MX_B&=.OSR[X;Z.W60S'0@FDUX8:YZFH^OJOK&W9[_NV[@?WTTQW2+2M8Q5F1
-MLP*.CE/3_8W9IVVZ92U<[1$G*=QT+`,X<[S(Z@T<UECWA\"IK:CII<,#[JW%
-MZ609-2];9ILH)6L+5M0$[@S@TLCF*=-=IBRK6-J8]TE5:_ZH4_.4QO(^3>RV
-M+88SUIYEW)S=>F!W?[>[M["WNU^G;GR*.R.P1G=0JZ>&RIQ3T\W\@P`Q7;;$
-M8:^1_FOU3%TN=;35VSM9L$9WD*M7V-7#%\FL'IHRW;AJ8\*-N#+NZG'["C,Q
-M]7M]I3NZV]WR:X'*`:.-4*5M%3$[#"YB=AA<Q.PPN*C988`1L\/@(F:'P47,
-M#H.+FAT]L$GB;>(&9]PK,E8+\YRX^'_!UG;<#8^/Z^DV8FOKW]C$\9O11-S$
-B#6YS$\\:>K+V\Q=,-N(F;G!1-W&5F>/WT3\!FKQU%1H`````
+M'XL(",]Q+ED``VEM9RTQ>#$M-#`Y-BUG<'0N<6-O=S(N;W5T`*V92V_<(!"`
+M[_D5I.\FS=8,8'O[2)JD62FWI&IOO?AYC-1KY?:WUQALUGC&)%MVD945FD^`
+MOQFPDR3FPYCB3*9,;EE;LOZW;<#V?LP;Z^YWMYO]3W=D8#PAHI`.*2;<C'7M
+M<$#A$K[LX#AN;W0"P<$8M02%<)(<W5H'@CLY&I9NN!FY%R$.`1H<>3,.&A^8
+M\?D1\L#Q0>SQ"7S]U!CG=Z3KXQ-F?'Y41N'R(`Z0J"V%*X(X@425%*X*XB02
+M55.X)HA32%1+X'A`E1Z7(E&<PD$0ER%1@L+)("Y'HBCO>-B[+1)%><?#WA5(
+M%.4=#WM7(E&4=SSL785$4=[QL'<U$D5Y!X1WS.$:)(KR#CSOCBWNF<.U2!3E
+M'7C>/;>X%Q..8U&4=^!Y]]+B7CD<4N^`\@X\[UY;W!N'0^H=4-Z!Y]U;BSMQ
+M.*3>`>4=>-Z=6MP[AT/J'5#>@>?=V<([CM0[H+P3GG?O+2MQ.*3>"<H[X7G'
+M+0X<#JEW@O).>-X)BY,.A]0[07DG/.^4Q:4.A]0[07DG/.\RB\L=#JEW@O).
+M>-YM+>Z#PR'U3E#>"<^[CQ;WR>&0>B<H[X3GW6>+.W<XI-X)RCOI>7=A<5\<
+M#JEWDO).>MY=6MR5PR'U3E+>2<^[:XO[.N$`BYJ\2Q*\6=S-(F<!J7<R?21N
+MM\31#RN''&>E.VYSY$IWK`#SIP/)O5::<TJ\"2LS86U5@5SICNYJ,_].P"%W
+MGP`<1SC'V0DKD[OF@;%I6-O:9E;*!F>M.R`@$S[>[.'JR.LWI-L3@$JQHE@`
+M?XSC&]*MSR_S;J"W6PW%0`%3<L(-<U75_OAN=K?L[O+;=PW[Z:8[I%M6L(JS
+M(F>%/SI.3?<W9I\RZ;9<[1$G*-QT+/-P^GB1U2LXK+'N#X&3:U'32X='W%N#
+M4\D\:K]LZ6VB%*PM6%$3N',/ET8V3^KN,F59Q=)&OT^J6OU'G>JG-);W:6*V
+M;1C.6%N6<7UVZX'=P_WFP<#.-K].[?@DMT9@C>Z@5D\.E3FGIINY!P%BNFR.
+MPUXC_=?JZ;I<JFBKM[6R8(WN(%>O,*N'+Y)>/31ENG'5QH0;<67<U>/F%6:B
+MZ_?R2G=T=YOYUP"E!48;H4S;*F)V:%S$[-"XB-FA<5&S0P,C9H?&1<P.C8N8
+M'1H7-3MZ8)/$V\0U3KM79*P&_9PX^W_!VG;<#8^/R^DVL+;UKVSB^,UH(F[B
+B&K>ZB6<-/5GS^>M--N(FKG%1-W&9Z>/WT3]QQ=U%%1H`````
`
end
diff --git a/usr.bin/mkimg/tests/img-1x1-4096-gpt.raw.gz.uu b/usr.bin/mkimg/tests/img-1x1-4096-gpt.raw.gz.uu
index c8adeb3..751395c 100644
--- a/usr.bin/mkimg/tests/img-1x1-4096-gpt.raw.gz.uu
+++ b/usr.bin/mkimg/tests/img-1x1-4096-gpt.raw.gz.uu
@@ -1,15 +1,15 @@
# $FreeBSD$
begin 644 img-1x1-4096-gpt.raw.gz
-M'XL("/#%'50``VEM9RTQ>#$M-#`Y-BUG<'0N<F%W+F]U=`"MEC]O@S`0Q?=\
-MBI>U52W;V`262JW42MW2JMW:@3]FC-2=#U\?A@2(C1KIP$)(Q_UR]_#C(F4X
-M`*,AJ\@U'>B?Q?+L=W>[@:;JVX#^]ZF$%5!X8,`U/B@U/>,<NFY<4@U9(5E)
-M:#7>3SAQ.?9BAFO/6=<K'9CC1,!-[7:W`:U%55T!OZ;Z]/`Z+$P.4T+[YR6,
-M@M6PYHP;>K7-O+Z7US<<GSX^"?9]:5=[:5#[_!95!K<22:IDNS_K=@-.4U:W
-M5GO"94G</H[+**O=P,56&F>VLL(>^M^[#3@KEUG%/"MSJ#-T%:HV@7M<X7+F
-MG6<H7.<X-,@=K$+3T4V;0RF@\#8I!HB&]B66."CHFH#]Z5V<`NQ!_-Z/]1DU
-M[HC82@=2ZIEAJQ2I=@^TMS?;Q1*7<:M7D'J63;URW"RQE0XDU:N">G&12+VH
-M9?I)M<DA$Z[F54\-4\/[PW^_KZ_I0'\4RS,`S0ADJ]!H/S;XW$$X1G<0CM$=
-MA&-U!P$9W4$X1G<0CM$=A&-UAP<ZR3?$":?"F.Q:%!HN6]67&L>7^I;M.KTU
-F^C>&>/QE.,8A3KCM(>YN;99QB!..=8@;_W]*RMT?5F[7A(@+````
+M'XL("-!Q+ED``VEM9RTQ>#$M-#`Y-BUG<'0N<F%W+F]U=`"MEDU/A#`0AN_[
+M*UZO&INVM"Q[,=%$$V^KT9L>^"C'3;SSX^U0D*^6N,E`0TB&>7;FI2^S4H8#
+M,!JRC%S3@>Y)+,_N<'OH::JZ#NA_GTI8`84'!ESM@U+3,\ZA;8<E59\5DF4+
+MK<;[`2>FXT;,<,V4M5GIP!PG`FYLM[T.:"W*<@/\'.O3_>NP,#G,"=H_+V$4
+MK(8U?[B^5UO/ZWM^><7Y\?V#8%]3NUKY8.7S&Y09W$HDJ9+M?J_;#3A-61NU
+M1UR6Q-W$<1EE-3NXV$KCS%Y6V$/_>[<!9^4RJYAG90Y5AK9$V21P#RM<SKSS
+M#(6K',<:N8-5J%NZ:7(H!13>)D4/T="^Q!.."KHB8'=Y$Y<`NQ<_=T-]1@T[
+M(K;2@91ZIM\J1:K=(^WMW7:QQ&7<ZA6DGF53[S1LEMA*!Y+JE4&]N$BD7M0R
+MW:C:Z)`15_&JI_JIX?WAO]_;:SK0G<7R#$`S`-DJ--J/#3YW$([1'81C=`?A
+M6-U!0$9W$([1'81C=`?A6-WA@4[R#7'"J3`FVP:%ALM6]:7&\53?LEVG]T;_
+ESA"/OPS'.,0)MS_$W;7-,@YQPK$.<>/_3TEY^`7C-"Q#B`L`````
`
end
diff --git a/usr.bin/mkimg/tests/img-1x1-4096-gpt.vhd.gz.uu b/usr.bin/mkimg/tests/img-1x1-4096-gpt.vhd.gz.uu
index 4631e38..6c3e301 100644
--- a/usr.bin/mkimg/tests/img-1x1-4096-gpt.vhd.gz.uu
+++ b/usr.bin/mkimg/tests/img-1x1-4096-gpt.vhd.gz.uu
@@ -1,22 +1,22 @@
# $FreeBSD$
begin 644 img-1x1-4096-gpt.vhd.gz
-M'XL("`XUQ%4``VEM9RTQ>#$M-#`Y-BUG<'0N=FAD+F]U=`"MF$MOVS`,@._Y
-M%0QVZS!#;R>7`2O0`KMUPX9==K$=IRN&=8_VT(/WWT?*4FS9EK&T=%0CB<+/
-M)$61K(3H+P"GP1W!M>`LO2\-N#V4.P"<#$/YNPP?H6M^WK?-X]U3$:YNT\.D
-M&$NEXB2O-!A\2`FJHH>X`[V'+F**5U>W%W<_;B-.!9P*(%N2E%;@ZMES#'Z[
-MZ[4CTI<[]=TC+[^=M--S[08I_"L/(`Q(.?J%CMHAIOB;&FM0ZGCTP\&A)=G3
-M2#XD$X.Q$]]9,9$:J;GD5#$8NX1S:U+GX"XV82WZ4,'`*/$NP$DH%;W'L(E^
-MF`T,E:>'7]6?AW:BG\J$BCOI)V=S.F^N"J&BXH^#!H;"><U<\)3'*6XA5%[D
-M/9?*Q=5%)P@;)Y0W/_7>@(*Q?DZ*%9_G%R.K7T7ZX680U<(]/]%=%NGK!*SK
-M\X#1@RGN9'#=D/]\'FC;P:(^2(*P-J!D=D',=N2_^L"\OO7Q/*"U4%4SX.>H
-M7^.7PX)Q8/84&)@<C`2KP`[A[&VUS5B_J^OW<//NXR>"?1W,;2A<&@5-"7L%
-M<C_1;K[3UG-+0YM-ZZFW(T[G<'J[C*/-IN4*;FE`)S,XLR9UJB7_;:P5J=1N
-M+*5;J#4<*Z@.&=S;"8X[+[<T73LH&RKA5D+C:_G!42&#'6X37]_0`H4J8F%'
-M1]<$[.X_%/<][$WQ^W70KY4A(I9&?B+GO=;GY5W.W')(V!ES(<5QY^5V1]ZS
-M;-[;AV!9&OF)K/>JWGO+3B+O+6Z96-6*8IOB:E[O25\U<']@_I[?\Q/=39&^
-M>J`*98BMKJF02-DT-`'(IJ$)^Y=10]FN+N:YJVQ4J1@S#.$8,PSA&#,,X5@S
-M#`$9,PSA&#,,X1@S#.%8,PP"C>!KA`CG&R&LX>A]3=!$C6Q+0_I=$TJGYAJU
-MUC[E&Z',8AC&1HAPJXT0_A>=-]9?:F(L8R-$.-9&R(5$RG26X6(C--?A.6<9
-J+C9"8G#@"\XRW'(C]-RS#,(QGF40CO$L@W#,H2*Q=]G\`YT_-4@`$P``
+M'XL("-!Q+ED``VEM9RTQ>#$M-#`Y-BUG<'0N=FAD+F]U=`"MF$MOVS`,@._]
+M%2QVZS!#;R>7`2O0`KMUPX9==K$=IPN&98_VT(/WWT?*4FS9EK&T=%0CB<+/
+M)$61K(3H+P"GP>W!M>`LO2\-N"V4&P"<#$/YNPP?H6M^'MOF\?!4A*N[Z&%2
+MC*52<9)7&@P^I`15T4/<CMY#%S'%JYO[J\./^XA3`:<"R)8DI16X>O8<@]]N
+M>NV(].6@OGOD];>3=GJNW2"%?^4.A`$I1[_043O$%']38PU*[?=^.-BU)'L:
+MR8=D8C!VXCLK)E(C-9><*@9CEW!N3>H<W-5%6(L^5#`P2KP+<!)*1>\Q;*(?
+M9@-#Y>GA5_7GH9WHIS*AXD[ZR=F<SINK0JBH^..@@:%P7C,7/.5QBEL(E1=Y
+MSZ5R<771"<+&">7-3[TWH&"LGY-BQ>?YQ<CJ5Y%^N!E$M7#/3W371?HZ`>OZ
+M/&#T8(H[&5PWY#^?!]IVL*@/DB"L-2B971!].?)?O6->WWI_'M!:J*H9\'/4
+MK_'+8<$X,%L*#$P.1H)58(=P]K;:9JS?S>U[N'OW\1/!O@[F-A0NC8*FA*T"
+MN9UH-]]IZ[FEH<TV]W;$Z1RN7X(YCC:;EBNXI0&=S.#,FM2IEORWL5:D4INQ
+ME&ZAUK"OH-IE<&\G..Z\W-)T[:!LJ(1;"8VOY3M'A0PVN$U\?4,+%*J(A1T=
+M71.P.WXHCCWL3?'[=="OE2$BED9^(N>]UN?E3<[<<DC8&7,AQ7'GY79#WK-L
+MWMN&8%D:^8FL]ZK>>\M.(N\M;IE8U8KB,L75O-Z3OFK@_L#\/;_G)[J[(GWU
+M0!7*$%M=4R&1LFEH`I!-0Q/V+Z.&LEU=S'-7V:A2,688PC%F&,(Q9AC"L688
+M`C)F&,(Q9AC",688PK%F&`0:P=<($<XW0EC#T?N:H(D:V9:&]+LEE$[--6JM
+M?<HW0IG%,(R-$.%6&R'\+SIOK+_4Q%C&1HAPK(V0"XF4Z2S#Q49HKL-SSC)<
+I;(3$X,`7G&6XY4;HN6<9A&,\RR`<XUD&X9A#16+O<O$/A6BFVP`3````
`
end
diff --git a/usr.bin/mkimg/tests/img-1x1-4096-gpt.vhdf.gz.uu b/usr.bin/mkimg/tests/img-1x1-4096-gpt.vhdf.gz.uu
index b8ea03f..598c046 100644
--- a/usr.bin/mkimg/tests/img-1x1-4096-gpt.vhdf.gz.uu
+++ b/usr.bin/mkimg/tests/img-1x1-4096-gpt.vhdf.gz.uu
@@ -1,19 +1,19 @@
# $FreeBSD$
begin 644 img-1x1-4096-gpt.vhdf.gz
-M'XL("'LEAE4``VEM9RTQ>#$M-#`Y-BUG<'0N=FAD9BYO=70`K9??B]0P$,??
-M]Z\8\>'DQ)#?[;X("J?XMAX>OOC2'\FQB"N"B`_]X\TD[37I)H63=$/I,IW/
-MSG<ZT\E2&@X`R8%VF7/9,+TGZ6<ZW!X\C?7/`[K?QQ`V0.*``3<X(^5XCS%@
-M[;PH\U[!V2W>KM<>1];C%8EP8^RU665#C",!M\BUSP,J!5UW!7Q8XN/^<2B0
-M&N01N+N?@F2@."CYA//:U1#'=_?A$YS>W7]!V+=5+F?..`A@'&2#E#0Z5I;[
-M\3Z5&W`N(,P^;[)B11%WL\U>P`G$C3NXW"KCY)X7Y66Q>9RBJ5<;>PD#O0#;
-M03<6<&\W.%VY\B2:>PW-`-J`8C!8O!@U,`;0NC8)/<&!NQ"/T##@/0*GRV=R
-M";`WY-?K.3[)YHK(K;*AE#V)I4+;DMP&:WM7+J0X43M[+69/5<O><2Z6W"H;
-MBMGK0O;R2<+LY5K7X>:LD1<IKJ^;/>:GANL/]_Z^/I<-TXFDGP"4,[!:A-+:
-MH6)W(*YB=R"N8G<@KFIW(+!B=R"N8G<@KF)W(*YJ=SB@H?6&..*P]@R%1H-M
-M<`.1A%$<QQ/YX_85>-PD<@W?&_T[0SS_,$S%(8ZXW2%N35'L<FS$5ASBB*LZ
-MQ-6\_=8"M.\OK?"ZD:!=2[4QD*\UXX'#SXL9?I__QME3_LT,ZR9YL]"?"RQ,
-M[5JDPQ_1(UY'\;V\>[P]_WA<<'Q6M210->@E..C^2JY*Y7X]\^\>>5JCR[RF
-M5)R]HP8J\143"Y^C.Z6EHOP.:!%K++02?9]6\B4Q9`L9<;Y4XIO_]]D&7.U2
-.<7\-#O\`_#?S";,-````
+M'XL("-!Q+ED``VEM9RTQ>#$M-#`Y-BUG<'0N=FAD9BYO=70`K9=/J]P@$,#O
+M^RFFO,/"*Q4U:K*7!RV\EMZVCY9>>LD??2RE6PJE])`/7T?-1G<U\(I&@LMD
+M?IF9S#@NI7X`"`ZTS]S+@OD=2:]Y=[]S-#:\#&C?CR9<`8D%>MQHA93C,UJ#
+M,6%2YK2\LOW-V[!><&0=>Q+AIHO6[2P+8ASQN,5=\S*@E-#W-\`OBWW<?0X)
+M0H$X`+?/4Q`,)`<I+CCGNQQC^Q[??X3CVZ?/"/NVNLN9%8X-,`ZB14IJ'2N[
+M^^$I==?CK$&9:"^XIHC;7T?/XQK$31NXW"SCQ)86Y65G\SA)4ZTNUFHT#`V8
+M'OJI@'NXPJG*F2=0/"AH1U`:)(/1X&)2P!A`9\ND<Q`.W)IX@)8!'Q`XGS^1
+MLX>](;]>!_L$"QF1FV5!*7H"4X5V)7=;S.U-=R'%-;6CUV'T9+7H'4*RY&99
+M4(Q>[Z.7#Q)&+U>Z%A>B1EZEN*%N])CK&K8^[/Y]>R\+YB-)+P\4`5C-0F',
+M6+$Z$%>Q.A!7L3H05[4Z$%BQ.A!7L3H05[$Z$%>U.BQ0TWI-''&8>YI"J\"T
+M>(!(S"BVXYG\L><*'/O$7<VW6O]&$\]_#%VQB2-NLXD;771V&5?.5FSBB*O:
+MQ&4X?JL&E*LO)7'="E"VI+H8R-><<<#QYUF/OT]_X^A)MS/#>DB^FJC/&TQ,
+M94NDQY>H"=>1?7>/S_>G'\\+C@>OE@#*%K4:#FJX<5>F[GX]\>\.>5RMRVQ3
+M,H[>00$5N,7$C@?KCFFJ2'<"6IS5!CJ!NI>9_$@$V41&G$N5^.'__;8>5SM5
+-[%^#W3\[9-S+LPT`````
`
end
diff --git a/usr.bin/mkimg/tests/img-1x1-4096-gpt.vmdk.gz.uu b/usr.bin/mkimg/tests/img-1x1-4096-gpt.vmdk.gz.uu
index 782cb6c..d7c21b2 100644
--- a/usr.bin/mkimg/tests/img-1x1-4096-gpt.vmdk.gz.uu
+++ b/usr.bin/mkimg/tests/img-1x1-4096-gpt.vmdk.gz.uu
@@ -1,87 +1,87 @@
# $FreeBSD$
begin 644 img-1x1-4096-gpt.vmdk.gz
-M'XL("/'%'50``VEM9RTQ>#$M-#`Y-BUG<'0N=FUD:RYO=70`K5Q=C]S&$7SW
-MKYC(#S829,%:DLOE@X+8D1T800!%=I*7/(2?\2&VI)P.A@WLCP^'G)HKWNT<
-M*5^?]K3;8G?M=,^RN:HN,,N6'^>*UA6%*WI7GEP&-_W3\G!9?F],C^.9!RY_
-M>?77?QSX\_GA</ED`8./DA!D"B?&ZGTNAP<_A#L^%;4Z,#V.FW"YCVH?!0:X
-M8^)`$JZ8#AZOA7!US7RX]R\$SD4@MX(KK^243/:IU?WVDU`\O[[<KV':WE/M
-MJMR=VF"Z4SG;N:N.\[',59/3.`%^ZE[=?/BO>S5\Z&YOWM^]"^L[^KV=G(N3
-M]S]U'F%*K#KY%_Z`AZL]Q&EP>>]R^,/N<OOUS0_#X:?A]L/-N[<OP72/?F^+
-MW!6U7X[WS^X?*\._2>9.\._A+G_ZYM7+\,G-#N^;6\+YJ&DATWM/>2CNZ>3\
-M[^/'O+KA[9U'',-/7)W?VU"<<G[OPK\H"U?5;EY.Z;&/T^$^I#S7KKL=FKOA
-MNU_>#R]?_/CN;:R=WUM?LGH&.L^%REV9>ZB0FB]?Z1']QV;>-7?YX>;N^YON
-MVRG-#\.+PZ>.<"=?NVD#SV%=2]93R"FYL].R+U_]?#?EZ_JPLS>$FQ<Q)S&]
-M=WET9>6QI@V<M^+H\L*_FOYI6O"420'OY"[OWA[>_',ZQ7VQOGW]Q1O"G:>H
-MR7-:X!0R);3*J5SR+Q]^+-WEVZ_<"Y_D=]\/\R>0</5RFGGG91\PFT?_(E1M
-M@?=-K/`'YIUUKYJ[QGW9?!@.G[YZ]67<V<8G6\R/:6F#1SDMT/[S/9=S*MRR
-MT\M&SUO1]^VAZ9OW=\.MW]ZX%:TO41\R]=M:W&_C^GVJ>:=&_XEQEY?NQ4T_
-M[:F'_<_P[D?"=<O'>%J'_TC4<V#N7TR?GAE^".^P?&+\-GFXX>[VET/WRP\W
-M;_OI1',O"=<OM9N6L^SF_69.&SBM\.H"I]J]F'<U+H]P@U]=_VB!\WZ&0L9%
-MQ;=UEQ_GY7T_-/VTM`F;<*-?W?'Z.D*E'KS5A.XN]U6;<3\$N#P++2`/K6Q5
-MHKB<Y0VE@0[=W;O;96$OI!_G#Z]ES^W'Q:-+:O4K`1<XZ_6=L@?7LUSC"C'*
-M%:"_BF73[Q^GW]?WZSOY]9W$L]*HLQCU"N[?$\3[Q^F>_%G8B&>K49T8_9[J
-MG7QK&\1S?%@]?M6`O$[#\;L`/7.-*L0H5W"IVI6A=O2L-.HL1KV"2]7N%&I'
-MSU:C.C'Z7<E6H7;T'#7*/_&K%+(=7\M.YU`[>N8:58A1KN!2M:M#[>A9:=19
-MC'H%EZI=$VI'SU:C.C'Z7<FVH7;T'#7*/[%!0%ZGX;I0.WKF&E6(4:[@4K7K
-M0^WH66G468QZ!9>JW1!J1\]6HSHQ^EW)CJ%V]!PURC\54KMB"Z[*0NWHF6M4
-M(4:Y@DO4KF*_HV>E46<QZA5<HG85^QT]6XWJQ.AW)<M^1\]1H_Q3*;4K-^'8
-M[^B9:U0A1KF"2]6._8Z>E4:=Q:A7<*G:L=_1L]6H3HQ^5[+L=_0<-<H_G:1V
-MITTX]CMZYAI5B%&NX%*U8[^C9Z519S'J%5RJ=NQW]&PUJA.CWY4L^QT]1XWR
-M3_P2!'F=AF._HV>N4848Y0HN53OV.WI6&G46HU[!I6K'?D?/5J,Z,?I=R;+?
-MT7/4*/]$0@;R.@EWSD+MZ)EK5"%&N8)+U.[,?D?/2J/.8M0KN$3MSNQW]&PU
-MJA.CWY4L^QT]1XWR3[74KMZ$8[^C9ZY1A1CE"BY5._8[>E8:=1:C7L&E:L=^
-M1\]6HSHQ^EW)LM_1<]0H_\3_/T%>I^'8[^B9:U0A1KF"2]6._8Z>E4:=Q:A7
-M<*G:L=_1L]6H3HQ^5[+L=_0<-<H_D7^$O$[#L=_1,]>H0HQR!9>J'?L=/2N-
-M.HM1K^!2M6._HV>K49T8_:YDV>_H.6J4?^JD=MT67)V%VM$SUZA"C'(%EZA=
-MS7Y'STJCSF+4*[A$[6KV.WJV&M6)T>]*EOV.GJ-&^:=>:M=OPK'?T3/7J$*,
-M<@67JAW['3TKC3J+4:_@4K5COZ-GJU&=&/VN9-GOZ#EJE'\:I';#)AS['3US
-MC2K$*%=PJ=JQW]&STJBS&/4*+E4[]CMZMAK5B='O2I;]CIZC1OFG46HW;L*Q
-MW]$SUZA"C'(%EZH=^QT]*XTZBU&OX%*U8[^C9ZM1G1C]KF39[^@Y:E0FTS/(
-MZR1<DRVUBYZY1A5BE"NX1.V:T.^B9Z519S'J%5RB=DWH=]&SU:A.C'Y7LJ'?
-M1<]1HWS)A+_#)J75A'X'X>^@_!V$O\,F?]>$?@?A[Z#\'82_PR9_UX1^!^'O
-MH/P=A+_;D6SH=Q#^#LK?0?@[;%):3>AW$/X.RM]!^#ML\G=-Z'<0_@[*WT'X
-M.VSR=TWH=Q#^#LK?0?B['<F&?@?A[Z#\'82_PR:EU81^!^'OH/P=A+_#)G_7
-MA'X'X>^@_!V$O\,F?]>$?@?A[Z#\'82_VY%LZ'<0_@[*WT'X.VQ26FT6:B?\
-M'92_@_!WV.3O6O8[X>^@_!V$O\,F?]>RWPE_!^7O(/S=CF39[X2_@_)W$/X.
-MFY16RWXG_!V4OX/P=]CD[UKV.^'OH/P=A+_#)G_7LM\)?P?E[R#\W8YDV>^$
-MOX/R=Q#^#IN45LM^)_P=E+^#\'?8Y.]:]COA[Z#\'82_PR9_U[+?"7\'Y>\@
-M_-V.9-GOA+^#\G<0_@Z;E%;+?B?\'92_@_!WV.3O6O8[X>^@_!V$O\,F?]>R
-MWPE_!^7O(/S=CF39[X2_@_)W$/X.FY16EX7:"7\'Y>\@_!TV^;N._4[X.RA_
-M!^'OL,G?=>QWPM]!^3L(?[<C6?8[X>^@_!V$O\,FI=6QWPE_!^7O(/P=-OF[
-MCOU.^#LH?P?A[[#)WW7L=\+?0?D["'^W(UGV.^'OH/P=A+_#)J75L=\)?P?E
-M[R#\'3;YNX[]3O@[*'\'X>^PR=]U['?"WT'Y.PA_MR-9]COA[Z#\'82_PR:E
-MU;'?"7\'Y>\@_!TV^;N._4[X.RA_!^'OL,G?=>QWPM]!^3L(?[<C6?8[X>^@
-M_!V$O\,FI=5GH7;"WT'Y.PA_ATW^KF>_$_X.RM]!^#ML\G<]^YWP=U#^#L+?
-M[4B6_4[X.RA_!^'OL$EI]>QWPM]!^3L(?X=-_JYGOQ/^#LK?0?@[;/)W/?N=
-M\'=0_@["W^U(EOU.^#LH?P?A[[!):?7L=\+?0?D["'^'3?ZN9[\3_@[*WT'X
-M.VSR=SW[G?!W4/X.PM_M2);]3O@[*'\'X>^P26GU['?"WT'Y.PA_ATW^KF>_
-M$_X.RM]!^#ML\G<]^YWP=U#^#L+?[4B6_4[X.RA_%\5TD-<"YY;?`#=D2^VN
-M2LJO_%.LG;NZNL%:'SB.>P'SZ^GZ/8[I(GMR&1^_/LSZQ3CS6*K^ZP`7../Z
-M(<[?I4SW<1^KKT2<O_/Q+'TEXOR=CV?I*Q'G[WP\2U^).'\WT5<BSM]-])6(
-M\W<3?27B_-U$7XDX?S?15R+.WTWTE8CS=Q-])>+\W41?B3A_-]%7(L[?3?25
-MB/-W$WTEXOS=1%^).'\WT5<BSM]-])6(\W<3?27B_-U$7XDX?S?15R+.WTWT
-ME8CS=Q-])>+\W41?B3A_-]%7(L[?3?25B/-W$WTEXOS=1%^).'\WT5<BSM]-
-M])6(\W<3?27B_-U$7PG.WVWTE>#\W49?"<[?;?25X/S=1E\)SM]M])7@_-U&
-M7PG.WVWTE>#\W49?"<[?;?25X/S=1E\)SM]M])7@_-U&7PG.WVWTE>#\W49?
-M"<[?;?25X/S=1E\)SM]M])7@_-U&7PG.WVWTE>#\W49?"<[?;?25X/S=1E\)
-MSM]M])7@_-U&7PG.WVWTE>#\W49?"<[?;?25X/S=1E\)SM]M])7@_-U&7PG.
-MWVWTE>#\W49?B3A_I^>S])6(\W=Z/DM?B3A_I^>S])6(\W=Z/DM?B3A_-]%7
-M(L[?3?25B/-W$WTEXOS=1%^).'\WT5<BSM]-])6(\W<3?27B_-U$7XDX?S?1
-M5R+.WTWTE8CS=Q-])>+\W41?B3A_-]%7(L[?3?25B/-W$WTEXOS=1%^).'\W
-MT5<BSM]-])6(\W<3?27B_-U$7XDX?S?15R+.WTWTE8CS=Q-])>+\W41?B3A_
-M-]%7(L[?3?25B/-W$WTEXOS=1%\)SM]M])483/65&$SUE1A,]9483/65&$SU
-ME1A,]9483/65&$SUE1A,]9483/65&$SUE1A,]9483/65&$SUE1A,]948L\Q0
-M7XG15%^)T51?B=%47XG15%^)T51?B=%47XG15%^)T51?B=%47XG15%^)T51?
-MB=%47XG15%^)T51?B=%47WG,LLQ07WE\=*_CG7"/DUWT@4>8ZBN/QR>7\?'K
-M*^;Z+7=7??QW^L#ER\/Z3P1$^W&`7.$:C@D7\.?&HO4:!C>.X;$HY^XSC'>Q
-MOI+PYP>!ZXWKMW]_ET=9NJ9Y!/AWKF_>WZ+T]V,NZOGFO+PS;UE$N#GWLM/U
-M??7U-^[U%V^^\V#_ND]WOKUSEWNRK:@\RGIU2*?[YS>/SXYBOKWS5/UC=379
-M/`GWV;63K9AO[SSV3\!=>Z3ABJ>B/O9.X,5\>V>-4O6MRP?7YFYL7-,GX/[P
-M`.YD_,F;[SS;GES5^?L'EW#=?+/G_N1I:7>>3I/EG#BZ8^^5"!7<T=^1^7!Y
-M^[?#VP7L]X?__2ZL;[GS+*X_T@=2U2OFN[R?4^E6B8:];O,"EUM7SW]?:4NS
-MZM7APW+MD3Z0K%ZS5"]Q59NJ=^W4G>!X5?O-&JZUK5XY7S46X<GCO],'+J\/
-MZS\+8!$`S598^%L*VIT='L[P[/!PAF>'AS,].SR@X=GAX0S/#@]G>'9X.-.S
-MH_`WC+2[B'LX+-^8JY,;*_\%8K6,Y.7X<OAI^E[A?SY;I3MSCLE+_Q,7\>N;
-G,1A>Q#W<DQ?Q<4@FRY\'R1I>Q#V<Z46\\'?OS#[Y/TT579ZT90``
+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
+E>!'W<,]>Q,<AF2Q_'B1K>!'W<*87\<+?O3/[[/^_O`I!M&4`````
`
end
diff --git a/usr.bin/mkimg/tests/img-1x1-512-gpt.qcow.gz.uu b/usr.bin/mkimg/tests/img-1x1-512-gpt.qcow.gz.uu
index 93e4a77..efa290f 100644
--- a/usr.bin/mkimg/tests/img-1x1-512-gpt.qcow.gz.uu
+++ b/usr.bin/mkimg/tests/img-1x1-512-gpt.qcow.gz.uu
@@ -1,6 +1,6 @@
# $FreeBSD$
begin 644 img-1x1-512-gpt.qcow.gz
-M'XL("*,S(E0``VEM9RTQ>#$M-3$R+6=P="YQ8V]W+F]U=`"MG<MN7-F11>?U
+M'XL(",5Q+ED``VEM9RTQ>#$M-3$R+6=P="YQ8V]W+F]U=`"MG<MN7-F11>?U
M%5=OB9*HC(C[U-MNM`'/RH9[UH.ZKQQU&]ES?7PSR?,@(_=6V!!51$$%X6YD
M'BTNJE2KC@Z'NV]-TTG3]DT[-<>EN?GG]"'-O7]X^-'\^-M?_GI]_]N/W^[&
MY/"3I]P_M]I(FGNP]><ZI^>GUN8P_0MS-Q]P[MZKLW_CU=U[LY=S5[_=O5G\
@@ -117,16 +117,16 @@ M?_<MSQ7NT/UWQOH[<_W=M\3=M\H=\AWK[\SU=]\2=]\J=\AWK+\SU]]].UV<
M'?(=Z^_,]7?E[.H<\AWK[\SU=V`.^8[U=^;Z.S"'?,?ZNS9_Q\U]KW/`=RWK
M[UK7WWW/<Y4[X+N;IS!WK>OOOB?NOF?NV@-^BORYQ^[-?L^]\7690W_>=GDJ
MF+OW[<=O5W>#Z+ZJMF2`T>O[P[\^=%_5K[R^[O;\6FT.,_@[_X$??[Y^^%<9
-MO+T[Z-\8S*_PX5Q^P]W=W4&WT=1^X\YC^CC(_3<\UNOTP!M^<GUO#OW9S+]R
+MO+T[Z-\8S*_PX5Q^P]W=W4&WT=1^X\YC^CC(_3<\U.OTP!M^<GUO#OW9S+]R
M?NBZGY\-=ETSSQ>#_Y5?W^UU/VW7M'W33NDBQU::3INN+7.W[[5;[[^^__S+
-M7YO?__3W?YS'_KN^W=OK?G9MAO7V#Q_8W*L3^G9_^+=[-W?[Y7OPIYWGC,X]
-MP7.W7[Z[G\RA#S[7_NRI@])7=_%S>S?7'1X^-=Y_:NR:49O^YM^&9CKW/P_F
-MT!\?_RODW=X<L/3GG]O^YA=XTJS'\W>V_OR'[S;CS:?)W7^:T=O_EVEJ!CG_
-M7W;GG]M__NWZGW=C[Z__[VUZ?7<W!PC^X#_`3N_NY@!&Q"%GB_SM-@_GP*_T
-M?NWTSK]>6;I'.[TIP8(^^`_0TYOO3@\?TOE%P4^9'_>O$;T_!WZ]\DNG=_M_
-M-9Z_QL[@[_P'?OQ^_?"ON\$V#3[:*VP/_?J(GQWGN4?\[#C//>)GQWGN43\[
-MSH./^-EQGGO$SX[SW"-^=ISG'O6SXV;P]O<<'^F+^'GNS%YKS;PVZ]#T_HLX
-M^W+\XS^NK_\7O-V[WW-D7_I_\D4<_V3LC_A%_#SW\R_B/?VYS=_<FWW$+^+G
-4N4?](MX>AAN9_O;_@'C+'O6L````
+M7YO?__3W?YS'_KN^W=OK?G9MAO7V#Q_8W*L3^G9_^+=[-W?[Y?OBM/.<T;DG
+M>.[VRW?WDSGTP>?:GSUU4/KJ+GYN[^:ZP\.GQOM/C5TS:M/?_-O03.?^Y\$<
+M^N/C?X6\VYL#EO[\<]O?_`)/FO5X_L[6G__PW6:\^32Y^T\S>OO_,DW-(.?_
+MR^[\<_O/OUW_\V[L_?7_O4VO[^[F`,$?_`?8Z=W=',"(..1LD;_=YN$<^)7>
+MKYW>^=<K2_=HIS<E6-`'_P%Z>O/=Z>%#.K\H^"GSX_XUHO?GP*]7?NGT;O^O
+MQO/7V!G\G?_`C]^O'_YU-]BFP4=[A>VA7Q_QL^,\]XB?'>>Y1_SL.,\]ZF?'
+M>?`1/SO.<X_XV7&>>\3/CO/<HWYVW`S>_I[C(WT1/\^=V6NMF==F'9K>?Q%G
+M7XY__,?U]?^"MWOW>X[L2_]/OHCCGXS]$;^(G^=^_D6\IS^W^9M[LX_X1?P\
+4]ZA?Q-O#<"/3W_X?EY=\._6L````
`
end
diff --git a/usr.bin/mkimg/tests/img-1x1-512-gpt.qcow2.gz.uu b/usr.bin/mkimg/tests/img-1x1-512-gpt.qcow2.gz.uu
index 7528fc4..a979932 100644
--- a/usr.bin/mkimg/tests/img-1x1-512-gpt.qcow2.gz.uu
+++ b/usr.bin/mkimg/tests/img-1x1-512-gpt.qcow2.gz.uu
@@ -1,26 +1,26 @@
# $FreeBSD$
begin 644 img-1x1-512-gpt.qcow2.gz
-M'XL(")4[(U0``VEM9RTQ>#$M-3$R+6=P="YQ8V]W,BYO=70`K9A+;YPP$(#O
-M^15.WTT:BL<VC[Z3-"OE4B55>VL/+(]3%:EWVM]>C`T&,P/)UKMHE<B:3V/S
-MS=@0Q^;#F.),)DSFK-FS[G][`9O\,[]8>[N[CJ:?]LC`>$Q$(0-2C+@9Z]+A
-M@,+%?#G`<=PD.X'@8(A:@K9PDLQN;0#!G1SU2]??C,R+$(<`#8Z\&0?E!R8_
-M/T(>F!^$SD_@ZZ>&.'\@6<]/F/S\J)3"99LX0*)R"E=LX@02M:=PY29.(E$5
-MA:LW<0J):@@<WU"EPR5(%*=PL(E+D2A!X>0F+D.B*._XMG<Y$D5YQ[>]*Y`H
-MRCN^[=T>B:*\X]O>E4@4Y1W?]JY"HBCO@/"..5R-1%'>@>?=L<4]<K@&B:*\
-M`\^[QQ;W9,1Q+(KR#CSOGEK<,X=#^AU0WH'GW7.+>^%P2+\#RCOPO'MI<2<.
-MA_0[H+P#S[M3BWOE<$B_`\H[\+P[6WC'D7X'E'?"\^ZU9<4.A_0[07DG/.^X
-MQ8'#(?U.4-X)SSMA<=+AD'XG*.^$YYVRN,3AD'XG*.^$YUUJ<9G#(?U.4-X)
-MS[O<XMXX'-+O!.6=\+Q[:W'O'`[I=X+R3GC>O;>X#PZ']#M!>2<][SY:W">'
-M0_J=I+R3GG?G%G?A<$B_DY1WTO/NTN(^CSC`HD;OXAB_+.YJ4;.`]#N9W!.W
-M6^+HAY5#CK/2';<Y\DL/K`"SAP/)O5::<TJX"2LS86U5@?S2`^U%-/^.P+YV
-M'P`<,ISC[(25J5WSP%C7K&GL95;*!F>3`P(RX>-H@JL"KU]?;@\`*L6*8@'\
-M/N37EUM77^;=0&>WZIN!`J;DB.OGJLII?E>[:W9S_O6;AOUPT^W+3>-J_;!4
-M)%YVG)KNU1?$/F7*+6W\U1YP@L*-QS(/IX\7:;6"PR[6_B%P<BUJ?.EPCWMK
-M<"J>1TW;%LL4RX`E):L*$O=KADL"FR?U\#YA:<F26K]/*AO]1Y7HIS26=65B
-MMFWHSU@Y2[D^NW7`]NXVNC.PL^CWJ<U/<FL$=M$#U.I)6#-")[4Q73;'8:^1
-M_FOU=%_>JV"KEUM9L(L>(%>O,*N'+Y)."BV9=EBUH>`&W#[PZB5ZN*N/KG\O
-M?^F!]B::?PU06F"P#&72E`&K0^,"5H?&!:P.C0M:'1H8L#HT+F!U:%S`ZM"X
-MH-71`>LXW":N<=J]/&.J8KED335/@]R.V^@G.MT:UK;^E4T<OQEUP$U<XU8W
-?\;0F)VL_?[W)!MS$-2[H)BY3??P^^@=.=Z`2%1H`````
+M'XL(",9Q+ED``VEM9RTQ>#$M-3$R+6=P="YQ8V]W,BYO=70`K9A+;YPP$(#O
+M^15.WTT:BL<VC[Z3-"OE4B55>VL/[`*G*E+OM+^]&!N\F!F<;+V+5HFL^30V
+MWXP-:6H^C"G.9,9DR=HMZ_^W%["]?^87ZVXWU\G^ISLR,)X24<B`%!-NQKIT
+M.*!P*5\.<!RWEYU`<#!&+4$AG"2S6QM`<"='P](--Z/P(L0A0(,C;\9!^8')
+MSX^0!^8'L?,3^/JI,<X?R-;S$R8_/RJG<$40!TA42>&J($X@45L*MPOB)!)5
+M4[@FB%-(5$O@>$"5'I<A49S"01"7(U&"PLD@KD"B*.]XV+L2B:*\XV'O*B2*
+M\HZ'O=LB491W/.S=#HFBO.-A[VHDBO(.".^8PS5(%.4=>-X=6]PCAVN1*,H[
+M\+Q[;'%/)AS'HBCOP//NJ<4]<SBDWP'E'7C>/;>X%PZ']#N@O`//NY<6=^)P
+M2+\#RCOPO#NUN%<.A_0[H+P#S[NSA7<<Z7=`>2<\[UY;5NIP2+\3E'?"\XY;
+M'#@<TN\$Y9WPO!,6)QT.Z7>"\DYXWBF+RQP.Z7>"\DYXWN465S@<TN\$Y9WP
+MO"LM[HW#(?U.4-X)S[NW%O?.X9!^)RCOA.?=>XO[X'!(OQ.4=]+S[J/%?7(X
+MI-])RCOI>7=N<1<.A_0[27DG/>\N+>[SA`,L:O(N3?'+XJX6-0M(OY/9/7&;
+M)8Y^6#GD."O=<9LCO_3`"K!X.)#<:Z4YI\2;L#(3UE95R"\]T%TD\^\$'&KW
+M`<`QPSG.3EB9VC4/C$W#VM9>9J5L<-ZZ`P(RX>-D#U='7K^AW!X`5(I5U0+X
+M?<QO*+>^OLR[@=YN-30#!4S)"3?,5>WV\[O:7+.;\Z_?-.R'F^Y0;AK7Z(>E
+M*O.RX]1TK[X@]BE3;LO5'G&"PDW',@^GCQ=YO8+#+M;](7!R+6IZZ7"/>VMP
+M*IU'[;<M5BA6`,MVK*Y(W*\9+HMLGM3#VXSE.Y8U^GW2KM5_U)E^2F-%7R9F
+MVX;AC%6RG.NS6P_L[FZ3.P,[2WZ?VOPDMT9@%SU`K9Z$-2-T4H'ILCD.>XWT
+M7ZNG^_)615N]TLJ"7?0`N7J563U\D712:,ETXZJ-!3?BMI%7+]/#?7WT_7OY
+M2P]T-\G\:X#2`J-E*+-V%[$Z-"YB=6A<Q.K0N*C5H8$1JT/C(E:'QD6L#HV+
+M6AT]L$GC;>(:I]TK"Z9J5DK6UO,TR.VX2WZBTVU@;>M?V<3QF]%$W,0U;G43
+>SQMRLO;SUYMLQ$U<XZ)NXC+7Q^^C?SXHP2(5&@``
`
end
diff --git a/usr.bin/mkimg/tests/img-1x1-512-gpt.raw.gz.uu b/usr.bin/mkimg/tests/img-1x1-512-gpt.raw.gz.uu
index 98d9945..9966862 100644
--- a/usr.bin/mkimg/tests/img-1x1-512-gpt.raw.gz.uu
+++ b/usr.bin/mkimg/tests/img-1x1-512-gpt.raw.gz.uu
@@ -1,15 +1,15 @@
# $FreeBSD$
begin 644 img-1x1-512-gpt.raw.gz
-M'XL(".C%'50``VEM9RTQ>#$M-3$R+6=P="YR87<N;W5T`*V534_#,`R&[_L5
-MWA5$E*1)FIWXD$#B-A#<N/1C/:%)W,M_)VX:UG9Q89+3J*KD^JGM^*VEC`O`
-M:)!5YDX;^@<QO_K-U6:@J?HR8/@^AK``B@",N"88I<9W#@?HNG%+-7A%9VE!
-MJ_0\XL1I;<4$UYZ\SC9MF.)$Q*5TN\N`UD)5G0'?4WQZ.`X+QH'9@0[O2S`*
-MK`9K?G%#KK:9QO?X]`S[^]<WA'V<TM4J&%4#1D)30MLMHE-DNG?+="-.HY=9
-M5COA"A*WS>.*>+8T+K=IG%GSBCWTO[.-."OG7G[JY2UX#:Z!MB)QGS.<8^X\
-M@^;:0=F`.X!5T'3XT#I0*L079.('2*AO"W('I0)=([`_OHACA-V(K^LQ/J/&
-MCLAMVD!5S^BUCL"@_D@7YKB"NWH>JV?9JK<;FR6W:0-9O2I6+U\D4C)]JEI2
-M2,+5S-5S:`[Z"/_O\SMMZ/=B?D6@&8%L$8;F<XSJ0!RC.A#'J`[$L:H#@8SJ
-M0!RC.A#'J`[$L:HC`+WD&^*(&X:X@;*%MH!B.<2I<=R+;W&;2=?KM=&_,L3S
-CA^$9ASCBUH=X02:;UB)9QB&..-8A'H"5E)L?B^NWCH@+````
+M'XL(",9Q+ED``VEM9RTQ>#$M-3$R+6=P="YR87<N;W5T`*V52T_#,`S'[_L4
+MWA5$E*1)EIUX2"!Q&PAN7/I83V@2]_+=B9N&]1$7)CF-JDJN?[4=_VLIXP(P
+M&F29N=.&[D%,KVYSM>EIJKH,&+Z/(<R`(@`CK@Y&J?&=XQ':=MA2]5[161K0
+M*CT/.'%>6S'"-6>OQ:8-8YR(N)1N>QG06BC+!?`]Q:?[X[!@')@]Z/"^!*/`
+M:K#F%]?G:NMQ?(]/SW"X?WU#V,<Y7:V"4=5@)-0[:-I9=(I,]VZ>;L1I]%I4
+M.^$*$K?-XXIXMC0NMVF<6?.*/?2_LXTX*Z=>?NSE+7@-KH:F)'&?$YQC[CR#
+MYLK!K@9W!*N@;O&A<:!4B"_(Q/>04-\&Y!YV"G2%P.[T(DX1=B.^KH?XC!HZ
+M(K=I`U4]H]<Z`H/Z(UV8X@KNZGFLGF6KWGYHEMRF#63UREB]?)%(R72I:DDA
+M"5<Q5\^A.>@C_+^7=]K0'<3TBD`S`-DB#,WG&-6!.$9U((Y1'8AC50<"&=6!
+M.$9U((Y1'8AC54<`>LDWQ!'7#W$#NP::`HKY$*?&<2>^Q6TF7:_71O_*$,\?
+CAF<<XHA;'^(%F6Q:LV09ASCB6(=X`)92;GX`")Q24X@+````
`
end
diff --git a/usr.bin/mkimg/tests/img-1x1-512-gpt.vhd.gz.uu b/usr.bin/mkimg/tests/img-1x1-512-gpt.vhd.gz.uu
index 81f18cb..0316665 100644
--- a/usr.bin/mkimg/tests/img-1x1-512-gpt.vhd.gz.uu
+++ b/usr.bin/mkimg/tests/img-1x1-512-gpt.vhd.gz.uu
@@ -1,22 +1,22 @@
# $FreeBSD$
begin 644 img-1x1-512-gpt.vhd.gz
-M'XL("/<TQ%4``VEM9RTQ>#$M-3$R+6=P="YV:&0N;W5T`*V82W/3,!"`[_T5
-MF^%6!H_>=F[0F3)P*PP,%RY^I62`\&@//9C_CE:6;,NV#&G743U)E/V\+ZVV
-M8JR_`(P$<P#3@M'X/E=@]I`7`';2#^'NW'^$KOYQ:NO[XT/FK^ZBAW$VE8K%
-M45Y(4/8A.8@2'V(:?`]=P&3/KF\OC]]O`TYXG/`@G:.4%&"JQ7.4_;;HM4/2
-MIZ/XZI!77P;MY%*[4<K^Y0TP!9Q/?B&#=A:3_8F-55;J<'##0-.B[#"B#]'$
-M:.S,=YK-I"9JKCF5C<:NX<R6U#FXRPL?BSY5;&+D]L[`<,@%OK=I$_RP&#95
-M'NY^EK_OVIE^(I$J9M"/+^9DVESA4T6$'WL-%*;SEKG@*/=SW$JJ/,E[)I8+
-MT;5.8#I,"&=^[+T1!5/]#&<;/D\'(ZE?B?K9Q<#*E7MZHKO*XM<`K*KS@,&#
-M,6XPN*K1?ZX.M.UH49\D7E@J$#P9$+6;^*]JB.-;'<X#:@UEN0!^#/K5+AP:
-ME`&UQ\2PQ4%QT`+TF,[.5EU/];M^_19N7KW_@+#/H[FU2Y<&5('%DQ]FVBU7
-M6C#WC5A;;#4N-BGGW@XXF<+)W>K:K7&Q2;Z!6QO0\01.;4D->\E_Q+;':19+
-M%5.I0D-AMY`:FC*)^Q;AJ.MRB].5@;S&+5QSJ-U>WAC<R*"PR\3M;]8"8;<W
-MN[%;1U<([$[OLE,/>Y']>N[U:[G/B+61GDAYKQ5;&8%*_<-<B''4=;DMT'N:
-MS'M[GRQK(SV1]%[9>V_=2:C4ZI()NUJ6[6)<1>L][MI'NSYL_5[>TQ/=31:_
-M>J#PVQ#9OB9\(2734'D@F8;*KU]"#;G:#.:Y458B%X05!G&$%09QA!4&<:05
-M!H&$%09QA!4&<805!G&D%<8"73(3-4*(\WVS]7-E_Q6=J9%L:5"_EXB2L;E*
-M;+5/Z48H$0Q%V`@A;K,1DNG8^DO,C"5LA!!'V@@97TB)SC),:(26.CSF+,.$
-H1HB-#GS"6899;X0>>Y:!.,*S#,01GF4@CCA5L&^Y^`N^QF[[`!,`````
+M'XL(",9Q+ED``VEM9RTQ>#$M-3$R+6=P="YV:&0N;W5T`*V82W/3,!"`[_D5
+MV^%6!H_>=F[0F3)P*PP,%RY^I62`\&@//9C_CE:6;,NV#&G743U)E/V\+ZVV
+M8JR_`(P$<P#3@M'X/E=@]I`7`';2#^'NW'^$KOYQ:NO[XT/FKV[7PSB;2L7B
+M*"\D*/N0'$2)#S$-OH<N8+)GU[>7Q^^W`2<\3GB0SE%*"C#5XCG*?EOTVB'I
+MTU%\=<BK+X-V<JG=*&7_\@:8`LXGOY!!.XO)_L3&*BMU.+AAH&E1=AC1AVAB
+M-';F.\UF4A,UUYS*1F/7<&9+ZAS<Y<['HD\5FQBYO3,P''*![VW:!#\LADV5
+MA[N?Y>^[=J:?2*2*&?3CBSF9-E?X5!'AQUX#A>F\92XXROT<MY(J3_*>B>5"
+M=*T3F`X3PID?>V]$P50_P]F&S]/!2.I7HGYV,;!RY9Z>Z*ZR^#4`J^H\8/!@
+MC!L,KFKTGZL#;3M:U">)%Y82!$\&1%Y,_%<UQ/&M#N<!M8:R7``_!OUJ%PX-
+MRH#:8V+8XJ`X:`%Z3&=GJZZG^EV_?@LWK]Y_0-CGT=S:I4L#JL#BR0\S[98K
+M+9C[1JPMMAH7V]+;`2=3N#X$2QPN-LDW<&L#.I[`J2VI82_YC]CV.,UBJ6(J
+M56@H[!920U,F<=\B''5=;G&Z,I#7N(5K#K7;RQN#&QD4=IFX_<U:(.SV9C=V
+MZ^@*@=WI77;J82^R7\^]?BWW&;$VTA,I[[5B*R-0J7^8"S&.NBZW!7I/DWEO
+M[Y-E;:0GDMXK>^^M.PF56ETR85?+LHL85]%ZC[OVT:X/6[^7]_1$=Y/%KQXH
+M_#9$MJ\)7TC)-%0>2*:A\NN74$.N-H-Y;I25R`5AA4$<885!'&&%01QIA4$@
+M885!'&&%01QAA4$<:86Q0)?,1(T0XGS?;/U<V7]%9VHD6QK4[R6B9&RN$EOM
+M4[H12@1#$39"B-MLA&0ZMOX2,V,)&R'$D39"QA=2HK,,$QJAI0Z/.<LPH1%B
+FHP.?<)9AUANAQYYE(([P+`-QA&<9B"-.%>Q;=G\!II']:``3````
`
end
diff --git a/usr.bin/mkimg/tests/img-1x1-512-gpt.vhdf.gz.uu b/usr.bin/mkimg/tests/img-1x1-512-gpt.vhdf.gz.uu
index f59ec14..e574937 100644
--- a/usr.bin/mkimg/tests/img-1x1-512-gpt.vhdf.gz.uu
+++ b/usr.bin/mkimg/tests/img-1x1-512-gpt.vhdf.gz.uu
@@ -1,19 +1,19 @@
# $FreeBSD$
begin 644 img-1x1-512-gpt.vhdf.gz
-M'XL("&$EAE4``VEM9RTQ>#$M-3$R+6=P="YV:&1F+F]U=`"ME\V.U#`,@._S
-M%$9[6+1HJR9-TO8(TB)Q&V#17KCT)UF-@$%('#C,PV,GZ3:92;HL2FM5&;G^
-M:CMVW:EK=P`(#O60N.85IW=5?)YV-SM+8^/+@/A\<N$,6"'0X294UISNT1J,
-M\5(S:^6,47BWKBVN6H_758";0ZLSR2M"7.5P2[CF94`I81@N@%\6_[C=#@E"
-M@>B!X_TU"`:2@Q1/.!N[G$+_[MY_@/W;3_<$^[J&RQDJS03]#+HE1.P=VPCW
-M/@[7X3CA#/`V&6R3Q5V?9\_A&L+-&[B4Y'%BR\K5T+_MK</).K;J0JM.0L=!
-M33`/6=SW"*<*5YX@]:B@G4!ID`PF0XM9`6/H'[:)ZPD.?(:ZAY8!'PEX.GZL
-MC@YV6_UZX_T3S%=$2O**7/8$WZH(<NJ9<"'&-:6SUU'V9+'L];Y84I)79+,W
-MN.REDT1.I5H7<3YKU:L8-Q;.GB(U]@>^OR^O><5I7\6G`PH/+.:A,&8JV!V$
-M*]@=A"O8'80KVAT$+-@=A"O8'80KV!V$*]H="-1UN2%..*J]&7/>@\0A'E=-
-M?ARC?P^?K6/74;B:;XW^C2&>W@Q=<(@3;G.(&YT/UA]GP18<XH0K.L2E__Q6
-M#2C;7TK2NA6@L*6Z$,C7FK'`Z>=13[\/?\+L$8ZYBD@*V?.&"E.UP`=ZB)II
-M'?AW=?=X<_CQN."XCVI)(-8?6C68L_$B7!F'^W#@WRQROWJ7>$W),'N]@EK0
-M*R8,W'NWCTM%VB^@)5AMH!-D^R31CTB1+&3"V5();_[?O76XTJ6"?PUV?P'7
-':/,?LPT`````
+M'XL(",9Q+ED``VEM9RTQ>#$M-3$R+6=P="YV:&1F+F]U=`"METV/TS`0AN_]
+M%8,X5%I$9#NVDQQ!6B1N!1;MA4L^G%4%%"%QX-`?SXSMM'9C!Q8YL:)4DWDR
+M\V8FDS+F-@`I@/6)8]YP?EO%^WEWM[,T/CP/B/>G$&Z`%0(=;D0C$W2-,3#/
+M?C%NO9PS_A:-/U]PU77;5P%NNGBM5]X0XBJ'6]*=GP=4"OI^!?R\Q"?LXU`@
+M-<@.!%[/0')0`I2\X&SN:@SCNW_W'@YO/CX0[,LU7<'1.(_036`:0L31\8UT
+M'^)T'4X0;J7V@JNSN/VM>@Y7$V[:P*56'B>WO%P-_=NS=3C%8J\V]&H5M`+T
+M"%.?Q7V+<+IPY4DR#QJ:$;0!Q6&<Z632P#G&AVW26H@`,0'KH.$@!@*>3Q^J
+MDX.]KGZ^\O%)[BLBM?*&G'I2;%4$!?67="'&U:75:TD]54R]SA=+:N4-6?5Z
+MIUY:)`HJU;J(\ZI5+V+<4%@]36;L#WQ_KX]YP_E0Q;L#2@\L%J&<Y[%@=Q"N
+M8'<0KF!W$*YH=Q"P8'<0KF!W$*Y@=Q"N:'<@T+!R0YQP5'L3:MZ!PB$>5TU^
+M'&-\CY]L8/LH72.V1O_&$$\_#%-PB!-N<XC/)I^LWVZ2+3C$"5=TB"O_^:UK
+MT+:_M*+S1H+&EFI#H+C6C`6./TYF_'7\':I'..XJ(KG(7]14F+H!T=--]$3G
+M07PO[Y_NCM^?%ISP62T"8OVA5XV:#:MT59SNXU%\M<C#-;K$:TJ%ZG4:F*17
+M3)BXC^X0EXJR7T!+LF:&5I+O944_(D.RD`EG2R6\^'^?K<.5+A7\:[#[`Q`[
+&W-VS#0``
`
end
diff --git a/usr.bin/mkimg/tests/img-1x1-512-gpt.vmdk.gz.uu b/usr.bin/mkimg/tests/img-1x1-512-gpt.vmdk.gz.uu
index cec7ced..cbd9d1b 100644
--- a/usr.bin/mkimg/tests/img-1x1-512-gpt.vmdk.gz.uu
+++ b/usr.bin/mkimg/tests/img-1x1-512-gpt.vmdk.gz.uu
@@ -1,87 +1,87 @@
# $FreeBSD$
begin 644 img-1x1-512-gpt.vmdk.gz
-M'XL(".G%'50``VEM9RTQ>#$M-3$R+6=P="YV;61K+F]U=`"M7%V/W,81?/>O
-MF,@/#A)DP5J22_)!0.S(!HP@@&(I\4L>LOR*#Y$EY70(8F!_?#CDU%SQ;N=(
-M^?I,B=O:[MKI'K+W7%U@EBT_SA6M*PI7]*X\N0QN^J?E<%E^;TS'L>8;ES^_
-M^LO?#_SY[>%P^6(!@X^2$&0*)\;J<RZ'!S^$.SX5M7IC.HZ;<+F/:A\%!KAC
-MXHTD7#&]>;P6PM6=Y[=[_T+@7`1R*[CR2D[)9)]:W>^^",7SZ\O]&J;M/36N
-MRMVI#:8[E;.=N^HXOY>Y:G(:)\`OW:N;3_]VKX9/W>W-Q[L/87U'O[>3<W'R
-M_J?.(TR)52?_PK_AX1H/<1I<WKL<_FUWN?WNYMUP^.]P^^GFP_N78+I'O[=%
-M[HK&+\?[9_?'RO`?DKD3_&>XRY^^?_4R7+G9X>/YEG`^:EK(]-E3'HI[.CG_
-MY_$QKVYX?^<1Q_`35^?W-A2GG#^[\"_*PE6-FY=3>NSC]'8?4IYKU]T.Y[OA
-M[2\?AY<O?O[P/M;.[ZTO63,#U7.A<E?F'BJDYLM7>D1_V<R[YB[O;NY^NNG>
-M3&E^&EX<OG2$._G:31M8AW4M64\AI^3.3LN^?/N_NRE?UX>=O2'<O(@YB>FS
-MRZ,K*X\U;>"\%4>7%_[5]$_3@J=,"G@G=_GP_O##C],M[HOUYO77/Q"NGJ(F
-MSVF!4\B4T"JG<LF_?'A9NLN;;]T+G^3;GX;Y"B1<L]QFWGG9!\SFT;\(55O@
-M?1,K_!OSSKI7Y[NS^^;\:3A\^>K5-W%GSS[98CZFI0T>Y;1`^^M[+N=4N&6G
-MEXV>MZ+OV\.Y/W^\&V[]]L:M:'V)^I"IW];B?AO7GU/-.S7Z*\9=7KH7-_VT
-MIQ[V7\.'GPG7+9?QM`Y_231S8.Y?3%?/##^$3UBN&+]-'FZXN_WET/WR[N9]
-M/]UH[B7A^J5VTW*6W;S?S&D#IQ5>7>!4NQ?SKL;E$6[PJ^L?+7#>SU#(N*CX
-ML>[R\[R\GX9S/RUMPB;<Z%=WO+Z.4*D''S6AN\M]U6;<3P$NST(+R$,K6Y4H
-M+F?Y0&F@0W?WX799V`OIQ_G#[[+G]N/BT5=J]2L!%SCK]9VR!]]GN<858I0K
-M0/\MEDU__CC]>7V_OI-?WTD\*XVJQ6A6</^<(#X^3O?D[\*S>+8:U8G1[ZG>
-MR;>V03S'A]7CKQJ0UVDX_BY`SURC"C'*%5RJ=F6H'3TKC:K%:%9PJ=J=0NWH
-MV6I4)T:_*]DJU(Z>HT;Y$W^50K;CU[)3'6I'SURC"C'*%5RJ=DVH'3TKC:K%
-M:%9PJ=J=0^WHV6I4)T:_*]DVU(Z>HT;Y$QL$Y'4:K@NUHV>N4848Y0HN5;L^
-MU(Z>E4;58C0KN%3MAE`[>K8:U8G1[TIV#+6CYZA1_E1([8HMN"H+M:-GKE&%
-M&.4*+E&[BOV.GI5&U6(T*[A$[2KV.WJV&M6)T>]*EOV.GJ-&^5,IM2LWX=CO
-MZ)EK5"%&N8)+U8[]CIZ51M5B-"NX5.W8[^C9:E0G1K\K6?8[>HX:Y4\GJ=UI
-M$X[]CIZY1A5BE"NX5.W8[^A9:50M1K."2]6._8Z>K49U8O2[DF6_H^>H4?[$
-M7X(@K]-P['?TS#6J$*-<P:5JQWY'STJC:C&:%5RJ=NQW]&PUJA.CWY4L^QT]
-M1XWR)Q(RD-=)N#H+M:-GKE&%&.4*+E&[FOV.GI5&U6(T*[A$[6KV.WJV&M6)
-MT>]*EOV.GJ-&^5,CM6LVX=COZ)EK5"%&N8)+U8[]CIZ51M5B-"NX5.W8[^C9
-M:E0G1K\K6?8[>HX:Y4_\_R?(ZS0<^QT]<XTJQ"A7<*G:L=_1L]*H6HQF!9>J
-M'?L=/5N-ZL3H=R7+?D?/4:/\B?PCY'4:COV.GKE&%6*4*[A4[=COZ%EI5"U&
-MLX)+U8[]CIZM1G5B]+N29;^CYZA1_M1)[;HMN"8+M:-GKE&%&.4*+E&[AOV.
-MGI5&U6(T*[A$[1KV.WJV&M6)T>]*EOV.GJ-&^5,OM>LWX=COZ)EK5"%&N8)+
-MU8[]CIZ51M5B-"NX5.W8[^C9:E0G1K\K6?8[>HX:Y4^#U&[8A&._HV>N4848
-MY0HN53OV.WI6&E6+T:S@4K5COZ-GJU&=&/VN9-GOZ#EJE#^-4KMQ$X[]CIZY
-M1A5BE"NX5.W8[^A9:50M1K."2]6._8Z>K49U8O2[DF6_H^>H49E,SR"ODW#G
-M;*E=],PUJA"C7,$E:G<._2YZ5AI5B]&LX!*U.X=^%SU;C>K$Z'<E&_I=]!PU
-MRI=,^#ML4EKGT.\@_!V4OX/P=]CD[\ZAWT'X.RA_!^'OL,G?G4._@_!W4/X.
-MPM_M2#;T.PA_!^7O(/P=-BFM<^AW$/X.RM]!^#ML\G?GT.\@_!V4OX/P=]CD
-M[\ZAWT'X.RA_!^'O=B0;^AV$OX/R=Q#^#IN4UCGT.PA_!^7O(/P=-OF[<^AW
-M$/X.RM]!^#ML\G?GT.\@_!V4OX/P=SN2#?T.PM]!^3L(?X=-2JO-0NV$OX/R
-M=Q#^#IO\7<M^)_P=E+^#\'?8Y.]:]COA[Z#\'82_VY$L^YWP=U#^#L+?89/2
-M:MGOA+^#\G<0_@Z;_%W+?B?\'92_@_!WV.3O6O8[X>^@_!V$O]N1+/N=\'=0
-M_@["WV&3TFK9[X2_@_)W$/X.F_Q=RWXG_!V4OX/P=]CD[UKV.^'OH/P=A+_;
-MD2S[G?!W4/X.PM]AD])JV>^$OX/R=Q#^#IO\7<M^)_P=E+^#\'?8Y.]:]COA
-M[Z#\'82_VY$L^YWP=U#^#L+?89/2ZK)0.^'OH/P=A+_#)G_7L=\)?P?E[R#\
-M'3;YNX[]3O@[*'\'X>]V),M^)_P=E+^#\'?8I+0Z]COA[Z#\'82_PR9_U['?
-M"7\'Y>\@_!TV^;N._4[X.RA_!^'O=B3+?B?\'92_@_!WV*2T.O8[X>^@_!V$
-MO\,F?]>QWPE_!^7O(/P=-OF[COU.^#LH?P?A[W8DRWXG_!V4OX/P=]BDM#KV
-M.^'OH/P=A+_#)G_7L=\)?P?E[R#\'3;YNX[]3O@[*'\'X>]V),M^)_P=E+^#
-M\'?8I+3Z+-1.^#LH?P?A[[#)W_7L=\+?0?D["'^'3?ZN9[\3_@[*WT'XNQW)
-MLM\)?P?E[R#\'38IK9[]3O@[*'\'X>^PR=_U['?"WT'Y.PA_ATW^KF>_$_X.
-MRM]!^+L=R;+?"7\'Y>\@_!TV*:V>_4[X.RA_!^'OL,G?]>QWPM]!^3L(?X=-
-M_JYGOQ/^#LK?0?B['<FRWPE_!^7O(/P=-BFMGOU.^#LH?P?A[[#)W_7L=\+?
-M0?D["'^'3?ZN9[\3_@[*WT'XNQW)LM\)?P?E[Z*8#O):X-SR)\`-V5*[JY+R
-M*_\4:^>NKFZPU@>.XU[`_'JZ?H]CNLB>7,;GKP^S?C'./):J_SK`!<ZX?HCS
-M=RG3?=SGZBL1Y^\\GJ6O1)R_\WB6OA)Q_L[C6?I*Q/F[B;X2<?YNHJ]$G+^;
-MZ"L1Y^\F^DK$^;N)OA)Q_FZBKT2<OYOH*Q'G[R;Z2L3YNXF^$G'^;J*O1)R_
-MF^@K$>?O)OI*Q/F[B;X2<?YNHJ]$G+^;Z"L1Y^\F^DK$^;N)OA)Q_FZBKT2<
-MOYOH*Q'G[R;Z2L3YNXF^$G'^;J*O1)R_F^@K$>?O)OI*Q/F[B;X2<?YNHJ]$
-MG+^;Z"L1Y^\F^DIP_FZCKP3G[S;Z2G#^;J.O!.?O-OI*</YNHZ\$Y^\V^DIP
-M_FZCKP3G[S;Z2G#^;J.O!.?O-OI*</YNHZ\$Y^\V^DIP_FZCKP3G[S;Z2G#^
-M;J.O!.?O-OI*</YNHZ\$Y^\V^DIP_FZCKP3G[S;Z2G#^;J.O!.?O-OI*</YN
-MHZ\$Y^\V^DIP_FZCKP3G[S;Z2G#^;J.O!.?O-OI*</YNHZ\$Y^\V^DIP_FZC
-MKP3G[S;Z2L3Y.SV?I:]$G+_3\UGZ2L3Y.SV?I:]$G+_3\UGZ2L3YNXF^$G'^
-M;J*O1)R_F^@K$>?O)OI*Q/F[B;X2<?YNHJ]$G+^;Z"L1Y^\F^DK$^;N)OA)Q
-M_FZBKT2<OYOH*Q'G[R;Z2L3YNXF^$G'^;J*O1)R_F^@K$>?O)OI*Q/F[B;X2
-M<?YNHJ]$G+^;Z"L1Y^\F^DK$^;N)OA)Q_FZBKT2<OYOH*Q'G[R;Z2L3YNXF^
-M$G'^;J*O1)R_F^@K$>?O)OI*</YNHZ_$8*JOQ&"JK\1@JJ_$8*JOQ&"JK\1@
-MJJ_$8*JOQ&"JK\1@JJ_$8*JOQ&"JK\1@JJ_$8*JOQ&"JK\1@JJ_$F&6&^DJ,
-MIOI*C*;Z2HRF^DJ,IOI*C*;Z2HRF^DJ,IOI*C*;Z2HRF^DJ,IOI*C*;Z2HRF
-M^DJ,IOI*C*;Z2HRF^LICEF6&^LKCHV<=[X1[G.RB#SS"5%]Y/#ZYC,]?7S'7
-M;WFZZN._TV]<OCFL_XN`:#\/D"M<PS'A`O[>6+1>P^#&,1R+<NX^P_@4ZRL)
-M__8@<+UQ_?;O[W*4I3N?'P'^C>N;][<H_?.8BV9^."^?S%L6$6[.O>QT?=]^
-M][U[_?4/;SW8/^[3G1_O/':NZ=U0>8CUZO!$NF\?WQW%_'CGJ?K'ZFJR>1+N
-MJVLW6S$_WGGLGX"[=J3ABJ>B/O=)X,7\>&>-4O6MJTM7'_WS>_MS$N[="NYD
-M?.7-3YYM3Z[J_/.#2[AN?MAS?_*TM*NGVV2Y)X[NV'LE0@5W]$]D/ES>__7P
-M?@'[P^$_OP_K6YX\B^M'^HU4]8KC4U>$7]1&NFX-EUM7S_^^TI9FU6O"Q7+M
-M2+^1K-YYJ5[B6VU:U+5;=X+CM]IOUG"M<?5F5?XB/'G\=_J-R^O#^K\%L`B`
-M9BLL_",%[>X.#V=X=W@XP[O#PYG>'1[0\.[P<(9WAX<SO#L\G.G=4?@'1MI]
-MB7LX?^WU4\T;_PS_<GW5I+^.I_7]^&9>V%>K=&?.,?G5_\27^/7-&`R_Q#W<
-BDU_BXY!.-OP\2-;P2]S#F7Z)%_[IG=D7_P=,%9H/M&4`````
+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
+@Q,<AG6SX>9"LX8>XAS/]$"_\W3NS+_X/OKS-T+1E````
`
end
diff --git a/usr.bin/mkimg/tests/img-63x255-4096-gpt.qcow.gz.uu b/usr.bin/mkimg/tests/img-63x255-4096-gpt.qcow.gz.uu
index 624c326..f81d86b 100644
--- a/usr.bin/mkimg/tests/img-63x255-4096-gpt.qcow.gz.uu
+++ b/usr.bin/mkimg/tests/img-63x255-4096-gpt.qcow.gz.uu
@@ -1,132 +1,132 @@
# $FreeBSD$
begin 644 img-63x255-4096-gpt.qcow.gz
-M'XL(",8S(E0``VEM9RTV,W@R-34M-#`Y-BUG<'0N<6-O=RYO=70`K9W;;AS7
-MM47?_16ENT1)5*^UJJJK=$^`!,B;$YSS=@Z0NCX&G7=]?-CDOI"KY]2*(=J$
-M(4.HB>ZMP4'9'MX\'.[^:)I.FK9OVK'9Y^;F[].'-/?^YN%'\^/O?_W;]?T_
-M?OQV-R:'GSSE_K[51M/<@ZT_-V5.ST\MS6'\+^9N/@3-W7MU]@=>W;TW>SEW
-M]=O=F\7/*1NT!X--FCNDUR?D]-K_[O5]=V]7[D[O\=ZNDK?;L<'^P>#O:>Z?
-MZ?4I>;M'-C<\F#NYMZOD[8YL;OHI+$I@F=G<$LRU\*F5S6W!7`>?VO&<_.37
-M]FZNAT\)FX.?M]=-F3O"IXS-M0_F#M<9Z#PWP*<(=Q)R-\*G"'<2<C?!IPAW
-M$G(WPZ<(=Q)RM\"G"'<2<K?"IPAW&G*WP:<(=^3KQ3WN=O@4X4XC[@0_1;C3
-MB#M!OE/&G4;<"?*=,NXTXDZ0[Y1QIQ%W@GRGC#N-N!/D.V7<6<2=(-\9X\XB
-M[@3YSAAW%G*'?&>,.PNY0[XSQIV%W"'?&>/.0NZ0[XQQ9R%WR'?&N+.0.^0[
-M8]RU(7?(=RWCK@VY0[YK&7=MQ)WBIPAW;<2=(M^UC+LVXDZ1[UK&71MQI\AW
-M+>.NC;A3Y+N6<==&W"GR7<NXZR+N%/FN8]QU$7>*?-<Q[KJ0.^2[CG'7A=PA
-MWW6,NR[D#OFN8]QU(7?(=QWCK@NY0[[K&'==R!WR7<>XZT/ND.]ZQET?<H=\
-MUS/N^H@[PT\1[OJ(.T.^ZQEW?<2=(=_UC+L^XLZ0[WK&71]Q9\AW/>.NC[@S
-MY+N><7>,N#/DNR/C[AAQ9\AW1\;=,>0.^>[(N#N&W"'?'1EWQY`[Y+LCX^X8
-M<H=\=V3<'4/ND.^.C+MCR!WRW9%Q-X3<(=\-C+LAY`[Y;F#<#1%W+7Z*<#=$
-MW+7(=P/C;HBX:Y'O!L;=$''7(M\-C+LAXJY%OAL8=T/$78M\-S#N\K_^YG/(
-M=R/C;HRX:Y'O1L;=&'*'?#<R[L:0.^2[D7$WAMPAWXV,NS'D#OEN9-R-(7?(
-M=R/C;@RY0[X;&7=3R!WRW<2XFT+ND.\FQMT4<=?AIPAW4\1=AWPW,>ZFB+L.
-M^6YBW$T1=QWRW<2XFR+N.N2[B7$W1=QUR'<3XR[_9T@^AWPW,^[FB+L.^6YF
-MW,TA=\AW,^-N#KE#OIL9=W/('?+=S+B;0^Z0[V;&W1QRAWPW,^[FD#ODNYEQ
-MMX3<(=\MC+LEY`[Y;F'<+1%W/7Z*<+=$W/7(=POC;HFXZY'O%L;=$G'7(]\M
-MC+LEXJY'OEL8=TO$78]\MS#NUHB['OEN9=RM$7<]\MW*N%M#[I#O5L;=&G*'
-M?+<R[M:0.^2[E7&WAMPAWZV,NS7D#OEN9=RM(7?(=ROC;@NY0[[;&'=;R!WR
-MW<:XVR+NCO@IPMT6<7=$OML8=UO$W1'Y;F/<;1%W1^2[C7&W1=P=D>\VQMT6
-M<7=$OML8=WO$W1'Y;F?<[1%W1^2[G7&WA]PAW^V,NSWD#OEN9]SM(7?(=SOC
-M;@^Y0[[;&7=[R!WRW<ZXVT/ND.]VPIWD'_`YX#LY$.[D$'('?"<'PIT<(NX&
-M_!3F3L+^;@"^$];?2=C?#<!WPOH["?N[`?A.6'\G87\W`-\)Z^\D[.\&X#MA
-M_9V$_=T`?">LOY.POQN`[X3U=Q+V=P/PG;#^3L+^;@"^$];?2=C?#<!WPOH[
-M"?N[`?A.6'\G87\W`-\)Z^\D[.\&X#MA_9V$_=V`?,?Z.PG[NP'YCO5W$O9W
-M(WZ*<!?V=R/R'>OO).SO1N0[UM])V-^-R'>LOY.POQN1[UA_)V%_-R+?L?Y.
-MPOYN1+YC_9V$_=V(?,?Z.PG[NQ'YCO5W$O9W(_(=Z^\D[.]&Y#O6WTG8WXW(
-M=ZR_D["_&Y'O6'\G87\W(M^Q_D["_FY$OF/]G83]W8A\Q_H["?N["3]%N`O[
-MNPGYCO5W$O9W$_(=Z^\D[.\FY#O6WTG8WTW(=ZR_D["_FY#O6'\G87\W(=^Q
-M_D["_FY"OF/]G83]W81\Q_H["?N["?F.]7<2]G<3\AWK[R3L[R;D.];?2=C?
-M3<AWK+^3L+^;D.]8?R=A?S<AW['^3L+^;D*^8_V=A/W=C)\BW(7]W8Q\Q_H[
-M"?N[&?F.]7<2]G<S\AWK[R3L[V;D.];?2=C?S<AWK+^3L+^;D>]8?R=A?S<C
-MW['^3L+^;D:^8_V=A/W=C'S'^CL)^[L9^8[U=Q+V=S/R'>OO).SO9N0[UM])
-MV-_-R'>LOY.POYN1[UA_)V%_-R/?L?Y.POYNP4\1[L+^;D&^8_V=A/W=@GS'
-M^CL)^[L%^8[U=Q+V=POR'>OO).SO%N0[UM])V-\MR'>LOY.POUN0[UA_)V%_
-MMR#?L?Y.POYN0;YC_9V$_=V"?,?Z.PG[NP7YCO5W$O9W"_(=Z^\D[.\6Y#O6
-MWTG8WRW(=ZR_D["_6Y#O6'\G87^WXJ<(=V%_MR+?L?Y.POYN1;YC_9V$_=V*
-M?,?Z.PG[NQ7YCO5W$O9W*_(=Z^\D[.]6Y#O6WTG8WZW(=ZR_D["_6Y'O6'\G
-M87^W(M^Q_D["_FY%OF/]G83]W8I\Q_H["?N[%?F.]7<2]G<K\AWK[R3L[U;D
-M.];?2=C?K<AWK+^3L+_;\%.$N["_VY#O6'\G87^W(=^Q_D["_FY#OF/]G83]
-MW89\Q_H["?N[#?F.]7<2]G<;\AWK[R3L[S;D.];?2=C?;<AWK+^3L+_;D.]8
-M?R=A?[<AW['^3L+^;D.^8_V=A/W=AGS'^CL)^[L-^8[U=Q+V=QOR'>OO).SO
-M-N0[UM])V-_M^"G"7=C?[<AWK+^3L+_;D>]8?R=A?[<CW['^3L+^;D>^8_V=
-MA/W=CGS'^CL)^[L=^8[U=Q+V=SOR'>OO).SO=N0[UM])V-_MR'>LOY.PO]N1
-M[UA_)V%_MR/?L?Y.POYN1[YC_9V$_=V.?,?Z.\T_<'--G0.^NWD*<Z>NO\OW
-MZ365.^`[9?V=NOZN2=PUF3L[X*<P=^KZNR9QU_RSS`'?*>OOU/5WS<F=G:'[
-M[Y3U=^KZNW)V=0[X3EE_IZZ_`W/`=\KZ.W7]'9@#OE/6WZGK[_+<DSH'?*>L
-MOU/7WSW)<TV9`[Y3UM^IZ^^>).Z>5.Z`[Y3U=^KZNR>)NR>5.^`[9?V=NO[N
-MR>GB[(#OE/5WZOJ[<G9U#OA.67^GKK\#<\!WROH[=?T=F`.^4];?J>OO\MS3
-M.H=\Q_H[=?W=TSQ7N4.^8_V=NO[N:>+N:>$.W7^GK+]3U]\]3=P]+=RA^^^4
-M]7?J^KNG)W]VZ/X[9?V=NOZNG%V=0[YC_9VZ_@[,(=^Q_DY=?P?FD.]8?Z>N
-MO\MSS^H<\AWK[]3U=\_R7.$.W7^GK+]3U]\]2]P]J]PAW['^3EU_]RQQ]ZQR
-MAWS'^CMU_=VST\79(=^Q_DY=?U?.KLXAW['^3EU_!^:0[UA_IZZ_`W/(=ZR_
-M4]??Y;GG=0[YCO5WZOJ[YWFN<H=\Q_H[=?W=\\3=\\(=NO].67^GKK][GKA[
-M7KA#]]\IZ^_4]7?/3_[LT/UWROH[=?U=.;LZAWS'^CMU_1V80[YC_9VZ_@[,
-M(=^Q_DY=?Y?G7M0YY#O6WZGK[U[DN<(=NO].67^GKK][D;A[4;E#OF/]G;K^
-M[D7B[D7E#OF.]7?J^KL7IXNS0[YC_9VZ_JZ<79U#OF/]G;K^#LPAW['^3EU_
-M!^:0[UA_IZZ_RW,OZQSR'>OOU/5W+_-<Y0[YCO5WZOJ[EXF[EX4[=/^=LOY.
-M77_W,G'WLG"'[K]3UM^IZ^]>GOS9H?OOE/5WZOJ[<G9U#OF.]7?J^CLPAWS'
-M^CMU_1V80[YC_9VZ_B[/O:ISR'>LOU/7W[W*<X4[=/^=LOY.77_W*G'WJG*'
-M?,?Z.W7]W:O$W:O*'?(=Z^_4]7>O3A=GAWS'^CMU_5TYNSJ'?,?Z.W7]'9A#
-MOF/]G;K^#LPAW['^3EU_E^=>USGD.];?J>OO7N>YRAWR'>OOU/5WKQ-WKPMW
-MZ/X[9?V=NO[N=>+N=>$.W7^GK+]3U]^]/OFS0_??*>OOU/5WY>SJ'/(=Z^_4
-M]7=@#OF.]7?J^CLPAWS'^CMU_5V>>U/GD.]8?Z>NOWN3YPIWZ/X[9?V=NO[N
-M3>+N3>4.^8[U=^KZNS>)NS>5.^0[UM^IZ^_>G"[.#OF.]7?J^KMR=G4.^8[U
-M=^KZ.S"'?,?Z.W7]'9A#OF/]G;K^+L]=U3GD.];?J>OOKO)<Y0[YCO5WZOJ[
-MJ\3=5>$.W7^GK+]3U]]=)>ZN"G?H_CME_9VZ_N[JY,\.W7^GK+]3U]^5LZMS
-MR'>LOU/7WX$YY#O6WZGK[\`<\AWK[]3U=WGN;9U#OF/]G;K^[FV>*]RA^^^4
-M]7?J^KNWB;NWE3OD.];?J>OOWB;NWE;ND.]8?Z>NOWM[NC@[Y#O6WZGK[\K9
-MU3GD.];?J>OOP!SR'>OOU/5W8`[YCO5WZOJ[//>NSB'?L?Y.77_W+L]5[I#O
-M6'^GKK][E[A[5[A#]]\IZ^_4]7?O$G?O"G?H_CME_9VZ_N[=R9\=NO].67^G
-MKK\K9U?GD.]8?Z>NOP-SR'>LOU/7WX$YY#O6WZGK[_+<^SJ'?,?Z.W7]W?L\
-M5[A#]]\IZ^_4]7?O$W?O*W?(=ZR_4]??O4_<O:_<(=^Q_DY=?_?^='%VR'>L
-MOU/7WY6SJW/(=ZR_4]??@3GD.];?J>OOP!SR'>OOU/5W>>ZZSB'?L?Y.H_[.
-MT/UWROH[C?H[0_??*>OO-.KO#-U_IZR_TZB_,W3_G;+^3J/^SM#]=\KZ.XWZ
-M.T/WWRGK[S3J[PS=?Z>LOU/2WWVH<\AWK+]3U]]]R'.%.W3_G;+^3EU_]R%Q
-M]Z%RAWS'^CMU_=V'Q-V'RAWR'>OOU/5W'TX79X=\Q_H[=?U=.;LZAWS'^CMU
-M_1V80[YC_9VZ_@[,(=^Q_L[R#]S<H<X!WQGK[VY^X@%WV4^'RAWPG;'^SEQ_
-M=TA[A\(=NO_.6']GKK\[).X.A3MT_YVQ_LY<?W<X^;-#]]\9Z^_,]7?E[.H<
-M\)VQ_LY<?P?F@.^,]7?F^CLP!WQGK+\SU]_E.:ESP'?&^CMS_9WDN<(=NO_.
-M6']GKK^3]/*D<@=\9ZR_,]??2>).*G?`=\;Z.W/]G9PNS@[XSEA_9ZZ_*V=7
-MYX#OC/5WYOH[,`=\9ZR_,]??@3G@.V/]G;G^+L]IG4.^8_V=N?Y.\USE#OF.
-M]7?F^CM-W&GA#MU_9ZR_,]??:>)."W?H_CMC_9VY_DY/_NS0_7?&^CMS_5TY
-MNSJ'?,?Z.W/]'9A#OF/]G;G^#LPAW['^SEQ_E^>LSB'?L?[.7']G>:YPA^Z_
-M,];?F>OO+'%GE3OD.];?F>OO+'%GE3OD.];?F>OO['1Q=LAWK+\SU]^5LZMS
-MR'>LOS/7WX$YY#O6WYGK[\`<\AWK[\SU=WFNK7/(=ZR_,]??M7FN<H=\Q_H[
-M<_U=F[AK"W?H_CMC_9VY_JY-W+6%.W3_G;'^SEQ_UY[\V:'[[XSU=^;ZNW)V
-M=0[YCO5WYOH[,(=\Q_H[<_T=F$.^8_V=N?XNSW5U#OF.]7?F^KLNSQ7NT/UW
-MQOH[<_U=E[CK*G?(=ZR_,]??=8F[KG*'?,?Z.W/]77>Z.#OD.];?F>OORMG5
-M.>0[UM^9Z^_`'/(=Z^_,]7=@#OF.]7?F^KL\U]<YY#O6WYGK[_H\5[E#OF/]
-MG;G^KD_<]84[=/^=L?[.7'_7)^[ZPAVZ_\Y8?V>NO^M/_NS0_7?&^CMS_5TY
-MNSJ'?,?Z.W/]'9A#OF/]G;G^#LPAW['^SEQ_E^>.=0[YCO5WYOJ[8YXKW*'[
-M[XSU=^;ZNV/B[EBY0[YC_9VY_NZ8N#M6[I#O6']GKK\[GB[.#OF.]7?F^KMR
-M=G4.^8[U=^;Z.S"'?,?Z.W/]'9A#OF/]G;G^+L\-=0[YCO5WYOJ[(<]5[I#O
-M6']GKK\;$G=#X0[=?V>LOS/7WPV)NZ%PA^Z_,];?F>OOAI,_.W3_G;'^SEQ_
-M5\ZNSB'?L?[.7'\'YI#O6']GKK\#<\AWK+\SU]_EN;'.(=^Q_LY<?S?FN<(=
-MNO_.6']GKK\;$W=CY0[YCO5WYOJ[,7$W5NZ0[UA_9ZZ_&T\79X=\Q_H[<_U=
-M.;LZAWS'^CMS_1V80[YC_9VY_@[,(=^Q_LY<?Y?G/M8YY#O6WYGK[S[FN<H=
-M\AWK[\SU=Q\3=Q\+=^C^.V/]G;G^[F/B[F/A#MU_9ZR_,]???3SYLT/WWQGK
-M[\SU=^7LZASR'>OOS/5W8`[YCO5WYOH[,(=\Q_H[<_U=GOM4YY#O6']GKK_[
-ME.<*=^C^.V/]G;G^[E/B[E/E#OF.]7?F^KM/B;M/E3OD.];?F>OO/ITNS@[Y
-MCO5WYOJ[<G9U#OF.]7?F^CLPAWS'^CMS_1V80[YC_9VY_B[/?:YSR'>LOS/7
-MWWW.<Y4[Y#O6WYGK[SXG[CX7[M#]=\;Z.W/]W>?$W>?"';K_SEA_9ZZ_^WSR
-M9X?NOS/6WYGK[\K9U3GD.];?F>OOP!SR'>OOS/5W8`[YCO5WYOJ[//>ESB'?
-ML?[.7'_W)<\5[M#]=\;Z.W/]W9?$W9?*'?(=Z^_,]7=?$G=?*G?(=ZR_,]??
-M?3E=G!WR'>OOS/5WY>SJ'/(=Z^_,]7=@#OF.]7?F^CLPAWS'^CMS_5V>^UKG
-MD.]8?V>NO_N:YRIWR'>LOS/7WWU-W'TMW*'[[XSU=^;ZNZ^)NZ^%.W3_G;'^
-MSEQ_]_7DSP[=?V>LOS/7WY6SJW/(=ZR_,]??@3GD.];?F>OOP!SR'>OOS/5W
-M>>Y;G4.^8_V=N?[N6YXKW*'[[XSU=^;ZNV^)NV^5.^0[UM^9Z^^^)>Z^5>Z0
-M[UA_9ZZ_^W:Z.#OD.];?F>OORMG5.>0[UM^9Z^_`'/(=Z^_,]7=@#OF.]7=M
-M_H&;^U[G@.]:UM^UKK_[GN<J=\!W-T]A[EK7WWU/W'W/W+4'_!3YOL?NS7[/
-MO?%UF4/?;[L\%<S=^^/';U=W@^B^*CK8^N^/FT\O?UZTZ+ZJ7WE]W>WYM=H<
-M)O!7_A,__GS]\,\R>'MWT!\8S*_PX5S^!>GN[@ZZC::V&W?NZ>,@]][P^9L>
-M"W_#3Z[OS:'OS?PKYX>N^_G98-<UTW0Q^+_Y]=U>]]-V3=LW[9@N<FREZ;3I
-MVC)W^UZ[Y?[K^\M?_];\_J=__,]Y[/_JV[V][F>^>?[FMW#6;.Z0#D+?[O_[
-MMWLW=_OE>_>GG>>,SCW!<[=?OM>?S*$//M?^[*F#TE=W\6M[-]<='CXUW'_J
-M_-L,:_:IF58R]]7-H6\?_RODW=X<,/?-\>8?6F]^@R?-LI]_L/;G;[[;##>?
-M)G?_:49O_U^FL3G*^?^RNQG\\:^_7__K;NS]];_?IM=W=W.`X`_^$^ST[FX.
-M&-C;S?]YD;_=YN$<^)W>KYW>^?<K<_=HIS<F6-`'_PEZ>M/=Z>%#.I\>_)3Y
-M<?\:T?MSX/<KOW)Z_>U7C?/7V`G\E?_$C]^O'_YY-]BFP4=[A3>#RR-^=ISG
-M'O&SXSSWB)\=Y[E'_>PX#S[B9\=Y[A$_.\YSC_C9<9Y[U,^.F\';?^?X2%_$
-MSW-R]V5R7YM!F\W<ZV-?CNOK>_AV[_Z=(_O2_Y,OXO@78WO$+^+GN9]_$=_^
-;Z)M]Q"_BY[E'_2+>'HXWWOOM/_VP*B?UK```
+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
+;W^PC?HB?YQ[U0[P]'&^\]]M_`$CJT>#UK```
`
end
diff --git a/usr.bin/mkimg/tests/img-63x255-4096-gpt.qcow2.gz.uu b/usr.bin/mkimg/tests/img-63x255-4096-gpt.qcow2.gz.uu
index b082a2d..87a55dd 100644
--- a/usr.bin/mkimg/tests/img-63x255-4096-gpt.qcow2.gz.uu
+++ b/usr.bin/mkimg/tests/img-63x255-4096-gpt.qcow2.gz.uu
@@ -1,26 +1,26 @@
# $FreeBSD$
begin 644 img-63x255-4096-gpt.qcow2.gz
-M'XL("+X[(U0``VEM9RTV,W@R-34M-#`Y-BUG<'0N<6-O=S(N;W5T`*V92V_4
-M,!"`[_T5+F]:6.)7DN51:$LK]=8BN'')\UB)*PK\=N+8B9/)3-PNWK6BKJSY
-M9#O?C)TT2>R',<V92IG:L[9D_6_7!)O]6#;6W5W?[.:?[LC">$)$(1U*3K@%
-MZ]+C!(5+^+J#X[C9Z"2"$V/4&A3"*7)T6QT([N1H6+KA9N0@0AX"M#CR9APT
-M/F''!R/4@>,3L<<G\?738QSL2+?')^WX8%1&X?(@3B!1>PI7!'$2B2HI7!7$
-M*22JIG!-$*>1J);`\8`J/2Y%HCB%$T%<AD1)"J>"N!R)HKSC8>_V2!3E'0][
-M5R!1E'<\[%V)1%'>\;!W%1)%><?#WM5(%.6=(+QC'M<@491W`GAW['!//*Y%
-MHBCO!/#NJ<,]FW`<BZ*\$\"[YP[WPN.0>B<H[P3P[J7#O?(XI-X)RCL!O'OM
-M<"<>A]0[07DG@'>G#O?&XY!Z)RCO!/#N[<H[CM0[07DG@7?O'"OQ.*3>2<H[
-M";SC#B<\#JEWDO).`N^DPRF/0^J=I+R3P#OM<*G'(?5.4MY)X%WF<+G'(?5.
-M4MY)X-W>X=Y['%+O).6=!-Y]<+B/'H?4.TEY)X%WGQSNS..0>B<I[Q3P[K/#
-M??$XI-XIRCL%O#MWN`N/0^J=HKQ3P+M+A_LZX006-7F7)'ASN*M5S@JDWJGT
-M@;CK-8Y^6#GD.*O\<9LC5[IC`Y@_'DCNM<J>4^)-6-L)&ZL*Y$IW=!>[Y7<"
-M#KG[".`XPB7.35C;W+4/C$W#VM8UNU(N.)\=$)`)'^]FN#KR^@WI]@B@UJPH
-M5L`?X_B&=.OSR[X;Z.W60S'0@FDUX8:YZFH^OJOK&W9[_NV[@?WTTQW2+2M8
-MQ5F1LP*.CE/3_8W9IVVZ92U<[1$G*=QT+`,X<[S(Z@T<UECWA\"IK:CII<,#
-M[JW%Z609-2];9ILH)6L+5M0$[@S@TLCF*=-=IBRK6-J8]TE5:_ZH4_.4QO(^
-M3>RV+88SUIYEW)S=>F!W?[>[M["WNU^G;GR*.R.P1G=0JZ>&RIQ3T\W\@P`Q
-M7;;$8:^1_FOU3%TN=;35VSM9L$9WD*M7V-7#%\FL'IHRW;AJ8\*-N#+NZG'[
-M"C,Q]7M]I3NZV]WR:X'*`:.-4*5M%3$[#"YB=AA<Q.PPN*C988`1L\/@(F:'
-MP47,#H.+FAT]L$GB;>(&9]PK,E8+\YRX^'_!UG;<#8^/Z^DV8FOKW]C$\9O1
-E1-S$#6YS$\\:>K+V\Q=,-N(F;G!1-W&5F>/WT3\!FKQU%1H`````
+M'XL(".1Q+ED``VEM9RTV,W@R-34M-#`Y-BUG<'0N<6-O=S(N;W5T`*V92V_<
+M(!"`[_D5I.\FS=8,8'O[2)JD62FWI&IOO?AYC-1KY?:WUQALUGC&)%MVD945
+MFD^`OQFPDR3FPYCB3*9,;EE;LOZW;<#V?LP;Z^YWMYO]3W=D8#PAHI`.*2;<
+MC'7M<$#A$K[LX#AN;W0"P<$8M02%<)(<W5H'@CLY&I9NN!FY%R$.`1H<>3,.
+M&A^8\?D1\L#Q0>SQ"7S]U!CG=Z3KXQ-F?'Y41N'R(`Z0J"V%*X(X@425%*X*
+MXB0255.X)HA32%1+X'A`E1Z7(E&<PD$0ER%1@L+)("Y'HBCO>-B[+1)%><?#
+MWA5(%.4=#WM7(E&4=SSL785$4=[QL'<U$D5Y!X1WS.$:)(KR#CSOCBWNF<.U
+M2!3E'7C>/;>X%Q..8U&4=^!Y]]+B7CD<4N^`\@X\[UY;W!N'0^H=4-Z!Y]U;
+MBSMQ.*3>`>4=>-Z=6MP[AT/J'5#>@>?=V<([CM0[H+P3GG?O+2MQ.*3>"<H[
+MX7G'+0X<#JEW@O).>-X)BY,.A]0[07DG/.^4Q:4.A]0[07DG/.\RB\L=#JEW
+M@O).>-YM+>Z#PR'U3E#>"<^[CQ;WR>&0>B<H[X3GW6>+.W<XI-X)RCOI>7=A
+M<5\<#JEWDO).>MY=6MR5PR'U3E+>2<^[:XO[.N$`BYJ\2Q*\6=S-(F<!J7<R
+M?21NM\31#RN''&>E.VYSY$IWK`#SIP/)O5::<TJ\"2LS86U5@5SICNYJ,_].
+MP"%WGP`<1SC'V0DKD[OF@;%I6-O:9E;*!F>M.R`@$S[>[.'JR.LWI-L3@$JQ
+MHE@`?XSC&]*MSR_S;J"W6PW%0`%3<L(-<U75_OAN=K?L[O+;=PW[Z:8[I%M6
+ML(JS(F>%/SI.3?<W9I\RZ;9<[1$G*-QT+/-P^GB1U2LXK+'N#X&3:U'32X='
+MW%N#4\D\:K]LZ6VB%*PM6%$3N',/ET8V3^KN,F59Q=)&OT^J6OU'G>JG-);W
+M:6*V;1C.6%N6<7UVZX'=P_WFP<#.-K].[?@DMT9@C>Z@5D\.E3FGIINY!P%B
+MNFR.PUXC_=?JZ;I<JFBKM[6R8(WN(%>O,*N'+Y)>/31ENG'5QH0;<67<U>/F
+M%6:BZ_?R2G=T=YOYUP"E!48;H4S;*F)V:%S$[-"XB-FA<5&S0P,C9H?&1<P.
+MC8N8'1H7-3MZ8)/$V\0U3KM79*P&_9PX^W_!VG;<#8^/R^DVL+;UKVSB^,UH
+E(F[B&K>ZB6<-/5GS^>M--N(FKG%1-W&9Z>/WT3]QQ=U%%1H`````
`
end
diff --git a/usr.bin/mkimg/tests/img-63x255-4096-gpt.raw.gz.uu b/usr.bin/mkimg/tests/img-63x255-4096-gpt.raw.gz.uu
index d413df2..a6480b9 100644
--- a/usr.bin/mkimg/tests/img-63x255-4096-gpt.raw.gz.uu
+++ b/usr.bin/mkimg/tests/img-63x255-4096-gpt.raw.gz.uu
@@ -1,15 +1,15 @@
# $FreeBSD$
begin 644 img-63x255-4096-gpt.raw.gz
-M'XL("`+&'50``VEM9RTV,W@R-34M-#`Y-BUG<'0N<F%W+F]U=`"MEC]O@S`0
-MQ?=\BI>U52W;V`262JW42MW2JMW:@3]FC-2=#U\?A@2(C1KIP$)(Q_UR]_#C
-M(F4X`*,AJ\@U'>B?Q?+L=W>[@:;JVX#^]ZF$%5!X8,`U/B@U/>,<NFY<4@U9
-M(5E):#7>3SAQ.?9BAFO/6=<K'9CC1,!-[7:W`:U%55T!OZ;Z]/`Z+$P.4T+[
-MYR6,@M6PYHP;>K7-O+Z7US<<GSX^"?9]:5=[:5#[_!95!K<22:IDNS_K=@-.
-M4U:W5GO"94G</H[+**O=P,56&F>VLL(>^M^[#3@KEUG%/"MSJ#-T%:HV@7M<
-MX7+FG6<H7.<X-,@=K$+3T4V;0RF@\#8I!HB&]B66."CHFH#]Z5V<`NQ!_-Z/
-M]1DU[HC82@=2ZIEAJQ2I=@^TMS?;Q1*7<:M7D'J63;URW"RQE0XDU:N">G&1
-M2+VH9?I)M<DA$Z[F54\-4\/[PW^_KZ_I0'\4RS,`S0ADJ]!H/S;XW$$X1G<0
-MCM$=A&-U!P$9W4$X1G<0CM$=A&-UAP<ZR3?$":?"F.Q:%!HN6]67&L>7^I;M
-I.KTU^C>&>/QE.,8A3KCM(>YN;99QB!..=8@;_W]*RMT?5F[7A(@+````
+M'XL(".1Q+ED``VEM9RTV,W@R-34M-#`Y-BUG<'0N<F%W+F]U=`"MEDU/A#`0
+MAN_[*UZO&INVM"Q[,=%$$V^KT9L>^"C'3;SSX^U0D*^6N,E`0TB&>7;FI2^S
+M4H8#,!JRC%S3@>Y)+,_N<'OH::JZ#NA_GTI8`84'!ESM@U+3,\ZA;8<E59\5
+MDF4+K<;[`2>FXT;,<,V4M5GIP!PG`FYLM[T.:"W*<@/\'.O3_>NP,#G,"=H_
+M+V$4K(8U?[B^5UO/ZWM^><7Y\?V#8%]3NUKY8.7S&Y09W$HDJ9+M?J_;#3A-
+M61NU1UR6Q-W$<1EE-3NXV$KCS%Y6V$/_>[<!9^4RJYAG90Y5AK9$V21P#RM<
+MSKSS#(6K',<:N8-5J%NZ:7(H!13>)D4/T="^Q!.."KHB8'=Y$Y<`NQ<_=T-]
+M1@T[(K;2@91ZIM\J1:K=(^WMW7:QQ&7<ZA6DGF53[S1LEMA*!Y+JE4&]N$BD
+M7M0RW:C:Z)`15_&JI_JIX?WAO]_;:SK0G<7R#$`S`-DJ--J/#3YW$([1'81C
+M=`?A6-U!0$9W$([1'81C=`?A6-WA@4[R#7'"J3`FVP:%ALM6]:7&\53?LEVG
+H]T;_SA"/OPS'.,0)MS_$W;7-,@YQPK$.<>/_3TEY^`7C-"Q#B`L`````
`
end
diff --git a/usr.bin/mkimg/tests/img-63x255-4096-gpt.vhd.gz.uu b/usr.bin/mkimg/tests/img-63x255-4096-gpt.vhd.gz.uu
index 0e9500f..3b6b603 100644
--- a/usr.bin/mkimg/tests/img-63x255-4096-gpt.vhd.gz.uu
+++ b/usr.bin/mkimg/tests/img-63x255-4096-gpt.vhd.gz.uu
@@ -1,6 +1,6 @@
# $FreeBSD$
begin 644 img-63x255-4096-gpt.vhd.gz
-M'XL("#XUQ%4``VEM9RTV,W@R-34M-#`Y-BUG<'0N=FAD+F]U=`"MF$N/TS`0
+M'XL(".5Q+ED``VEM9RTV,W@R-34M-#`Y-BUG<'0N=FAD+F]U=`"MF$N/TS`0
M@._]%8.X+2*R'=M)+D4@+1*W!8&X["7/584HCW+80_O?F7&<)D[BB(IIK2B5
M,U_F;=="]!\`FX+MP+9@#=UG&FP!60Z`DWXH=Y7^)YSK'\>V_G-X3OSGO.MA
M4DRE0G&25REH?$D&JJ27V(;NX3Q@DI?W3W>'[T\#3GF<\B"3D52JP%:+]V0-
@@ -8,15 +8,15 @@ MY/U['.[K07USR,NH7;K4;I3J#>PZ2+O)$^F@W<5=WTR-U2B%S],PD&<@]#B"
M'\'$:.S,=T;,I"9JKCE5C,:NX>R6U"VXNYV/19\JF!@97@58"9FB>TR;P0^+
M@:GR?/I9_CZU,_U4)%7L)!CSN0WO*9\J:GC8:Z!)P2USP5%.<]Q*JOR7]VPH
M-T07G2#,,*$&\W'@^T50&4Y1,>AGI=CP>3P84?U*TD]C)90KU_C$^5T2?J_`
-MJKH-.'@PQ%T#4M7D/U>I;3M:U">)%ZXEI&T\(/M)?*N&.;Y5=QO0&"C+!?#+
-MH%_MPF%`6]`%)08V!RW!*##ZBG.VFWJJW_W[#_#P]M-G@CV.YM:NV+#5E5!;
-MZGFA=LM*&\V]K!1;3<6&`9EY>\"E4=Q^M79K*K:JW<"MC3A.;TE=UY)_B&V/
-M,R*4RJ=2J'.50E="V41P^QF.NR^W-%UA5&M:PHV$VJWEC04I`7(LD]Q!%"A4
-M$1=V7(4K`IZ/'Y-C#WN=_'KE]6NESXBU$9^(>:]U?3F/F9N-#3MB+H0X[K[<
-MYN0]P^:]PB?+VHA/1+U7]MY;=Q)Y;ZUTKZM:DKP(<16O]Z1;-;`^L'\OK_&)
-M\T,2?GN@\LL0V[JF?"-ETU![()N&VM<OHX:RW0SFK5&V7D,VDRW^26#5,&MR
-MSAY(.,8>2#C&'D@XUAY(0,8>2#C&'D@XQAY(.-8>F#6%2V:FK1KA*/=D`5)#
-ME]&&+5`CNND:]=M/S2WZO]"Q#=[&5FTU&(5@W*H1;G.K5G6W&LNX52,<ZU8M
-L]WV/Z;2%<(RG+81C/&TA'.-I"^$83UL(QWC:0CCN5,&MR^XO,$6$MJ(3````
+MJKH-.'@PQ%T#4M7D/U>I;3M:U">)%\9'TC8>D/TDOE7#'-^JNPUH#)3E`OAE
+MT*]VX3"@+>B"$@.;@Y9@%!A]Q3G;33W5[_[]!WAX^^DSP1Y'<VM7;-CJ2J@M
+M];Q0NV6EC>9>5HJMIF);>GO`I5'<?K5V:RJVJMW`K8TX3F])7=>2?XAMCS,B
+ME,JG4JASE4)70ME$</L9CKLOMS1=851K6L*-A-JMY8T%*0%R+)/<010H5!$7
+M=ER%*P*>CQ^38P][G?QZY?5KI<^(M1&?B'FO=7TYCYF;C0T[8BZ$..Z^W.;D
+M/</FO<(GR]J(3T2]5_;>6W<2>6^M=*^K6I*\"'$5K_>D6S6P/K!_+Z_QB?-#
+M$GY[H/++$-NZIGPC9=-0>R";AMK7+Z.&LMT,YJU1MEY#-I,M_DE@U3!K<LX>
+M2#C&'D@XQAY(.-8>2$#&'D@XQAY(.,8>2#C6'I@UA4MFIJT:X2CW9`%20Y?1
+MABU0([KI&O7;3\TM^K_0L0W>QE9M-1B%8-RJ$6YSJU9UMQK+N%4C'.M6+?=]
+JC^FTA7",IRV$8SQM(1SC:0OA&$];",=XVD(X[E3!K<ON+T20T[RB$P``
`
end
diff --git a/usr.bin/mkimg/tests/img-63x255-4096-gpt.vhdf.gz.uu b/usr.bin/mkimg/tests/img-63x255-4096-gpt.vhdf.gz.uu
index b446783..ab4de34 100644
--- a/usr.bin/mkimg/tests/img-63x255-4096-gpt.vhdf.gz.uu
+++ b/usr.bin/mkimg/tests/img-63x255-4096-gpt.vhdf.gz.uu
@@ -1,18 +1,19 @@
# $FreeBSD$
begin 644 img-63x255-4096-gpt.vhdf.gz
-M'XL("+4EAE4``VEM9RTV,W@R-34M-#`Y-BUG<'0N=FAD9BYO=70`K9?-K],P
-M#,#O^RN,N#U$E.]F%P9(#XG;`X&X<.GGTX080G#@L#\>.^E>DRZI&,IJ59U<
-M_VH[=MQR'GX`6@)O,^>RXOR6I<=Y=[?S--'=!L3GDPLK($-@P/6HY)+N&4>8
-MIEFX\%;!&$7SY=KCV/)[S2+<$%NMI*R(<2S@+N%.MP&-@;:]`GZ^^"?]<AC0
-M%O0>)-Z/L0DP$HQ^POG831_[=__N/3R\^?B)8%^7<*5`92>@L]`::-3*.[$1
-M[J\TW(!#ARC[:LH&JXJXPSI[`:<(-VS@<E+&Z2VK4$/_MK8!9WAJY6(K-4*G
-M8&JA'0JX5RN<K5QYFM2XL$T/=@0CH)_H8K`@!(##-G$>(D&BBWMH!,B.@.?3
-M!W8*L)?LYXO9/RWFBLA)65'*GJ92X:X4;D.UO1DNI#A5.WN.LF>J96\_%TM.
-MRHIB]MJ0O7R2*'NYUD7<G#7V+,5U=;,G_-3`_L#]^_I<5IP?6'H$H)Z!U3QL
-MIJFOV!V$J]@=A*O8'82KVAT$K-@=A*O8'82KV!V$J]H="!QYO2%..*J]?@\]
-MYKR#+JV:\CA>_#LDX8YR:_1O#/'\8HP5ASCA-H?X--X:;,4A3KBJ0]S-K]]6
-M@?7]90U=-QHLMI2+@7*I&0_L?YS&_O?Q3YP]YW=F6%Z25T+V4E%A6FR1EAYB
-M![J._'M^_WAW_/YXP<DYJDL"34-62H+MKL)U:;A?CO+;VKO,-N62[(FK<EYM
-M`X<8IY^"Q4\#W&*X7B3YDRBRA4PX7RKQS?^[M@%7NU3PTV#W%T[=6[ZS#0``
+M'XL(".5Q+ED``VEM9RTV,W@R-34M-#`Y-BUG<'0N=FAD9BYO=70`K9=+B]PP
+M#(#O\RM4>MO2X'<\EPXM[$)OV]+2RU[R7(9EIY3=PQ[FQU>RDTF<V*%3G)C@
+MH.B+)$M6PI@_`)0`5D6N:<'Y2Q&>Y]W-SM%X?1T0WT\F+(`%`CVN02$3]$S7
+M0=\/@W&GY97Q7O;#?,05TW$H9KCVHK4>:<$<5WC<Z&Y_'5!KJ*H5\.=HGW#+
+MH4$94'L0^#P#Q4$+T.J"<[[K9F[?[=U7N/_\_0?!'B9W!4=AS:$V4&DHY<(Z
+MON'N2^BNQZ%!D6B/.)G$'9;1\SA)N'8#%QMIG-K2\CGT;VOK<9J%6G:N)3NH
+M)?055&T"]VF!,YDS3Y$8%[9LP'2@.30]35H#G`-8+!/K(`($FKB'DH.H"7@^
+M?2M.'O:Q^/-AL$_Q(2-B(RU(14]1JC";<K>DW-YT%T*<S!T]2]'3V:*W'Y(E
+M-M*"9/0J'[UXD"AZL=)%W!"UXEV(J_-&C[NN@?6!^_?ZFA:<[XOP]$`U`+-9
+M6/9]D[$Z")>Q.@B7L3H(E[4Z")BQ.@B7L3H(E[$Z")>U.A#8L7Q-G'"4>\T>
+M&HQY#768->EV/-EW"-SMQ%;KWVCB\<7H,C9QPFTV\;Z[UMF,39QP69NX'3Z_
+MC03CZLMHFI<*#):4G0/%E#,.V/P^=<WK\6T>/>MV9I@^DA>#](6DQ#18(A6]
+MQ+0TG]GW_O;QYOC\..+$X-480%V2EA1@ZI6[-G3WUU$\+:V+;%,VB!Y?I?-B
+M&SC,<>KB+/X:X!;#U#2"FT`0363"N529/_R_:^MQN5,%?PUV?P&M?`V+LPT`
+!````
`
end
diff --git a/usr.bin/mkimg/tests/img-63x255-4096-gpt.vmdk.gz.uu b/usr.bin/mkimg/tests/img-63x255-4096-gpt.vmdk.gz.uu
index 8292403..171a519 100644
--- a/usr.bin/mkimg/tests/img-63x255-4096-gpt.vmdk.gz.uu
+++ b/usr.bin/mkimg/tests/img-63x255-4096-gpt.vmdk.gz.uu
@@ -1,88 +1,88 @@
# $FreeBSD$
begin 644 img-63x255-4096-gpt.vmdk.gz
-M'XL("`/&'50``VEM9RTV,W@R-34M-#`Y-BUG<'0N=FUD:RYO=70`K5Q=C]S&
+M'XL(".5Q+ED``VEM9RTV,W@R-34M-#`Y-BUG<'0N=FUD:RYO=70`K5Q=C]S&
M$7SWKYB<'QPDR(*U_%H^*(B=LP,C"*#(3O*2ARR_XD-L23D=C`C8'Q\..357
-MO+LY4KX^\;3;VN[:Z9YE<U5=8)8M/\X5K2L*5_2NK%P&-_W3<K@LOS>FXWCB
-M"Y<_7__E[P?^_/IPN'RV@,%'20@RA1-C]3Z7PX,?PAV?BUJ],!W'3;C<1[6/
-M`@/<,?%"$JZ87CP^%<+5G>>7>_]$X%P$<BNX\HF<DLD^M[K??!:*Y]>7^S5,
-MVULUKLY=U0;35>5LYZX^SJ]EKIZ<Q@GP<W=]\^$_[GKXT-W>O+][%]9W]'L[
-M.1>5]Z\ZCS`E5E?^B7_!PS4>HAI<WKL<_F5WN?WFYL?A\/-P^^'FW=M78+I'
-MO[=%[HK&+\?[9_?'RO!ODKD*_CW<Y8_?7K\*G]SL\/Y\2S@?-2UD>N\I#\6M
-M*N=_'Q_SZH:W=QYQ##]Q=7YO0W'*^;T+_Z0L7-VX>3FEQSY.+_<AY;EVW>UP
-MOAN^__A^>'7UT[NWL79^;WW)FAGH-!<J=V7NH4)JOGRE1_0?FWG7W.7'F[L?
-M;KKOIC0_#%>'SQWA*E^[:0-/85U+UE-(E=S9:=F7K_]W-^7K^K"S-X2;%S$G
-M,;UW>71E[;&F#9RWXNCRPC^;_FE:\)1)`>_D+N_>'M[\8SK%?;&^>_WE&\*=
-MIJC)<UK@%#(EM,JI7/(O'WXLW>6[K]V53_+['X;Y$TBX9CG-O/.R#YC-HW\2
-MJK;`^R96^!?FG777Y[NS^^K\83A\?GW]5=S9LT^VF(]I:8-'J19H__F>RSD5
-M;MGI9:/GK>C[]G#NS^_OAEN_O7$K6E^B/F3JM[6XW\;U^]3S3HW^$^,NK]S5
-M33_MJ8?]]_#N)\)UR\=X6H?_2#1S8.Z?3)^>&7X([[!\8OPV>;CA[O;CH?OX
-MX\W;?CK1W"O"]4OMIN7D65A47-/#1<6WG6IWE=TO;<(FW.!+M"SJ%$Z,"6M9
-MQWT5_">F]$>HPN7CX8?AW$_+<E?'LKR*6S$^W`HMT8,J+!L]U6+9BK"PCX</
-M0Q?@\BQLX+@JSK(FEU<NS\.*U@WT[MWMO+0JO])^G#^\EKVT'Q>/+JGU+P1<
-MX*S75V4/KF>YQA5BE"M`?Q7+IM\_3+^O[]=7^?55XEEKU$F,9@7WKPGB_>-T
-M*_\1.XMGJU&=&/V>ZE6^M0WB.3ZL'K]J0)ZGX?A=@)ZY1A5BE"NX5.W*4#MZ
-MUAIU$J-9P:5J5X7:T;/5J$Z,?E>R=:@=/4>-\@_\*H5LQ]>RZA1J1\]<HPHQ
-MRA5<JG9-J!T]:XTZB=&LX%*U.X?:T;/5J$Z,?E>R;:@=/4>-\@]L$)#G:;@N
-MU(Z>N4858I0KN%3M^E`[>M8:=1*C6<&E:C>$VM&SU:A.C'Y7LF.H'3U'C?(/
-MA=2NV(*KLU`[>N8:58A1KN`2M:O9[^A9:]1)C&8%EZA=S7Y'SU:C.C'Z7<FR
-MW]%SU"C_4$KMRDTX]CMZYAI5B%&NX%*U8[^C9ZU1)S&:%5RJ=NQW]&PUJA.C
-MWY4L^QT]1XWR#Y74KMJ$8[^C9ZY1A1CE"BY5._8[>M8:=1*C6<&E:L=^1\]6
-MHSHQ^EW)LM_1<]0H_\`O09#G:3CV.WKF&E6(4:[@4K5COZ-GK5$G,9H57*IV
-M['?T;#6J$Z/?E2S['3U'C?(/)&0@SY-PIRS4CIZY1A5BE"NX1.U.['?TK#7J
-M)$:S@DO4[L1^1\]6HSHQ^EW)LM_1<]0H_]!([9I-./8[>N8:58A1KN!2M6._
-MHV>M42<QFA5<JG;L=_1L-:H3H]^5+/L=/4>-\@_\+Q3D>1J._8Z>N4858I0K
-MN%3MV._H66O428QF!9>J'?L=/5N-ZL3H=R7+?D?/4:/\`_E'R/,T'/L=/7.-
-M*L0H5W"IVK'?T;/6J),8S0HN53OV.WJV&M6)T>]*EOV.GJ-&^8=.:M=MP359
-MJ!T]<XTJQ"A7<(G:->QW]*PUZB1&LX)+U*YAOZ-GJU&=&/VN9-GOZ#EJE'_H
-MI7;])AS['3USC2K$*%=PJ=JQW]&SUJB3&,T*+E4[]CMZMAK5B='O2I;]CIZC
-M1OF'06HW;,*QW]$SUZA"C'(%EZH=^QT]:XTZB=&LX%*U8[^C9ZM1G1C]KF39
-M[^@Y:I1_&*5VXR8<^QT]<XTJQ"A7<*G:L=_1L]:HDQC-"BY5._8[>K8:U8G1
-M[TJ6_8Z>HT9E,CV#/$_"G;.E=M$SUZA"C'(%EZC=.?2[Z%EKU$F,9@67J-TY
-M]+OHV6I4)T:_*]G0[Z+GJ%&^9,+?89/2.H=^!^'OH/P=A+_#)G]W#OT.PM]!
-M^3L(?X=-_NX<^AV$OX/R=Q#^;D>RH=]!^#LH?P?A[[!):9U#OX/P=U#^#L+?
-M89._.X=^!^'OH/P=A+_#)G]W#OT.PM]!^3L(?[<CV=#O(/P=E+^#\'?8I+3.
-MH=]!^#LH?P?A[[#)WYU#OX/P=U#^#L+?89._.X=^!^'OH/P=A+_;D6SH=Q#^
-M#LK?0?@[;%):;19J)_P=E+^#\'?8Y.]:]COA[Z#\'82_PR9_U[+?"7\'Y>\@
-M_-V.9-GOA+^#\G<0_@Z;E%;+?B?\'92_@_!WV.3O6O8[X>^@_!V$O\,F?]>R
-MWPE_!^7O(/S=CF39[X2_@_)W$/X.FY16RWXG_!V4OX/P=]CD[UKV.^'OH/P=
-MA+_#)G_7LM\)?P?E[R#\W8YDV>^$OX/R=Q#^#IN45LM^)_P=E+^#\'?8Y.]:
-M]COA[Z#\'82_PR9_U[+?"7\'Y>\@_-V.9-GOA+^#\G<0_@Z;E%:7A=H)?P?E
-M[R#\'3;YNX[]3O@[*'\'X>^PR=]U['?"WT'Y.PA_MR-9]COA[Z#\'82_PR:E
-MU;'?"7\'Y>\@_!TV^;N._4[X.RA_!^'OL,G?=>QWPM]!^3L(?[<C6?8[X>^@
-M_!V$O\,FI=6QWPE_!^7O(/P=-OF[COU.^#LH?P?A[[#)WW7L=\+?0?D["'^W
-M(UGV.^'OH/P=A+_#)J75L=\)?P?E[R#\'3;YNX[]3O@[*'\'X>^PR=]U['?"
-MWT'Y.PA_MR-9]COA[Z#\'82_PR:EU6>A=L+?0?D["'^'3?ZN9[\3_@[*WT'X
-M.VSR=SW[G?!W4/X.PM_M2);]3O@[*'\'X>^P26GU['?"WT'Y.PA_ATW^KF>_
-M$_X.RM]!^#ML\G<]^YWP=U#^#L+?[4B6_4[X.RA_!^'OL$EI]>QWPM]!^3L(
-M?X=-_JYGOQ/^#LK?0?@[;/)W/?N=\'=0_@["W^U(EOU.^#LH?P?A[[!):?7L
-M=\+?0?D["'^'3?ZN9[\3_@[*WT'X.VSR=SW[G?!W4/X.PM_M2);]3O@[*'\7
-MQ720YP+GEM\`-V1+[9Z4E#_Q3[%V[LG5#=;ZP''<"Y@_G:[?XY@NLF>7\>GK
-MPZQ?C#./I>J_#'"!,ZX?XOQ=RG0?]ZGZ2L3Y.X\7Z2L1Y^\\7J2O1)R_\WB1
-MOA)Q_FZBKT2<OYOH*Q'G[R;Z2L3YNXF^$G'^;J*O1)R_F^@K$>?O)OI*Q/F[
-MB;X2<?YNHJ]$G+^;Z"L1Y^\F^DK$^;N)OA)Q_FZBKT2<OYOH*Q'G[R;Z2L3Y
-MNXF^$G'^;J*O1)R_F^@K$>?O)OI*Q/F[B;X2<?YNHJ]$G+^;Z"L1Y^\F^DK$
-M^;N)OA)Q_FZBKT2<OYOH*Q'G[R;Z2L3YNXF^$IR_V^@KP?F[C;X2G+_;Z"O!
-M^;N-OA*<O]OH*\'YNXV^$IR_V^@KP?F[C;X2G+_;Z"O!^;N-OA*<O]OH*\'Y
-MNXV^$IR_V^@KP?F[C;X2G+_;Z"O!^;N-OA*<O]OH*\'YNXV^$IR_V^@KP?F[
-MC;X2G+_;Z"O!^;N-OA*<O]OH*\'YNXV^$IR_V^@KP?F[C;X2G+_;Z"O!^;N-
-MOA*<O]OH*\'YNXV^$IR_V^@KP?F[C;X2<?Y.SQ?I*Q'G[_1\D;X2<?Y.SQ?I
-M*Q'G[_1\D;X2<?YNHJ]$G+^;Z"L1Y^\F^DK$^;N)OA)Q_FZBKT2<OYOH*Q'G
-M[R;Z2L3YNXF^$G'^;J*O1)R_F^@K$>?O)OI*Q/F[B;X2<?YNHJ]$G+^;Z"L1
-MY^\F^DK$^;N)OA)Q_FZBKT2<OYOH*Q'G[R;Z2L3YNXF^$G'^;J*O1)R_F^@K
-M$>?O)OI*Q/F[B;X2<?YNHJ]$G+^;Z"L1Y^\F^DK$^;N)OA*<O]OH*S&8ZBLQ
-MF.HK,9CJ*S&8ZBLQF.HK,9CJ*S&8ZBLQF.HK,9CJ*S&8ZBLQF.HK,9CJ*S&8
-MZBLQF.HK,9CJ*S%FF:&^$J.IOA*CJ;X2HZF^$J.IOA*CJ;X2HZF^$J.IOA*C
-MJ;X2HZF^$J.IOA*CJ;X2HZF^$J.IOA*CJ;X2HZF^\IAEF:&^\OCH7L<[X1XG
-MN^@#CS#55QZ/SR[CT]=7S/5;[J[Z^._T"Y>O#NL_$1#MIP%RA6LX)ES`GQN+
-MUFL8W#B&8U'.W6<8[V+]1,*_/@A<;UR__?N['&7ISN='@'_C^N;]+4I_/^:B
-MF6_.RSOSED6$FW,O.UW?U]]\ZUY_^>9[#_;/^W3GVSMWN2?;BMJCK%>'=+I_
-M>O/X["CFVSM/U3_63R:;)^&^>.ID*^;;.X_],W!/'6FXXKFH3[T3>#'?WEFC
-M5'WK\L&UN1O/[MPGX'[_`*XR_N3-=YYM*U=W_O[!)5PWW^RYKSPM[4[3:;*<
-M$T=W[+T2H88[^CLR'RYO_WIXNX#][O#?WX;U+7>>Q=-'^H54]8KY+N^G5+IU
-MHF&OV[S`Y=;5\]]7VM*L>DWXL#QUI%](5N^\5"]Q59NJ]]2I.\'QJO:K-5QK
-M6[UROFHLPI/'?Z=?N+P^K/\L@$4`-%MAX6\I:'=V>#C#L\/#&9X='L[T[/"`
-MAF>'AS,\.SR<X=GAX4S/CL+?,-+N(N[AL'QCKBLWUOX+Q&H9R<OQY?#S]+W"
-M_WRQ2G?F').7_F<NXD]OQF!X$?=PSU[$QR&9+'\>)&MX$?=PIA?QPM^],_OL
-)_ZT-&`6T90``
+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
+'I$_:M&4`````
`
end
diff --git a/usr.bin/mkimg/tests/img-63x255-512-gpt.qcow.gz.uu b/usr.bin/mkimg/tests/img-63x255-512-gpt.qcow.gz.uu
index 4753ee6..36b9189 100644
--- a/usr.bin/mkimg/tests/img-63x255-512-gpt.qcow.gz.uu
+++ b/usr.bin/mkimg/tests/img-63x255-512-gpt.qcow.gz.uu
@@ -1,6 +1,6 @@
# $FreeBSD$
begin 644 img-63x255-512-gpt.qcow.gz
-M'XL("+HS(E0``VEM9RTV,W@R-34M-3$R+6=P="YQ8V]W+F]U=`"MG<MN7-F1
+M'XL("-EQ+ED``VEM9RTV,W@R-34M-3$R+6=P="YQ8V]W+F]U=`"MG<MN7-F1
M1>?U%5=OB9*HC(C[U-MNM`'/RH9[UH.ZKQQU&]ES?7PSR?,@(_=6V!!51$$%
MX6YD'BTNJE2KC@Z'NV]-TTG3]DT[-<>EN?GG]"'-O7]X^-'\^-M?_GI]_]N/
MW^[&Y/"3I]P_M]I(FGNP]><ZI^>GUN8P_0MS-Q]P[MZKLW_CU=U[LY=S5[_=
@@ -117,16 +117,16 @@ M_LY<?_<MSQ7NT/UWQOH[<_W=M\3=M\H=\AWK[\SU=]\2=]\J=\AWK+\SU]]]
M.UV<'?(=Z^_,]7?E[.H<\AWK[\SU=V`.^8[U=^;Z.S"'?,?ZNS9_Q\U]KW/`
M=RWK[UK7WWW/<Y4[X+N;IS!WK>OOOB?NOF?NV@-^BORYQ^[-?L^]\7690W_>
M=GDJF+OW[<=O5W>#Z+ZJMF2`T>O[P[\^=%_5K[R^[O;\6FT.,_@[_X$??[Y^
-M^%<9O+T[Z-\8S*_PX5Q^P]W=W4&WT=1^X\YC^CC(_3<\UNOTP!M^<GUO#OW9
+M^%<9O+T[Z-\8S*_PX5Q^P]W=W4&WT=1^X\YC^CC(_3<\U.OTP!M^<GUO#OW9
MS+]R?NBZGY\-=ETSSQ>#_Y5?W^UU/VW7M'W33NDBQU::3INN+7.W[[5;[[^^
-M__S+7YO?__3W?YS'_KN^W=OK?G9MAO7V#Q_8W*L3^G9_^+=[-W?[Y7OPIYWG
-MC,X]P7.W7[Z[G\RA#S[7_NRI@])7=_%S>S?7'1X^-=Y_:NR:49O^YM^&9CKW
-M/P_FT!\?_RODW=X<L/3GG]O^YA=XTJS'\W>V_OR'[S;CS:?)W7^:T=O_EVEJ
-M!CG_7W;GG]M__NWZGW=C[Z__[VUZ?7<W!PC^X#_`3N_NY@!&Q"%GB_SM-@_G
-MP*_T?NWTSK]>6;I'.[TIP8(^^`_0TYOO3@\?TOE%P4^9'_>O$;T_!WZ]\DNG
-M=_M_-9Z_QL[@[_P'?OQ^_?"ON\$V#3[:*VP/_?J(GQWGN4?\[#C//>)GQWGN
-M43\[SH./^-EQGGO$SX[SW"-^=ISG'O6SXV;P]O<<'^F+^'GNS%YKS;PVZ]#T
-M_HLX^W+\XS^NK_\7O-V[WW-D7_I_\D4<_V3LC_A%_#SW\R_B/?VYS=_<FWW$
-7+^+GN4?](MX>AAN9_O;_@'C+'O6L````
+M__S+7YO?__3W?YS'_KN^W=OK?G9MAO7V#Q_8W*L3^G9_^+=[-W?[Y?OBM/.<
+MT;DG>.[VRW?WDSGTP>?:GSUU4/KJ+GYN[^:ZP\.GQOM/C5TS:M/?_-O03.?^
+MY\$<^N/C?X6\VYL#EO[\<]O?_`)/FO5X_L[6G__PW6:\^32Y^T\S>OO_,DW-
+M(.?_R^[\<_O/OUW_\V[L_?7_O4VO[^[F`,$?_`?8Z=W=',"(..1LD;_=YN$<
+M^)7>KYW>^=<K2_=HIS<E6-`'_P%Z>O/=Z>%#.K\H^"GSX_XUHO?GP*]7?NGT
+M;O^OQO/7V!G\G?_`C]^O'_YU-]BFP4=[A>VA7Q_QL^,\]XB?'>>Y1_SL.,\]
+MZF?'>?`1/SO.<X_XV7&>>\3/CO/<HWYVW`S>_I[C(WT1/\^=V6NMF==F'9K>
+M?Q%G7XY__,?U]?^"MWOW>X[L2_]/OHCCGXS]$;^(G^=^_D6\IS^W^9M[LX_X
+71?P\]ZA?Q-O#<"/3W_X?EY=\._6L````
`
end
diff --git a/usr.bin/mkimg/tests/img-63x255-512-gpt.qcow2.gz.uu b/usr.bin/mkimg/tests/img-63x255-512-gpt.qcow2.gz.uu
index 26ffd0b..571ea18 100644
--- a/usr.bin/mkimg/tests/img-63x255-512-gpt.qcow2.gz.uu
+++ b/usr.bin/mkimg/tests/img-63x255-512-gpt.qcow2.gz.uu
@@ -1,26 +1,26 @@
# $FreeBSD$
begin 644 img-63x255-512-gpt.qcow2.gz
-M'XL("+`[(U0``VEM9RTV,W@R-34M-3$R+6=P="YQ8V]W,BYO=70`K9A+;YPP
-M$(#O^15.WTT:BL<VC[Z3-"OE4B55>VL/+(]3%:EWVM]>C`T&,P/)UKMHE<B:
-M3V/SS=@0Q^;#F.),)DSFK-FS[G][`9O\,[]8>[N[CJ:?]LC`>$Q$(0-2C+@9
-MZ]+A@,+%?#G`<=PD.X'@8(A:@K9PDLQN;0#!G1SU2]??C,R+$(<`#8Z\&0?E
-M!R8_/T(>F!^$SD_@ZZ>&.'\@6<]/F/S\J)3"99LX0*)R"E=LX@02M:=PY29.
-M(E$5A:LW<0J):@@<WU"EPR5(%*=PL(E+D2A!X>0F+D.B*._XMG<Y$D5YQ[>]
-M*Y`HRCN^[=T>B:*\X]O>E4@4Y1W?]JY"HBCO@/"..5R-1%'>@>?=L<4]<K@&
-MB:*\`\^[QQ;W9,1Q+(KR#CSOGEK<,X=#^AU0WH'GW7.+>^%P2+\#RCOPO'MI
-M<2<.A_0[H+P#S[M3BWOE<$B_`\H[\+P[6WC'D7X'E'?"\^ZU9<4.A_0[07DG
-M/.^XQ8'#(?U.4-X)SSMA<=+AD'XG*.^$YYVRN,3AD'XG*.^$YUUJ<9G#(?U.
-M4-X)S[O<XMXX'-+O!.6=\+Q[:W'O'`[I=X+R3GC>O;>X#PZ']#M!>2<][SY:
-MW">'0_J=I+R3GG?G%G?A<$B_DY1WTO/NTN(^CSC`HD;OXAB_+.YJ4;.`]#N9
-MW!.W6^+HAY5#CK/2';<Y\DL/K`"SAP/)O5::<TJX"2LS86U5@?S2`^U%-/^.
-MP+YV'P`<,ISC[(25J5WSP%C7K&GL95;*!F>3`P(RX>-H@JL"KU]?;@\`*L6*
-M8@'\/N37EUM77^;=0&>WZIN!`J;DB.OGJLII?E>[:W9S_O6;AOUPT^W+3>-J
-M_;!4)%YVG)KNU1?$/F7*+6W\U1YP@L*-QS(/IX\7:;6"PR[6_B%P<BUJ?.EP
-MCWMK<"J>1TW;%LL4RX`E):L*$O=KADL"FR?U\#YA:<F26K]/*AO]1Y7HIS26
-M=65BMFWHSU@Y2[D^NW7`]NXVNC.PL^CWJ<U/<FL$=M$#U.I)6#-")[4Q73;'
-M8:^1_FOU=%_>JV"KEUM9L(L>(%>O,*N'+Y)."BV9=EBUH>`&W#[PZB5ZN*N/
-MKG\O?^F!]B::?PU06F"P#&72E`&K0^,"5H?&!:P.C0M:'1H8L#HT+F!U:%S`
-MZM"XH-71`>LXW":N<=J]/&.J8KED335/@]R.V^@G.MT:UK;^E4T<OQEUP$U<
-BXU8W\;0F)VL_?[W)!MS$-2[H)BY3??P^^@=.=Z`2%1H`````
+M'XL("-IQ+ED``VEM9RTV,W@R-34M-3$R+6=P="YQ8V]W,BYO=70`K9A+;YPP
+M$(#O^15.WTT:BL<VC[Z3-"OE4B55>VL/[`*G*E+OM+^]&!N\F!F<;+V+5HFL
+M^30VWXP-:6H^C"G.9,9DR=HMZ_^W%["]?^87ZVXWU\G^ISLR,)X24<B`%!-N
+MQKIT.*!P*5\.<!RWEYU`<#!&+4$AG"2S6QM`<"='P](--Z/P(L0A0(,C;\9!
+M^8')SX^0!^8'L?,3^/JI,<X?R-;S$R8_/RJG<$40!TA42>&J($X@45L*MPOB
+M)!)54[@FB%-(5$O@>$"5'I<A49S"01"7(U&"PLD@KD"B*.]XV+L2B:*\XV'O
+M*B2*\HZ'O=LB491W/.S=#HFBO.-A[VHDBO(.".^8PS5(%.4=>-X=6]PCAVN1
+M*,H[\+Q[;'%/)AS'HBCOP//NJ<4]<SBDWP'E'7C>/;>X%PZ']#N@O`//NY<6
+M=^)P2+\#RCOPO#NUN%<.A_0[H+P#S[NSA7<<Z7=`>2<\[UY;5NIP2+\3E'?"
+M\XY;'#@<TN\$Y9WPO!,6)QT.Z7>"\DYXWBF+RQP.Z7>"\DYXWN465S@<TN\$
+MY9WPO"LM[HW#(?U.4-X)S[NW%O?.X9!^)RCOA.?=>XO[X'!(OQ.4=]+S[J/%
+M?7(XI-])RCOI>7=N<1<.A_0[27DG/>\N+>[SA`,L:O(N3?'+XJX6-0M(OY/9
+M/7&;)8Y^6#GD."O=<9LCO_3`"K!X.)#<:Z4YI\2;L#(3UE95R"\]T%TD\^\$
+M'&KW`<`QPSG.3EB9VC4/C$W#VM9>9J5L<-ZZ`P(RX>-D#U='7K^AW!X`5(I5
+MU0+X?<QO*+>^OLR[@=YN-30#!4S)"3?,5>WV\[O:7+.;\Z_?-.R'F^Y0;AK7
+MZ(>E*O.RX]1TK[X@]BE3;LO5'G&"PDW',@^GCQ=YO8+#+M;](7!R+6IZZ7"/
+M>VMP*IU'[;<M5BA6`,MVK*Y(W*\9+HMLGM3#VXSE.Y8U^GW2KM5_U)E^2F-%
+M7R9FVX;AC%6RG.NS6P_L[FZ3.P,[2WZ?VOPDMT9@%SU`K9Z$-2-T4H'ILCD.
+M>XWT7ZNG^_)615N]TLJ"7?0`N7J563U\D712:,ETXZJ-!3?BMI%7+]/#?7WT
+M_7OY2P]T-\G\:X#2`J-E*+-V%[$Z-"YB=6A<Q.K0N*C5H8$1JT/C(E:'QD6L
+M#HV+6AT]L$GC;>(:I]TK"Z9J5DK6UO,TR.VX2WZBTVU@;>M?V<3QF]%$W,0U
+A;G43SQMRLO;SUYMLQ$U<XZ)NXC+7Q^^C?SXHP2(5&@``
`
end
diff --git a/usr.bin/mkimg/tests/img-63x255-512-gpt.raw.gz.uu b/usr.bin/mkimg/tests/img-63x255-512-gpt.raw.gz.uu
index 2a259cb..34c7c72 100644
--- a/usr.bin/mkimg/tests/img-63x255-512-gpt.raw.gz.uu
+++ b/usr.bin/mkimg/tests/img-63x255-512-gpt.raw.gz.uu
@@ -1,15 +1,15 @@
# $FreeBSD$
begin 644 img-63x255-512-gpt.raw.gz
-M'XL("/G%'50``VEM9RTV,W@R-34M-3$R+6=P="YR87<N;W5T`*V534_#,`R&
-M[_L5WA5$E*1)FIWXD$#B-A#<N/1C/:%)W,M_)VX:UG9Q89+3J*KD^JGM^*VE
-MC`O`:)!5YDX;^@<QO_K-U6:@J?HR8/@^AK``B@",N"88I<9W#@?HNG%+-7A%
-M9VE!J_0\XL1I;<4$UYZ\SC9MF.)$Q*5TN\N`UD)5G0'?4WQZ.`X+QH'9@0[O
-M2S`*K`9K?G%#KK:9QO?X]`S[^]<WA'V<TM4J&%4#1D)30MLMHE-DNG?+="-.
-MHY=95COA"A*WS>.*>+8T+K=IG%GSBCWTO[.-."OG7G[JY2UX#:Z!MB)QGS.<
-M8^X\@^;:0=F`.X!5T'3XT#I0*L079.('2*AO"W('I0)=([`_OHACA-V(K^LQ
-M/J/&CLAMVD!5S^BUCL"@_D@7YKB"NWH>JV?9JK<;FR6W:0-9O2I6+U\D4C)]
-MJEI22,+5S-5S:`[Z"/_O\SMMZ/=B?D6@&8%L$8;F<XSJ0!RC.A#'J`[$L:H#
-M@8SJ0!RC.A#'J`[$L:HC`+WD&^*(&X:X@;*%MH!B.<2I<=R+;W&;2=?KM=&_
-F,L3SA^$9ASCBUH=X02:;UB)9QB&..-8A'H"5E)L?B^NWCH@+````
+M'XL("-IQ+ED``VEM9RTV,W@R-34M-3$R+6=P="YR87<N;W5T`*V52T_#,`S'
+M[_L4WA5$E*1)EIUX2"!Q&PAN7/I83V@2]_+=B9N&]1$7)CF-JDJN?[4=_VLI
+MXP(P&F29N=.&[D%,KVYSM>EIJKH,&+Z/(<R`(@`CK@Y&J?&=XQ':=MA2]5[1
+M61K0*CT/.'%>6S'"-6>OQ:8-8YR(N)1N>QG06BC+!?`]Q:?[X[!@')@]Z/"^
+M!*/`:K#F%]?G:NMQ?(]/SW"X?WU#V,<Y7:V"4=5@)-0[:-I9=(I,]VZ>;L1I
+M]%I4.^$*$K?-XXIXMC0NMVF<6?.*/?2_LXTX*Z=>?NSE+7@-KH:F)'&?$YQC
+M[CR#YLK!K@9W!*N@;O&A<:!4B"_(Q/>04-\&Y!YV"G2%P.[T(DX1=B.^KH?X
+MC!HZ(K=I`U4]H]<Z`H/Z(UV8X@KNZGFLGF6KWGYHEMRF#63UREB]?)%(R72I
+M:DDA"5<Q5\^A.>@C_+^7=]K0'<3TBD`S`-DB#,WG&-6!.$9U((Y1'8AC50<"
+M&=6!.$9U((Y1'8AC54<`>LDWQ!'7#W$#NP::`HKY$*?&<2>^Q6TF7:_71O_*
+F$,\?AF<<XHA;'^(%F6Q:LV09ASCB6(=X`)92;GX`")Q24X@+````
`
end
diff --git a/usr.bin/mkimg/tests/img-63x255-512-gpt.vhd.gz.uu b/usr.bin/mkimg/tests/img-63x255-512-gpt.vhd.gz.uu
index b496241..833f43b 100644
--- a/usr.bin/mkimg/tests/img-63x255-512-gpt.vhd.gz.uu
+++ b/usr.bin/mkimg/tests/img-63x255-512-gpt.vhd.gz.uu
@@ -1,23 +1,23 @@
# $FreeBSD$
begin 644 img-63x255-512-gpt.vhd.gz
-M'XL(""4UQ%4``VEM9RTV,W@R-34M-3$R+6=P="YV:&0N;W5T`*V82X_3,!#'
-M[_LI!B%Q6$3D.+:37(I`6B1N"P+MA4OL)*L**(]R6(GL=\?C.`\G<:!B6BMJ
-MY<XO_WEX[(:Q_@6@,E`MJ`:4Q,^Y`%5"7@#823^XNZ;^*W3FVZDQOXX/B7]U
-M5STL97.KT!SM>0;"WB0'7N%-5(V?H1LPR=.;^^OCU_L!QSV.>Y#,T2KCH/3J
-M/GD-17\?A[L[\L\.^3BIR];J)JO>P;:%K)W](AO4/;KKR[FSPEK9W^.04.3`
-MQ#2"+\'$Y.PB=I(MK&8RMX+*)F>W<&K/ZA+<]97/15\JMC!R>V6@4L@Y?K9E
-M,\1A-6RI/)R_5S_/S4(?CY2*FB5C.;<3/>Y+A0\_]@H$"MQS%QSEO,1ME,I_
-M14^%=D-V;1"8'";XX+X=]OXL6!E.*!OTJ93MQ#R>C*B^"O4)NQ*JC6M\HGN=
-MA.\1J/5EP"&"(6Y,B#88/[=2FV;RJ"\2;VQ2R)IX0@ZS_.J:.+^ZO0PH)535
-M"OAQT&=<.B0(!:+$PK#-0:0@.4@QXISOTLSUW;QY"[>OWG]`V*?)78/E8MNF
-MK36E(-<+=>N5YG$\:7]O+#:#B\TF9!'M`9=%HW?87+L&%YMN=G!;(XX3>U;C
-M7O(/N>UQDH56Q=RJD+A_*`-U%<5]"7#4?;G!:6VS:G`+ERD8MY?7"M+4ZK/+
-MI'`0#KP&9C=VNPMK!':G=\FIA[U(?CSW^IK45\36B$_$HM?PO8I`47]Q%T(<
-M=5]N"HR>)(M>Z8ME:\0GHM&K^NAM!PE%;2W=<5=+DB<A3M-&+W7'1[L^;/]>
-M7^,3W6T2OGL@]]L0V;[&?2,E4R@\D$RA\.N74&$J=I-Y:9:55TCFLO)E0Z8P
-MKPO*'H@XPAZ(.,(>B#C2'HA`PAZ(.,(>B#C"'H@XTAZ8UZ4K9J*C&N*P]KB"
-M4N._W<*$,J*'KNY9<M<+.\S=+?N_T+$#WLY1;3,9)2,\JB%N]ZBFVYBS(V?A
-M+.%1#7&D1[7"]SVBIRV((WS:@CC"IRV((WS:@CC"IRV((WS:@CCJ4K%'EZL_
-(<L>MI:(3````
+M'XL("-IQ+ED``VEM9RTV,W@R-34M-3$R+6=P="YV:&0N;W5T`*V8S8^4,!3`
+M[_M7/&/B88VDE+;`98PF:^)M-9J]>*%\;";J^#$>-I']W^TK+5"@Z,0WTQ`F
+MY?UXW^V4L>$#H#)0':@6E,3[7(`J(2\`S*0;W%Y3]Q/Z^MNIK7\='Q+WZ:\&
+M6,KF4J$XRO,,A'E)#KS"EZ@&[Z'WF.3IS?WU\>N]QW&'XPXD<Y3*."B]>D_>
+M0#&\Q^+NCORS13Y.VF5K[2:IP<"N@ZR;/9%Y[1[M]>7<6&&DS/,X)!0Y,#&-
+MX$<P,1F[\)UD"ZF9FEM.99.Q6SBU)W4)[OK*Q6)(%9,8N;DR4"GD'.]-VG@_
+MK(9)E8?S]^KGN5WHQR.IHF;!6,[M>(^[5.'^8:>!0`7WS`5+.2]Q&ZGR7]Y3
+MH9R/KG$"DWZ">_/-,.]G065819G73Z5LQ^?Q8$3UJU`_82JAVKC&)_K72?@=
+M@5I?!O0>#'%C0'2-_K.5VK:314.2.&'S2-;&`W*8Q5<WQ/'5W65`*:&J5L"/
+M7K_:AD."4"!*3`S3'$0*DH,4(\[:+NNY?C=OWL+MJ_<?$/9I,K?&=#%MT^2:
+M4I#KA7;K2G,XGG2_-XJMQF);>]OCLJCW#INU6V.QZ78'MS7B.+$G-:XE_Q#;
+M`2=9*%7,I0J)ZX>JH:FBN"\!CKHOMSBM351K7,)E"K5=RQL%:6KT,V526`@'
+MW@`S"[M9A34"^].[Y#3`7B0_GCO]VM1EQ-:(3\2\U_*]C$"E_F(NA#CJOMP6
+MZ#U)YKW2)<O6B$]$O5<-WMMV$BJU5;KCJI8D3T*<IO5>:K>/ICY,_UY?XQ/]
+M;1)^!R!WRQ#9NL9=(R734#@@F8;"U2^AAJG8#>:E459.0S*3E4L;,@WSIJ#L
+M@8@C[(&((^R!B"/M@0@D[(&((^R!B"/L@8@C[8%Y4]ID)MJJ(0YSCRLH-?[;
+M+>I0C>BFJW^6W`V*'>;FEL-?Z-@&;V>KMAF,DA%NU1"WNU737<S8D;,PEG"K
+MACC2K5KA^A[1:0OB"$];$$=XVH(XPM,6Q!&>MB".\+0%<=2I8K8N5W\`!A+Z
+%KZ(3````
`
end
diff --git a/usr.bin/mkimg/tests/img-63x255-512-gpt.vhdf.gz.uu b/usr.bin/mkimg/tests/img-63x255-512-gpt.vhdf.gz.uu
index 40aef66..40937fd 100644
--- a/usr.bin/mkimg/tests/img-63x255-512-gpt.vhdf.gz.uu
+++ b/usr.bin/mkimg/tests/img-63x255-512-gpt.vhdf.gz.uu
@@ -1,19 +1,19 @@
# $FreeBSD$
begin 644 img-63x255-512-gpt.vhdf.gz
-M'XL(")<EAE4``VEM9RTV,W@R-34M-3$R+6=P="YV:&1F+F]U=`"ME\V.U#`,
-M@._S%$;<%A$E:9*FIP&D!7%;$(@+E_ZDJQ$P"`DD#GUX[*;=23I)85%:J\K(
-M]5?;M>,IY_X`4!)XF[CF%=,K%I_3X>8PTT3W."`^GUS8`!D"/:Y')9=TCW,P
-MCHMP,5MY8Q3%+^L9QR['"Q;@AM!J(WE%B&,>MX8[/@ZH-;3M%?#CZI^<7X<&
-M94`U(/%^C$V`EJ#5`VZ.7?>A?[>OW\+=R_<?"/;Y$JX4J+0.J@:XAEIOO!/9
-M<!OV*P[7X]`ARGXU)H.MLKCC-GL>5Q%NV,&E)(]3>U:^AO[MW7J<YK&5#:VL
-M!BO!]#"T6=S7"&<*5YXB=6>@[L$XT`+ZD1:#`2'0/VP3.T,DR`%X`[4`V1%P
-M.K]C9P][SGX\6_Q38JF(E.05N>PIN5<1Y-1?PH485Y7.GJ7LZ6+9:Y9B24E>
-MD<U>Z[.73A(YE6I=Q"U98T]B7%<X>X;4V!^X?U]?\XKICL6G!ZH%6,S#>AS[
-M@MU!N(+=0;B"W4&XHMU!P(+=0;B"W4&X@MU!N*+=@4#'RPUQPE'MC<BJH>V@
-M<[$;V7$\L3>+8\<H7"?W1O_.$$^_#%=PB!-N=XB/+AOL>FR"+3C$"5=TB-OE
-M[[>IP,S]932M:P4&6\J&0'FIF1G8?S^[_N?I=Y@]P@E?$4DA>UE189H:9$L/
-M,0.M`_^>WM[?G+[=KSBY1+4F4-=D56'.NJMP;1SNIY/\LO4NL4W9*'OBJIPW
-MV\`QQ*F'8/'3`+<8KBX2_8@4R4(FW%PJX<W_^VX]KG2IX*?!X0]&S!$YLPT`
+M'XL("-IQ+ED``VEM9RTV,W@R-34M-3$R+6=P="YV:&1F+F]U=`"MET^/U2`0
+MP._O4XSQMD8"%"@]O:S):KRM1N-E+_T#FY?59TPT\=`/+U/H>Z6%ZAI:TM!,
+MY]>9889I*?4'@.!`V\0U+QC?D/@<#S>'B<:ZYP'=^]&$%9`XH,?U3D@Y/F,,
+M6!L&99.65W;WE0WS&4>NQY$L<,-%:SOR@B6.>-SLKGT>4$IHVPWP\VP?GY9#
+M@E`@&N#N>0J"@>0@Q04W^2[[I7UW;]_#_>W'3PA[N+K+F1-J`U4#5$(M5]:Q
+MK+L-^16[ZW'.H$2T9UR5Q1W7T?.X"G'##BXU\CBQI^5SZ-_6UN,DC;7T4DM+
+MT!Q4#T.;Q7V-<*IPY@D4=PKJ'I0!R:"W.!D4,.;L<V6B)P@'/@!MH&;`.P2.
+MYP_D[&&OR8]7P3[!0D:D1EZ0BY[@>QF!1OW%78AQ5>GH:8R>+!:])B1+:N0%
+MV>BU/GKI(*%1J=)UN!`U\B+&=86CIU#LZL/MW]MK7C#>D_CT0!&`Q2RLK>T+
+M5@?B"E8'X@I6!^**5@<""U8'X@I6!^(*5@?BBE:'`QI:KHDC#G//.E8-;0>=
+MB<W(MN.1O`N&'2-W#=]K_3M-/+T8IF`31]QN$[<FZ^Q\K)PMV,015[2)Z_#Y
+MK2I04WTIB?-:@'(EI9=`?LV9"=A_/YO^Y^GW,GJ(8SXCD@/U>86)J6K@+;Y$
+M#3A?V/?R[O'F].UQQO'@U1Q`6:-6Y6+6;=S5L;M?3OQI;5UBF])1]-@FG5?;
+MP'&)$Q=GW:^!VV*HN([H)A(D$QEQ4ZHL'_[?M?6XTJGB?@T.?P"E;4<,LPT`
!````
`
end
diff --git a/usr.bin/mkimg/tests/img-63x255-512-gpt.vmdk.gz.uu b/usr.bin/mkimg/tests/img-63x255-512-gpt.vmdk.gz.uu
index ea3a546..3ff70e9 100644
--- a/usr.bin/mkimg/tests/img-63x255-512-gpt.vmdk.gz.uu
+++ b/usr.bin/mkimg/tests/img-63x255-512-gpt.vmdk.gz.uu
@@ -1,88 +1,88 @@
# $FreeBSD$
begin 644 img-63x255-512-gpt.vmdk.gz
-M'XL("/K%'50``VEM9RTV,W@R-34M-3$R+6=P="YV;61K+F]U=`"M7%UOW-81
-M?<^ON%4>$K3H@F?Y_6"@294`01'`C=WFI0]=?C5"'=F5A:(&]L>7E[SGZE!:
-MBG0T"NW=,6?.WIE+SBIG#I@D\X]S6>.RS&6=RPN7P(W_-!\N21^,\3A6/''^
-MR_6/?S_PY^O#X?S%#`8?)2%(%$Z,Q>><#X]^"'=\+FIQ8CR.FW"ICVJ>!`:X
-MX\J)5;AL/'F\%,+5G:;3G7\C<"X"N05<?B&GU62?6]WOOPC%\^M+_1K&[2UJ
-M5Z:N:(+IBGRR4U<>IW.)*T>G803\TEW??/RWN^X_MG<W'^[?A_4=_=Z.SEGA
-M_8O6(XR)E85_XT]XN-I#%+U+.Y?"GW;GN^]OWO6'__9W'V_>W[X"TSWZO<U2
-ME]5^.=X_>3@6AO^0Q!7PG^'.?_[A^E6X<I/#A],=X7S4N)#QL\<\%+<HG/_S
-M])A6U]_>>\0A_,35^;T-Q<FGS\[\FSQS9>VFY>0>^SB>[D+*4^W:N_YTW[_]
-M]*%_=?7K^]M8.[^WOF3U!%1-A4I=GGJHD)HO7^X1_64S[9H[O[NY_^6F?3.F
-M^;&_.GSI"%?XVHT;6(5US5F/(<7JSH[+/G_WO_LQ7]>%G;TAW+2(*8GQL_.C
-MRTN/-6[@M!5'EV;^W?A/XX+'3#)X)W=^?WOXZ>?Q%O?%>O/ZFY\(5XU1H^>X
-MP#%D3&B14S[GGS^^+-WYS7?NRB?Y]I=^N@()5\^WF7>>]P&3>?1O0M5F>-_$
-M,G]BVEEW?;H_N6]/'_O#E]?7W\:=/?EDL^D8E]9[E&*&]M?W5,ZQ</-.SQL]
-M;477-8=3=_IPW]_Y[8U;T?@2=2%3OZW9PS8N/Z><=FKP5XP[OW)7-]VXIQ[V
-M7_W[7PG7SI?QN`Y_2=138.K?C%?/!-^'3YBO&+]-'JZ_O_MT:#^]N[GMQAO-
-MO2)<-]=N7$Z:A$7%-3U>5/S8L797R</21FS"];Y$\Z*J<&.,6/,Z'JK@KYC<
-M'Z$*YT^'7_I3-R[+71WS_"INQ?!X*[1$CZHP;_18BWDKPL(^'3[V;8!+D["!
-MPZ(X\YI<6K@T#2M:-M#[]W?3THKT2OMQ^OB[[*7].'ORE5K^1L`9SGI]1?+H
-M^RS5N$R,?`'HO\62\<^?QC^O']97^/45XEEJ5"5&O8#[YPCQX6FZA;_$3N+9
-M:%0K1K>G>H5O;;UX#H^KQU\U(._7X?B[`#U3C<K$R!=P:[7+0^WH66I4)4:]
-M@%NK71%J1\]&HUHQNEW)EJ%V]!PTRK_P5RDD.WXM*ZI0.WJF&I6)D2_@UFI7
-MA]K1L]2H2HQZ`;=6NU.H'3T;C6K%Z'8EVX3:T7/0*/_"!@%YOP[7AMK1,]6H
-M3(Q\`;=6NR[4CIZE1E5BU`NXM=KUH7;T;#2J%:/;E>P0:D?/0:/\2R:UR[;@
-MRB34CIZI1F5BY`NXE=J5['?T+#6J$J->P*W4KF2_HV>C4:T8W:YDV>_H.6B4
-M?\FE=ODF'/L=/5.-RL3(%W!KM6._HV>I4948]0)NK7;L=_1L-*H5H]N5+/L=
-M/0>-\B^%U*[8A&._HV>J49D8^0)NK7;L=_0L-:H2HU[`K=6._8Z>C4:U8G2[
-MDF6_H^>@4?Z%OP1!WJ_#L=_1,]6H3(Q\`;=6._8[>I8:58E1+^#6:L=^1\]&
-MHUHQNEW)LM_1<]`H_T)"!O)^%:Y*0NWHF6I4)D:^@%NI7<5^1\]2HRHQZ@7<
-M2NTJ]CMZ-AK5BM'M2I;]CIZ#1OF76FI7;\*QW]$SU:A,C'P!MU8[]CMZEAI5
-MB5$OX-9JQWY'ST:C6C&Z7<FRW]%ST"C_PO^%@KQ?AV._HV>J49D8^0)NK7;L
-M=_0L-:H2HU[`K=6._8Z>C4:U8G2[DF6_H^>@4?Z%_"/D_3H<^QT]4XW*Q,@7
-M<&NU8[^C9ZE1E1CU`FZM=NQW]&PTJA6CVY4L^QT]!XWR+ZW4KMV"JY-0.WJF
-M&I6)D2_@5FI7L]_1L]2H2HQZ`;=2NYK]CIZ-1K5B=+N29;^CYZ!1_J63VG6;
-M<.QW]$PU*A,C7\"MU8[]CIZE1E5BU`NXM=JQW]&ST:A6C&Y7LNQW]!PTRK_T
-M4KM^$X[]CIZI1F5BY`NXM=JQW]&SU*A*C'H!MU8[]CMZ-AK5BM'M2I;]CIZ#
-M1OF706HW;,*QW]$SU:A,C'P!MU8[]CMZEAI5B5$OX-9JQWY'ST:C6C&Z7<FR
-MW]%ST*A$IF>0]ZMPIV2N7?1,-2H3(U_`K=3N%/I=]"PUJA*C7L"MU.X4^EWT
-M;#2J%:/;E6SH=]%ST"A?,N'OL$EIG4*_@_!W4/X.PM]AD[\[A7X'X>^@_!V$
-MO\,F?W<*_0["WT'Y.PA_MR/9T.\@_!V4OX/P=]BDM$ZAWT'X.RA_!^'OL,G?
-MG4*_@_!W4/X.PM]AD[\[A7X'X>^@_!V$O]N1;.AW$/X.RM]!^#ML4EJGT.\@
-M_!V4OX/P=]CD[TZAWT'X.RA_!^'OL,G?G4*_@_!W4/X.PM_M2#;T.PA_!^7O
-M(/P=-BFM)@FU$_X.RM]!^#ML\G<-^YWP=U#^#L+?89._:]COA+^#\G<0_FY'
-MLNQWPM]!^3L(?X=-2JMAOQ/^#LK?0?@[;/)W#?N=\'=0_@["WV&3OVO8[X2_
-M@_)W$/YN1[+L=\+?0?D["'^'34JK8;\3_@[*WT'X.VSR=PW[G?!W4/X.PM]A
-MD[]KV.^$OX/R=Q#^;D>R['?"WT'Y.PA_ATU*JV&_$_X.RM]!^#ML\G<-^YWP
-M=U#^#L+?89._:]COA+^#\G<0_FY'LNQWPM]!^3L(?X=-2JM-0NV$OX/R=Q#^
-M#IO\7<M^)_P=E+^#\'?8Y.]:]COA[Z#\'82_VY$L^YWP=U#^#L+?89/2:MGO
-MA+^#\G<0_@Z;_%W+?B?\'92_@_!WV.3O6O8[X>^@_!V$O]N1+/N=\'=0_@["
-MWV&3TFK9[X2_@_)W$/X.F_Q=RWXG_!V4OX/P=]CD[UKV.^'OH/P=A+_;D2S[
-MG?!W4/X.PM]AD])JV>^$OX/R=Q#^#IO\7<M^)_P=E+^#\'?8Y.]:]COA[Z#\
-M'82_VY$L^YWP=U#^#L+?89/2ZI)0.^'OH/P=A+_#)G_7L=\)?P?E[R#\'3;Y
-MNX[]3O@[*'\'X>]V),M^)_P=E+^#\'?8I+0Z]COA[Z#\'82_PR9_U['?"7\'
-MY>\@_!TV^;N._4[X.RA_!^'O=B3+?B?\'92_@_!WV*2T.O8[X>^@_!V$O\,F
-M?]>QWPE_!^7O(/P=-OF[COU.^#LH?P?A[W8DRWXG_!V4OX/P=]BDM#KV.^'O
-MH/P=A+_#)G_7L=\)?P?E[R#\'3;YNX[]3O@[*'\'X>]V),M^)_P=E+^+8CK(
-M>X%S\Y\`UR=S[2Y*RB_\4ZR=N[BZWEH?.`Q[`=/+Z?H]CNDB>789G[\^3/K%
-M./.8J_[;`&<XX_HASM^E3`]QGZNO1)R_\WB1OA)Q_L[C1?I*Q/D[CQ?I*Q'G
-M[R;Z2L3YNXF^$G'^;J*O1)R_F^@K$>?O)OI*Q/F[B;X2<?YNHJ]$G+^;Z"L1
-MY^\F^DK$^;N)OA)Q_FZBKT2<OYOH*Q'G[R;Z2L3YNXF^$G'^;J*O1)R_F^@K
-M$>?O)OI*Q/F[B;X2<?YNHJ]$G+^;Z"L1Y^\F^DK$^;N)OA)Q_FZBKT2<OYOH
-M*Q'G[R;Z2L3YNXF^$G'^;J*O1)R_F^@KP?F[C;X2G+_;Z"O!^;N-OA*<O]OH
-M*\'YNXV^$IR_V^@KP?F[C;X2G+_;Z"O!^;N-OA*<O]OH*\'YNXV^$IR_V^@K
-MP?F[C;X2G+_;Z"O!^;N-OA*<O]OH*\'YNXV^$IR_V^@KP?F[C;X2G+_;Z"O!
-M^;N-OA*<O]OH*\'YNXV^$IR_V^@KP?F[C;X2G+_;Z"O!^;N-OA*<O]OH*\'Y
-MNXV^$IR_V^@KP?F[C;X2G+_;Z"L1Y^_T?)&^$G'^3L\7Z2L1Y^_T?)&^$G'^
-M3L\7Z2L1Y^\F^DK$^;N)OA)Q_FZBKT2<OYOH*Q'G[R;Z2L3YNXF^$G'^;J*O
-M1)R_F^@K$>?O)OI*Q/F[B;X2<?YNHJ]$G+^;Z"L1Y^\F^DK$^;N)OA)Q_FZB
-MKT2<OYOH*Q'G[R;Z2L3YNXF^$G'^;J*O1)R_F^@K$>?O)OI*Q/F[B;X2<?YN
-MHJ]$G+^;Z"L1Y^\F^DK$^;N)OA)Q_FZBKT2<OYOH*\'YNXV^$KVIOA*]J;X2
-MO:F^$KVIOA*]J;X2O:F^$KVIOA*]J;X2O:F^$KVIOA*]J;X2O:F^$KVIOA*]
-MJ;X2O:F^$D.2&.HK,9CJ*S&8ZBLQF.HK,9CJ*S&8ZBLQF.HK,9CJ*S&8ZBLQ
-MF.HK,9CJ*S&8ZBLQF.HK,9CJ*S&8ZBLQF.HKCTF2&.HKCT^>=;P3[FFRLS[P
-M"%-]Y?'X[#(^?WW95+_YZ:I/_UX_<?[VL/PO`J+Y/$"N<`G'A#/X>V/6>O6]
-M&X9PS,JYAPSC4ZPO)/SU0>`ZX_KMW]_YR'-W.CT!_!O7-^UOEOOG,6?U]'!>
-M/IDWSR+<E'O>ZOJ^^_X']_J;G]YZL'\\I#L]WGEH7=VYOO00R]7AF73?/KT[
-MLNGQSF/UC^7%9--5N*\NW6S9]'CGH7L&[M*Q#I<]%_6Y3P+/IL<[:Y2J;UV5
-MN^KHG]_;/7[R[`/0NP5<87SE34^>;0I7MO[YP3E<.SWLN2L\+>VJ\3:9[XFC
-M.W9>B5#"'?T3F0_GV[\>;F>P/Q[^\X>POOG)L[A\K)]8JUYV?.Z*\(O:2-<M
-MX5+KZOG?5YK<K'IUN%@N'>LG5JMWFJNW\JTV+NK2K3O"\5OM=TNXQKAZDRI_
-M%IX\_7O]Q/GU8?G?#)@%0+,59OZ1@G9WAX<SO#L\G.'=X>%,[PX/:'AW>#C#
-MN\/#&=X='L[T[LC\`R/MOL0]G+_VNK'FM7^&?[Z\:M:_CL?U_?QF6MA7BW0G
-MSG'UJ_^9+_'+F]$;?HE[N&>_Q(=^/=GP\RA9PR]Q#V?Z)9[YIW<F7_P?K`W?
-%E+1E````
+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
+$M&4`````
`
end
diff --git a/usr.bin/mkimg/uuid.c b/usr.bin/mkimg/uuid.c
new file mode 100644
index 0000000..437675d
--- /dev/null
+++ b/usr.bin/mkimg/uuid.c
@@ -0,0 +1,125 @@
+/*-
+ * Copyright (c) 2016 Marcel Moolenaar
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
+
+#include <stdint.h>
+#include <stdio.h>
+#include <string.h>
+
+#include "endian.h"
+#include "image.h"
+#include "mkimg.h"
+
+static void osdep_uuidgen(mkimg_uuid_t *);
+
+#ifdef __APPLE__
+#include <uuid/uuid.h>
+
+static void
+osdep_uuidgen(mkimg_uuid_t *uuid)
+{
+
+ uuid_generate_time((void *)uuid);
+}
+#endif /* __APPLE__ */
+
+#ifdef __FreeBSD__
+#include <sys/uuid.h>
+
+static void
+osdep_uuidgen(mkimg_uuid_t *uuid)
+{
+
+ uuidgen((void *)uuid, 1);
+}
+#endif /* __FreeBSD__ */
+
+#ifdef __linux__
+#include <stdlib.h>
+#include <time.h>
+
+static void
+osdep_uuidgen(mkimg_uuid_t *uuid)
+{
+ struct timespec tp;
+ uint64_t time = 0x01B21DD213814000LL;
+ u_int i;
+ uint16_t seq;
+
+ if (clock_gettime(CLOCK_REALTIME, &tp) == -1)
+ abort();
+
+ time += (uint64_t)tp.tv_sec * 10000000LL;
+ time += tp.tv_nsec / 100;
+
+ uuid->time_low = (uint32_t)time;
+ uuid->time_mid = (uint16_t)(time >> 32);
+ uuid->time_hi_and_version = (uint16_t)(time >> 48) & 0xfff;
+ uuid->time_hi_and_version |= 1 << 12;
+
+ seq = random();
+
+ uuid->clock_seq_hi_and_reserved = (uint8_t)(seq >> 8) & 0x3f;
+ uuid->clock_seq_low = (uint8_t)seq;
+
+ for (i = 0; i < 6; i++)
+ uuid->node[i] = (uint8_t)random();
+ uuid->node[0] |= 0x01;
+}
+#endif /* __linux__ */
+
+void
+mkimg_uuid(mkimg_uuid_t *uuid)
+{
+ static uint8_t gen[sizeof(mkimg_uuid_t)];
+ u_int i;
+
+ if (!unit_testing) {
+ osdep_uuidgen(uuid);
+ return;
+ }
+
+ for (i = 0; i < sizeof(gen); i++)
+ gen[i]++;
+ memcpy(uuid, gen, sizeof(*uuid));
+}
+
+void
+mkimg_uuid_enc(void *buf, const mkimg_uuid_t *uuid)
+{
+ uint8_t *p = buf;
+ u_int i;
+
+ le32enc(p, uuid->time_low);
+ le16enc(p + 4, uuid->time_mid);
+ le16enc(p + 6, uuid->time_hi_and_version);
+ p[8] = uuid->clock_seq_hi_and_reserved;
+ p[9] = uuid->clock_seq_low;
+ for (i = 0; i < 6; i++)
+ p[10 + i] = uuid->node[i];
+}
diff --git a/usr.bin/mkimg/vhd.c b/usr.bin/mkimg/vhd.c
index c4c1d1d..31a527a 100644
--- a/usr.bin/mkimg/vhd.c
+++ b/usr.bin/mkimg/vhd.c
@@ -27,15 +27,14 @@
#include <sys/cdefs.h>
__FBSDID("$FreeBSD$");
-#include <sys/types.h>
-#include <sys/endian.h>
#include <sys/errno.h>
+#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <unistd.h>
-#include <uuid.h>
+#include "endian.h"
#include "image.h"
#include "format.h"
#include "mkimg.h"
@@ -92,7 +91,7 @@ struct vhd_footer {
#define VHD_DISK_TYPE_DYNAMIC 3
#define VHD_DISK_TYPE_DIFF 4
uint32_t checksum;
- uuid_t id;
+ mkimg_uuid_t id;
uint8_t saved_state;
uint8_t _reserved[427];
};
@@ -201,25 +200,10 @@ vhd_timestamp(void)
}
static void
-vhd_uuid_enc(void *buf, const uuid_t *uuid)
-{
- uint8_t *p = buf;
- int i;
-
- be32enc(p, uuid->time_low);
- be16enc(p + 4, uuid->time_mid);
- be16enc(p + 6, uuid->time_hi_and_version);
- p[8] = uuid->clock_seq_hi_and_reserved;
- p[9] = uuid->clock_seq_low;
- for (i = 0; i < _UUID_NODE_LEN; i++)
- p[10 + i] = uuid->node[i];
-}
-
-static void
vhd_make_footer(struct vhd_footer *footer, uint64_t image_size,
uint32_t disk_type, uint64_t data_offset)
{
- uuid_t id;
+ mkimg_uuid_t id;
memset(footer, 0, sizeof(*footer));
be64enc(&footer->cookie, VHD_FOOTER_COOKIE);
@@ -236,7 +220,7 @@ vhd_make_footer(struct vhd_footer *footer, uint64_t image_size,
be16enc(&footer->geometry.cylinders, footer->geometry.cylinders);
be32enc(&footer->disk_type, disk_type);
mkimg_uuid(&id);
- vhd_uuid_enc(&footer->id, &id);
+ mkimg_uuid_enc(&footer->id, &id);
be32enc(&footer->checksum, vhd_checksum(footer, sizeof(*footer)));
}
@@ -261,7 +245,7 @@ struct vhd_dyn_header {
uint32_t max_entries;
uint32_t block_size;
uint32_t checksum;
- uuid_t parent_id;
+ mkimg_uuid_t parent_id;
uint32_t parent_timestamp;
char _reserved1[4];
uint16_t parent_name[256]; /* UTF-16 */
diff --git a/usr.bin/mkimg/vmdk.c b/usr.bin/mkimg/vmdk.c
index 743418b..ce0d7b3 100644
--- a/usr.bin/mkimg/vmdk.c
+++ b/usr.bin/mkimg/vmdk.c
@@ -27,8 +27,6 @@
#include <sys/cdefs.h>
__FBSDID("$FreeBSD$");
-#include <sys/types.h>
-#include <sys/endian.h>
#include <sys/errno.h>
#include <stdint.h>
#include <stdio.h>
@@ -36,6 +34,7 @@ __FBSDID("$FreeBSD$");
#include <string.h>
#include <unistd.h>
+#include "endian.h"
#include "image.h"
#include "format.h"
#include "mkimg.h"
diff --git a/usr.bin/mkimg/vtoc8.c b/usr.bin/mkimg/vtoc8.c
index 2f5cf0f..a7409b8 100644
--- a/usr.bin/mkimg/vtoc8.c
+++ b/usr.bin/mkimg/vtoc8.c
@@ -27,15 +27,16 @@
#include <sys/cdefs.h>
__FBSDID("$FreeBSD$");
-#include <sys/types.h>
-#include <sys/endian.h>
#include <sys/errno.h>
-#include <sys/vtoc.h>
+#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
+#include <sys/vtoc.h>
+
+#include "endian.h"
#include "image.h"
#include "mkimg.h"
#include "scheme.h"
@@ -87,7 +88,7 @@ vtoc8_write(lba_t imgsz, void *bootcode __unused)
be16enc(&vtoc8.magic, VTOC_MAGIC);
be32enc(&vtoc8.map[VTOC_RAW_PART].nblks, imgsz);
- STAILQ_FOREACH(part, &partlist, link) {
+ TAILQ_FOREACH(part, &partlist, link) {
n = part->index + ((part->index >= VTOC_RAW_PART) ? 1 : 0);
be16enc(&vtoc8.part[n].tag, ALIAS_TYPE2INT(part->type));
be32enc(&vtoc8.map[n].cyl, part->block / (nsecs * nheads));
OpenPOWER on IntegriCloud