From a39259958d9b04dbef1f3fb1a7307940f9863291 Mon Sep 17 00:00:00 2001 From: Yoshihiro Takahashi Date: Wed, 9 May 2007 11:46:31 +0000 Subject: [PATCH] Reduce diffs against fdisk/fdisk.8. --- sbin/fdisk_pc98/fdisk.8 | 312 +++++++++++++++++++--------------------- 1 file changed, 148 insertions(+), 164 deletions(-) diff --git a/sbin/fdisk_pc98/fdisk.8 b/sbin/fdisk_pc98/fdisk.8 index 7c8f44266340..6c444b5f8c0c 100644 --- a/sbin/fdisk_pc98/fdisk.8 +++ b/sbin/fdisk_pc98/fdisk.8 @@ -27,31 +27,34 @@ The BIOS brings in sector 0 and verifies the magic number. The sector 0 boot code then searches the partition table to determine which partition is marked -.Em active . +.Dq active . This boot code then brings in the bootstrap from the -.Em active -partition and, if marked bootable, runs it. -Under DOS, -you can have one or more partitions with one -.Em active . -The DOS +active partition and, if marked bootable, runs it. +Under +.Tn DOS , +you can have one or more partitions with one active. +The +.Tn DOS .Nm utility can be used to divide space on the disk into partitions and set one -.Em active . +active. .Sh DESCRIPTION The .Fx -.Nm -utility serves a similar purpose to the DOS program. +utility, +.Nm , +serves a similar purpose to the +.Tn DOS +utility. The first form is used to display partition information or to interactively edit the partition table. The second is used to write a partition table using a -.Ar configfile +.Ar configfile , and is designed to be used by other scripts/programs. .Pp Options are: -.Bl -tag -width time +.Bl -tag -width indent .It Fl a Change the active partition only. Ignored if @@ -59,17 +62,9 @@ Ignored if is given. .It Fl B Reinitialize the boot code contained in sector 0 of the disk. -Ignored -if +Ignored if .Fl f is given. -.It Fl I -Initialize the partition table. -One -.Fx -slice covering the entire disk will be created. -Some space at the start of the disk will reserved for the IPL program -and the pc98 partition table itself. .It Fl f Ar configfile Set partition values using the file .Ar configfile . @@ -78,14 +73,16 @@ The always modifies existing partitions, unless .Fl i is also given, in which case all existing partitions are deleted (marked -as "unused") before the +as +.Dq unused ) +before the .Ar configfile is read. The .Ar configfile -can be "-", in which case -.Ar stdin -is read. +can be +.Sq Fl , +in which case standard input is read. See .Sx CONFIGURATION FILE , below, for file syntax. @@ -93,7 +90,7 @@ below, for file syntax. .Em WARNING : when .Fl f -is used, you are not asked if you really want to write the partition +is used, you are not asked if you really want to write the partitions table (as you are in the interactive mode). Use with caution! .It Fl i @@ -103,6 +100,13 @@ This implies unless .Fl f is given. +.It Fl I +Initialize the partition table +for one +.Fx +slice covering the entire disk. +Some space at the start of the disk will reserved for the IPL program +and the pc98 partition table itself. .It Fl s Print summary information and exit. .It Fl t @@ -113,7 +117,7 @@ option to see what would be written to the partition table. Implies .Fl v . .It Fl u -Is used for updating (editing) sector 0 of the disk. +Update (edit) the disk's partition table. Ignored if .Fl f is given. @@ -126,30 +130,26 @@ is used, .Nm prints out the partition table that is written to the disk. .It Fl 12345678 -Operate on a single fdisk entry only. +Operate on a single partition table entry only. Ignored if .Fl f is given. .El .Pp The final disk name can be provided as a -.Sq bare +.Dq bare disk name only, e.g.\& -.Ql da0 , -or as a fully qualified device node under -.Pa /dev . -If omitted, the disks -.Ql wd0 , -.Ql da0 , -and -.Ql od0 -are being searched in that order, until one is -being found responding. +.Pa da0 , +or as a full pathname. +If omitted, +.Nm +tries to figure out the default disk device name from the +mounted root device. .Pp -When called with no arguments, it prints the sector 0 partition table. +When called with no arguments, it prints the partition table. An example follows: .Bd -literal - ******* Working on device /dev/rda0 ******* + ******* Working on device /dev/da0 ******* parameters extracted from in-core disklabel are: cylinders=33075 heads=8 sectors/track=32 (256 blks/cyl) @@ -203,153 +203,143 @@ An example follows: .Pp The disk is divided into three partitions that happen to fill the disk. The second partition overlaps the end of the first. -(Used for debugging purposes) -.Bl -tag -width "cyl, sector and head" -.It Em "sysmid" +(Used for debugging purposes.) +.Bl -tag -width ".Em cyl , sector No and Em head" +.It Em sysmid is used to label the partition. .Fx reserves the magic number 148 decimal (94 in hex). -.It Em start No and Em size +.It Xo +.Em start +and +.Em size +.Xc fields provide the start address and size of a partition in sectors. -.\" !PC98 .It Em "flag 80" -.\" specifies that this is the active partition. -.It Em cyl , sector No and Em head -fields are used to specify the beginning address -and end address for the partition. +.It Xo +.Em cyl , sector +and +.Em head +.Xc +fields are used to specify the beginning and end addresses of the partition. .It Em "system Name" is the name of the partition. -.It Em Note : -these numbers are calculated using BIOS's understanding of the disk geometry -and saved in the bootblock. .El .Pp -The flags -.Fl i -or -.Fl u -are used to indicate that the partition data is to be updated, unless the -.Fl f -option is used. -If the -.Fl f -option is not used, the -.Nm -utility will enter a conversational mode. -This mode is designed not to change any data unless you explicitly tell it to. -The -.Nm -utility selects defaults for its questions to guarantee the above behavior. +.Em Note : +these numbers are calculated using BIOS's understanding of the disk geometry +and saved in the bootblock. .Pp -It displays each partition -and ask if you want to edit it. -If you say yes, -it will step through each field showing the old value -and asking for a new one. -When you are done with a partition, +The +.Fl i +and +.Fl u +flags are used to indicate that the partition data is to be updated. +Unless the +.Fl f +option is also given, .Nm -will display it and ask if it is correct. +will enter a conversational mode. +In this mode, no changes will be written to disk unless you explicitly tell +.Nm +to. +.Pp The .Nm -utility will then proceed to the next entry. +utility will display each partition and ask whether you want to edit it. +If you say yes, +.Nm +will step through each field, show you the old value, +and ask you for a new one. +When you are done with the partition, +.Nm +will display it and ask you whether it is correct. +It will then proceed to the next entry. .Pp Getting the .Em cyl , sector , and .Em head -fields correct is tricky. -So by default, +fields correct is tricky, so by default, they will be calculated for you; -you can specify them if you choose. +you can specify them if you choose to though. .Pp After all the partitions are processed, you are given the option to change the -.Em active +.Dq active partition. -Finally, -when the all the data for the first sector has been accumulated, -you are asked if you really want to rewrite sector 0. -Only if you answer yes, -will the data be written to disk. +Finally, when all the new data for sector 0 has been accumulated, +you are asked to confirm whether you really want to rewrite it. .Pp The difference between the .Fl u -flag and +and .Fl i -flag is that +flags is that the .Fl u -flag just edits the fields as they appear on the disk. -While the +flag edits (updates) the existing partition parameters +while the .Fl i -flag is used to "initialize" sector 0; +flag is used to +.Dq initialize +them (old values will be ignored); it will setup the last BIOS partition to use the whole disk for .Fx ; and make it active. .Sh NOTES The automatic calculation of starting cylinder etc.\& uses -a set of figures that represent what the BIOS thinks is the -geometry of the drive. -These figures are by default taken from the incore disklabel, -but the program initially gives you an opportunity to change them. -This allows the user to create a bootblock that can work with drives +a set of figures that represent what the BIOS thinks the +geometry of the drive is. +These figures are taken from the in-core disklabel by default, +but +.Nm +initially gives you an opportunity to change them. +This allows you to create a bootblock that can work with drives that use geometry translation under the BIOS. .Pp If you hand craft your disk layout, please make sure that the .Fx partition starts on a cylinder boundary. -A number of decisions made later may assume this. -(This might not be necessary later.) .Pp -Editing an existing partition will most likely cause you to -lose all the data in that partition. +Editing an existing partition will most likely result in the loss of +all data in that partition. .Pp -You should run this program interactively once or twice to see how it -works. +You should run +.Nm +interactively once or twice to see how it works. This is completely safe as long as you answer the last question in the negative. -There are subtleties that the program detects that are -not fully explained in this manual page. +There are subtleties that +.Nm +detects that are not fully explained in this manual page. .Sh CONFIGURATION FILE When the .Fl f option is given, a disk's partition table can be written using values from a .Ar configfile . -The syntax of this file is very simple. -Each line is either a comment or -a specification, and whitespace (except for newlines) are ignored: -.Bl -tag -width Ds -.It Xo +The syntax of this file is very simple; +each line is either a comment or a specification, as follows: +.Bl -tag -width indent +.It Ic # Ar comment ... +Lines beginning with a .Ic # -.Ar comment ... -.Xc -Lines beginning with a "#" are comments and are ignored. -.It Xo -.Ic g -.Ar spec1 -.Ar spec2 -.Ar spec3 -.Xc -Set the BIOS geometry used in partition calculations. +are comments and are ignored. +.It Ic g Ar spec1 spec2 spec3 +Set the BIOS geometry used in slice calculations. There must be three values specified, with a letter preceding each number: -.Bl -tag -width Ds -.Sm off -.It Cm c Ar num -.Sm on +.Bl -tag -width indent +.It Cm c Ns Ar num Set the number of cylinders to .Ar num . -.Sm off -.It Cm h Ar num -.Sm on +.It Cm h Ns Ar num Set the number of heads to .Ar num . -.Sm off -.It Cm s Ar num -.Sm on +.It Cm s Ns Ar num Set the number of sectors/track to .Ar num . .El @@ -368,10 +358,12 @@ It is an error if the following is not true: .Ed .Pp The number of cylinders should be less than or equal to 1024, but this -is not enforced, although a warning will be output. +is not enforced, although a warning will be printed. Note that bootable .Fx -partitions (the "/" file system) must lie completely within the +partitions (the +.Dq Pa / +file system) must lie completely within the first 1024 cylinders; if this is not true, booting may fail. Non-bootable partitions do not have this restriction. .Pp @@ -382,16 +374,10 @@ g c1019 h39 s63 g h39 c1019 s63 g s63 h39 c1019 .Ed -.It Xo -.Ic p -.Ar partition -.Ar type -.Ar start -.Ar length -.Xc +.It Ic p Ar partition type start length Set the partition given by .Ar partition -(1-4) to type +(1-8) to type .Ar type , starting at sector .Ar start @@ -400,14 +386,20 @@ for sectors. .Pp Only those partitions explicitly mentioned by these lines are modified; -any partition not referenced by a "p" line will not be modified. +any partition not referenced by a +.Ic p +line will not be modified. However, if an invalid partition table is present, or the .Fl i option is specified, all existing partition entries will be cleared -(marked as unused), and these "p" lines will have to be used to +(marked as unused), and these +.Ic p +lines will have to be used to explicitly set partition information. If multiple partitions need to be -set, multiple "p" lines must be specified; one for each partition. +set, multiple +.Ic p +lines must be specified; one for each partition. .Pp These partition lines must occur after any geometry specification lines, if one is present. @@ -419,7 +411,9 @@ is 165 for partitions. Specifying a partition type of zero is the same as clearing the partition and marking it as unused; however, -dummy values (such as "0") must still be specified for +dummy values (such as +.Dq 0 ) +must still be specified for .Ar start and .Ar length . @@ -429,22 +423,17 @@ necessary, and the end offset will be rounded downwards to a cylinder boundary if necessary. .Pp Example: to clear partition 4 and mark it as unused: -.Bd -literal -offset indent -p 4 0 0 0 -.Ed +.Pp +.Dl "p 4 0 0 0" .Pp Example: to set partition 1 to a .Fx partition, starting at sector 1 for 2503871 sectors (note: these numbers will be rounded upwards and downwards to correspond to head and cylinder boundaries): -.Bd -literal -offset indent -p 1 165 1 2503871 -.Ed -.It Xo -.Ic a -.Ar partition -.Xc +.Pp +.Dl "p 1 165 1 2503871" +.It Ic a Ar partition Make .Ar partition the active partition. @@ -452,9 +441,8 @@ Can occur anywhere in the config file, but only one must be present. .Pp Example: to make partition 1 the active partition: -.Bd -literal -offset indent -a 1 -.Ed +.Pp +.Dl "a 1" .El .Sh SEE ALSO .Xr boot98cfg 8 , @@ -462,15 +450,11 @@ a 1 .Xr newfs 8 .Sh BUGS The default boot code will not necessarily handle all partition types -correctly, in particular those introduced since MS-DOS 6.x. +correctly, in particular those introduced since +.Tn MS-DOS +6.x. .Pp -The entire program should be made more user-friendly. -.Pp -Throughout this man page, the term -.Sq partition -is used where it should actually be -.Sq slice , -in order to conform with the terms used elsewhere. +The entire utility should be made more user-friendly. .Pp You cannot use this command to completely dedicate a disk to .Fx .