Commit Graph

94 Commits

Author SHA1 Message Date
christos a50708a134 minor toolification: need libprop... 2014-09-29 20:28:57 +00:00
jnemeth ac204e48a2 PR/47990 - Dr. Wolfgang Stukenbrock -- add "-L <label>" as selector option 2014-09-29 05:56:43 +00:00
jnemeth 88085c2f28 PR/44218 - David Young -- add "type" subcommand to change a partition type 2014-09-28 08:14:51 +00:00
jnemeth e4be9d18c3 - handle a GPT that isn't an exact multiple of a sector
- adjust PMBR size, in case new disk is a different size
- don't leak as much memory
- clean up error handling somewhat
2014-09-26 08:56:34 +00:00
jnemeth ede6a6c556 no C99isms in tool code 2014-09-26 05:34:15 +00:00
msaitoh 3821b76445 Fix compile error observed on i386. Use PRIu64. 2014-09-23 13:48:04 +00:00
jnemeth 2ed5cc2617 - make gpt_gpt() available for use directly by subcommands
- create new resizedisk disk subcommand for relocating backup GPT
2014-09-23 07:47:54 +00:00
jnemeth 4013e132a3 document the new restore subcommand 2014-09-20 22:36:09 +00:00
jnemeth 06190c9314 Initial cut of gpt restore. This functions correctly in testing,
but isn't all that pretty.  It has minimal error testing and may
leak memory.  It also only works with empty disks.  If passed "-F"
flag, it will blank the disk for you.
2014-09-20 22:11:27 +00:00
jnemeth e3f4016378 - dump all partitions, not just ones that are in use
- while here, squash a memory leak

     It shouldn't be necessary to backup unused partitions, however
the partition GUID is created at the time the GPT is created and
is never changed.  It shouldn't matter if the GUID of an unused
partition changes, but there may be some special case where it
does.  Since it isn't a big deal to record the unused partitions,
might as well do it.
2014-09-10 10:49:44 +00:00
jnemeth ef9cc4e43f - record the sector size of the disk
- correct confusion with end_cylinder and end_sector in MBRs
2014-09-09 06:30:09 +00:00
jnemeth 3170c9b01c Add restore subcommand.
XXX It does not actually work yet.  It is being committed now to make
later pullups easier.
2014-08-10 18:27:15 +00:00
wiz b07680d7fe Bump date for previous. 2013-12-19 07:49:50 +00:00
jnemeth 4fb24d0cac Add the backup subcommand. It dumps the contents of the partition
tables as a plist, which is readable by the restore subcommand.

XXX restore subcommand forthcoming
2013-12-19 06:46:51 +00:00
jnemeth 6f2d9e3758 If we want to GUIDs to display with correct endian, it helps to decode it first. 2013-12-18 03:20:09 +00:00
jnemeth 53733ab887 Explicitly state which partition was added/modified. 2013-12-10 01:05:00 +00:00
wiz 918b300e20 Fix typo. 2013-12-09 09:22:44 +00:00
jnemeth 1cb2b94165 Add two new subcommands, "set" and "unset". These were inspired by
FreeBSD's gpart(8), but the code is all mine.  The purpose of these
is to set and unset partition attributes.
2013-12-09 08:03:17 +00:00
jnemeth 66ad0e75ae For the "show -i <entry>" subcommand, print Start and Size both in
terms of number of sectors and bytes.
2013-12-09 01:35:02 +00:00
jnemeth 2098c8504e For the add and resize subcommands, change the -s option. If there is
no suffix, or the suffix is 's' or 'S', size is in sectors (as before)
otherwise size is in bytes.
2013-12-08 09:32:51 +00:00
jnemeth e3e68bccc8 fix off-by-one error 2013-12-08 08:30:01 +00:00
jnemeth 024b3f7622 Don't attempt to create/resize an unaligned partition if the attempt
to create/resize an aligned one failed.  This simplifies the code
and prevents surprises.  If the user wants an unaligned partition
in the case where an aligned one fails, they can simply retry the
command without the "-a" option.  This change was requested by
wiz@, and after some thought I agree with it.
2013-12-06 02:31:31 +00:00
jakllsch 16550bc8bd Use MBR_PTYPE_ defines from <sys/bootblock.h>. 2013-12-04 20:15:51 +00:00
jakllsch e22b4ebb4a Mirror my changes of src/sbin/gpt/create.c 1.4 in migrate.c;
Use less bogus CHS addresses in PMBR.
With the ending head set at 0xff one machine I have will never leave
the initial startup screen if such a disk is present. Additionally,
Wikipedia suggests without citiation that 254 is the maximium allowable
value for the head, and this seems to be the case.
2013-12-04 19:59:47 +00:00
jnemeth 925666ef9b Add two new options:
-g which shows the GUID for a partition
-i which shows all the gory details for a particular option

