Module Name:    src
Committed By:   martin
Date:           Fri May  4 16:24:46 UTC 2018

Modified Files:
        src/sbin/gpt [netbsd-8]: gpt.8 gpt.c map.c

Log Message:
Pull up following revision(s) (requested by mrg in ticket #785):
        sbin/gpt/gpt.c: revision 1.74
        sbin/gpt/map.c: revision 1.14
        sbin/gpt/gpt.8: revision 1.53
        sbin/gpt/gpt.8: revision 1.54
        sbin/gpt/gpt.8: revision 1.55
        sbin/gpt/gpt.8: revision 1.56
        sbin/gpt/gpt.8: revision 1.57
        sbin/gpt/gpt.8: revision 1.59

Add note about bootme flag:
        The bootme flag is used to indicate which partiotion should be booted
        by UEFI boot code.

Fix a typo, and make a couple of minor wording improvements.
I resisted the (very weak) impulse to Americanise some spellings ...

Use Fx/Nx.

clarify that alignment is the number of bytes to align to.

Explain what suffixes are accepted when specifying a size.
Spelling

add information about how to boot from gpt.  mostly taken from the wiki.

if a new map entry doesn't fit, be more verbose about the sizes.


To generate a diff of this commit:
cvs rdiff -u -r1.52.4.1 -r1.52.4.2 src/sbin/gpt/gpt.8
cvs rdiff -u -r1.70.4.1 -r1.70.4.2 src/sbin/gpt/gpt.c
cvs rdiff -u -r1.13 -r1.13.8.1 src/sbin/gpt/map.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sbin/gpt/gpt.8
diff -u src/sbin/gpt/gpt.8:1.52.4.1 src/sbin/gpt/gpt.8:1.52.4.2
--- src/sbin/gpt/gpt.8:1.52.4.1	Mon Apr  9 12:54:00 2018
+++ src/sbin/gpt/gpt.8	Fri May  4 16:24:46 2018
@@ -1,4 +1,4 @@
-.\" $NetBSD: gpt.8,v 1.52.4.1 2018/04/09 12:54:00 bouyer Exp $
+.\" $NetBSD: gpt.8,v 1.52.4.2 2018/05/04 16:24:46 martin Exp $
 .\"
 .\" Copyright (c) 2002 Marcel Moolenaar
 .\" All rights reserved.
@@ -26,7 +26,7 @@
 .\"
 .\" $FreeBSD: src/sbin/gpt/gpt.8,v 1.17 2006/06/22 22:22:32 marcel Exp $
 .\"
-.Dd February 15, 2017
+.Dd March 5, 2018
 .Dt GPT 8
 .Os
 .Sh NAME
@@ -132,7 +132,8 @@ The command-specific options can be used
 The
 .Fl a Ar alignment
 option allows the user to specify an alignment for the start and size.
-The alignment may have a suffix to indicate its magnitude.
+The alignment is given in bytes and may have a suffix to indicate its
+magnitude.
 .Nm
 will attempt to align the partition.
 .Pp
@@ -162,6 +163,15 @@ or
 .Sq S
 then size is in sectors, otherwise size is in bytes which must be
 a multiple of the device's sector size.
+Accepted suffix units are
+.Sq b
+to denote bytes,
+.Sq k
+to denote kilobytes,
+.Sq m
+to denote megabytes and
+.Sq g
+to denote gigabytes.
 The minimum size is 1 sector.
 .Pp
 The
@@ -180,15 +190,20 @@ BIOS Boot
 .It Cm efi
 EFI System
 .It Cm fbsd-legacy
-FreeBSD legacy
+.Fx
+legacy
 .It Cm fbsd-swap
-FreeBSD swap
+.Fx
+swap
 .It Cm fbsd-ufs
-FreeBSD UFS/UFS2
+.Fx
+UFS/UFS2
 .It Cm fbsd-vinum
-FreeBSD vinum
+.Fx
+vinum
 .It Cm fbsd-zfs
-FreeBSD ZFS
+.Fx
+ZFS
 .It Cm linux-data
 Linux data
 .It Cm linux-raid
@@ -202,17 +217,23 @@ Windows basic data
 .It Cm windows-reserved
 Windows reserved
 .It Cm ccd
-NetBSD ccd component
+.Nx
+ccd component
 .It Cm cgd
-NetBSD Cryptographic Disk
+.Nx
+Cryptographic Disk
 .It Cm ffs
-NetBSD FFSv1/FFSv2
+.Nx
+FFSv1/FFSv2
 .It Cm lfs
-NetBSD LFS
+.Nx
+LFS
 .It Cm raid
-NetBSD RAIDFrame component
+.Nx
+RAIDFrame component
 .It Cm swap
-NetBSD swap
+.Nx
+swap
 .El
 as aliases for the most commonly used partition types.
 .\" ==== backup ====
@@ -256,8 +277,8 @@ bootstrap code, as installed via
 The
 .Fl L
 option selects the partition by label.
-If there are multiple partitions with the same label, it will use the
-first one found.
+If there are multiple partitions with the same label, the
+first one found will be used.
 .\" ==== create ====
 .It Nm Ic create Oo Fl AfP Oc Oo Fl p Ar partitions Oc
 The
@@ -462,6 +483,15 @@ or
 .Sq S
 then size is in sectors, otherwise size is in bytes which must be
 a multiple of the device's sector size.
+Accepted suffix units are
+.Sq b
+to denote bytes,
+.Sq k
+to denote kilobytes,
+.Sq m
+to denote megabytes and
+.Sq g
+to denote gigabytes.
 The minimum size is 1 sector.
 If the
 .Fl a
@@ -491,6 +521,15 @@ or
 .Sq S
 then size is in sectors, otherwise size is in bytes which must be
 a multiple of the device's sector size.
+Accepted suffix units are
+.Sq b
+to denote bytes,
+.Sq k
+to denote kilobytes,
+.Sq m
+to denote megabytes and
+.Sq g
+to denote gigabytes.
 Using the
 .Fl s
 option allows you to move the backup copy prior to resizing the medium.
@@ -543,14 +582,15 @@ by legacy BIOS boot code.
 See the
 .Ic biosboot
 command for more information.
+The bootme flag is used to indicate which partition should be booted
+by UEFI boot code.
 The other attributes are for compatibility with
 .Fx
-and are not currently used by any
-.Nx
-code.
+and are not currently used by
+.Nx .
 They may be used by
 .Nx
-code in the future.
+in the future.
 .\" ==== show ====
 .It Nm Ic show Oo Fl aglu Oc Oo Fl i Ar index Oc
 The
@@ -676,6 +716,25 @@ nas# gpt show -l wd3
   3907029167           1         Sec GPT header
 nas#
 .Ed
+.Pp
+Booting from GPT on an BIOS system.
+This creates a bootable partition that can be manually installed to.
+Note that
+.Xr sysinst 8
+does not yet properly support this setup.
+.Bd -literal
+xotica# gpt create wd1
+xotica# gpt add -b 1024 -l bootroot -t ffs -s 1g wd1
+/dev/rwd1: Partition 1 added: 49f48d5a-b10e-11dc-b99b-0019d1879648 1024 2097152
+xotica ~# dmesg | tail -2
+wd1: GPT GUID: 660e0630-0a3f-47c0-bc52-c88bcec79392
+dk0 at wd1: "bootroot", 2097152 blocks at 1024, type: ffs
+xotica# gpt biosboot -L bootroot wd1
+xotica# newfs dk0
+xotica# installboot /dev/rdk0 /usr/mdec/bootxx_ffsv1
+xotica# mount /dev/dk0 /mnt
+xotica# cp /usr/mdec/boot /mnt
+.Ed
 .Sh SEE ALSO
 .Xr boot 8 ,
 .Xr dkctl 8 ,
@@ -683,7 +742,7 @@ nas#
 .Xr installboot 8 ,
 .Xr mount 8 ,
 .Xr newfs 8 ,
-.Xr swapon 8
+.Xr swapctl 8
 .Sh HISTORY
 The
 .Nm

Index: src/sbin/gpt/gpt.c
diff -u src/sbin/gpt/gpt.c:1.70.4.1 src/sbin/gpt/gpt.c:1.70.4.2
--- src/sbin/gpt/gpt.c:1.70.4.1	Mon Feb 12 04:05:07 2018
+++ src/sbin/gpt/gpt.c	Fri May  4 16:24:46 2018
@@ -35,7 +35,7 @@
 __FBSDID("$FreeBSD: src/sbin/gpt/gpt.c,v 1.16 2006/07/07 02:44:23 marcel Exp $");
 #endif
 #ifdef __RCSID
-__RCSID("$NetBSD: gpt.c,v 1.70.4.1 2018/02/12 04:05:07 snj Exp $");
+__RCSID("$NetBSD: gpt.c,v 1.70.4.2 2018/05/04 16:24:46 martin Exp $");
 #endif
 
 #include <sys/param.h>
@@ -1165,7 +1165,7 @@ gpt_attr_get(gpt_t gpt, uint64_t *attrib
 			if (strcmp(gpt_attr[i].name, ptr) == 0)
 				break;
 		if (i == __arraycount(gpt_attr)) {
-			gpt_warnx(gpt, "Unregognized attribute `%s'", ptr);
+			gpt_warnx(gpt, "Unrecognized attribute `%s'", ptr);
 			rv = -1;
 		} else
 			*attributes |= gpt_attr[i].mask;

Index: src/sbin/gpt/map.c
diff -u src/sbin/gpt/map.c:1.13 src/sbin/gpt/map.c:1.13.8.1
--- src/sbin/gpt/map.c:1.13	Thu Dec  3 21:30:54 2015
+++ src/sbin/gpt/map.c	Fri May  4 16:24:46 2018
@@ -33,7 +33,7 @@
 __FBSDID("$FreeBSD: src/sbin/gpt/map.c,v 1.6 2005/08/31 01:47:19 marcel Exp $");
 #endif
 #ifdef __RCSID
-__RCSID("$NetBSD: map.c,v 1.13 2015/12/03 21:30:54 christos Exp $");
+__RCSID("$NetBSD: map.c,v 1.13.8.1 2018/05/04 16:24:46 martin Exp $");
 #endif
 
 #include <sys/types.h>
@@ -117,7 +117,10 @@ map_add(gpt_t gpt, off_t start, off_t si
 
 	if (n->map_start + n->map_size < start + size) {
 		if (!(gpt->flags & GPT_QUIET))
-			gpt_warnx(gpt, "map entry doesn't fit media");
+			gpt_warnx(gpt, "map entry doesn't fit media: "
+			    "new start + new size < start + size\n"
+			    "(%jx + %jx < %jx + %jx)",
+			    n->map_start, n->map_size, start, size);
 		return NULL;
 	}
 

Reply via email to