XXX the output format of -i is subject to change
2013-11-30 19:43:53 +00:00
jnemeth 2b199b9458 when calling dehumanize_number() make sure the resulting number is >= 1 2013-11-28 01:37:14 +00:00
christos d873a92b9b CID 1132762: Add error check for negative, to make zero-divide in module
impossible.
2013-11-27 20:40:48 +00:00
christos bb7996ed1a CID 1132764: Bogus test 2013-11-27 20:34:34 +00:00
jnemeth 9299334f79 Remove FreeBSD specific code as per message to tech-userlevel. 2013-11-27 01:47:53 +00:00
jnemeth e066617c02 Only skip past _PATH_DEV if it is actually present. 2013-11-23 08:59:04 +00:00
jnemeth 9ceccfb63b change the "-b blocknr" parameter to accept a "human number" 2013-11-22 04:21:02 +00:00
jnemeth d883a91427 bump date 2013-11-22 03:51:06 +00:00
jnemeth 4f22d16faa In the manpage:
- s/-b number/-b blocknr/
- s/-s count/-s sectors/
- s/-p count/-p partitions/

In the program:
- s/-b lba/-b blocknr/
- s/-s lba/-s sectors/

This makes the documentation in the manpage and the program consistent
and makes it more clear what the parameters are.  Also, "-s lba" was
just plain wrong since LBA stands for Logical Block Address[ing], and
the -s option didn't represent any kind of address, but rather a size.
2013-11-22 03:50:05 +00:00
wiz 00996309f7 shrunk. 2013-11-20 08:11:36 +00:00
jnemeth 0a08058311 Add a resize command. This command was inspired by FreeBSD's gpart(8),
but the code was written by myself.
2013-11-20 08:08:47 +00:00
jnemeth 49ca570b23 delete an errant where it is obvious what the code is doing 2013-11-19 22:41:43 +00:00
jnemeth 477692ee49 When setting a label on the new partition, be sure to set the label
in the secondary partition table as well.
2013-11-19 19:10:29 +00:00
jnemeth a3d649686c update synopsis for add subcommand 2013-11-19 05:07:40 +00:00
jnemeth 650728b4e3 Add two new options to the "add" subcommand:
-a alignment -- attempt to align the start and size of the partition
-l label -- supply a label for the partition

These options were inspired by FreeBSD's gpart(8) command, but the
code was written by me.
2013-11-19 05:03:41 +00:00
christos 611f94995e CID 1125874: Fix memory leak 2013-11-13 21:25:40 +00:00
jnemeth f60aa973c9 cosmetic fix from drochner@ 2013-10-26 20:31:23 +00:00
jnemeth 34523e4b09 - markup
- typo; the label command labels partitions, not remove them
- migrate -s isn't applicable to NetBSD
- add information about the space required for migration
- add a "gpt show -l" example
2013-10-24 06:59:03 +00:00
jnemeth 389cfa7c1b In a NetBSD disklabel, p_offset is from the beginning of the disk,
not the beginning of the NetBSD partition.
2013-10-22 07:30:20 +00:00
jnemeth 8ba45a6a68 revert typo fix; teach me to blindly take changes from upstream 2013-10-20 21:13:23 +00:00
jnemeth 63dfdcda5b Convert FreeBSD numeric FS_<type>s to labels by request. 2013-10-19 09:31:24 +00:00
jnemeth 000bb24ef9 - convert FreeBSD FS_<type> to numbers where they don't match NetBSD
- add support for migrating NetBSD disklabel'ed disks (only 7 years late)
- use labels for partition types
2013-10-19 08:13:21 +00:00
jnemeth f2e89ca7fd recognize FreeBSD ZFS partition 2013-10-19 02:07:08 +00:00
jnemeth e3d872f434 Add code for detecting FreeBSD ZFS partitions.
XXX  Need to add code for migrating NetBSD disklabel'ed disks.
2013-10-19 01:58:33 +00:00
jnemeth a79ba98d4b type fix: accommodate. -> accomodate. 2013-10-19 01:19:03 +00:00
wiz 0d33e4d5b7 Instead of 'no space', say 'not enough space' in error message. 2013-05-26 21:26:17 +00:00