FreeBSD Bugzilla – Attachment 174501 Details for
Bug 212470
sbin/fdisk_pc98/fdisk.8 - Add HISTORY
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
fdisk_pc98(8) - Add HISTORY
patch-freebsd-fdisk_pc988.txt (text/plain), 13.83 KB, created by
Sevan Janiyan
on 2016-09-08 01:00:44 UTC
(
hide
)
Description:
fdisk_pc98(8) - Add HISTORY
Filename:
MIME Type:
Creator:
Sevan Janiyan
Created:
2016-09-08 01:00:44 UTC
Size:
13.83 KB
patch
obsolete
>FDISK(8) FreeBSD System Manager's Manual FDISK(8) > >NNAAMMEE > ffddiisskk - NEC PC-98x1 slice table maintenance utility > >SSYYNNOOPPSSIISS > ffddiisskk [--BBIIaaiissttuuvv] [--1122334455667788] [_d_i_s_k] > ffddiisskk --ff _c_o_n_f_i_g_f_i_l_e [--iittvv] [_d_i_s_k] > >PPRROOLLOOGGUUEE > In order for the BIOS to boot the kernel, certain conventions must be > adhered to. Sector 0 of the disk must contain boot code, a slice table, > and a magic number. BIOS slices can be used to break the disk up into > several pieces. The BIOS brings in sector 0 and verifies the magic > number. The sector 0 boot code then searches the slice table to > determine which slice is marked ``active''. This boot code then brings > in the bootstrap from the active slice and, if marked bootable, runs it. > Under DOS, you can have one or more slices with one active. The DOS > ffddiisskk utility can be used to divide space on the disk into slices and set > one active. > >DDEESSCCRRIIPPTTIIOONN > The FreeBSD utility, ffddiisskk, serves a similar purpose to the DOS utility. > The first form is used to display slice information or to interactively > edit the slice table. The second is used to write a slice table using a > _c_o_n_f_i_g_f_i_l_e, and is designed to be used by other scripts/programs. > > Options are: > > --aa Change the active slice only. Ignored if --ff is given. > > --BB Reinitialize the boot code contained in sector 0 of the disk. > Ignored if --ff is given. > > --ff _c_o_n_f_i_g_f_i_l_e > Set slice values using the file _c_o_n_f_i_g_f_i_l_e. The _c_o_n_f_i_g_f_i_l_e > always modifies existing slices, unless --ii is also given, in > which case all existing slices are deleted (marked as ``unused'') > before the _c_o_n_f_i_g_f_i_l_e is read. The _c_o_n_f_i_g_f_i_l_e can be `--', in > which case standard input is read. See _C_O_N_F_I_G_U_R_A_T_I_O_N _F_I_L_E, > below, for file syntax. > > _W_A_R_N_I_N_G: when --ff is used, you are not asked if you really want to > write the slices table (as you are in the interactive mode). Use > with caution! > > --ii Initialize sector 0 of the disk. This implies --uu, unless --ff is > given. > > --II Initialize sector 0 slice table for one FreeBSD slice covering > the entire disk. Some space at the start of the disk will > reserved for the IPL program and the pc98 slice table itself. > > --ss Print summary information and exit. > > --tt Test mode; do not write slice values. Generally used with the --ff > option to see what would be written to the slice table. Implies > --vv. > > --uu Update (edit) the disk's sector 0 slice table. Ignored if --ff is > given. > > --vv Be verbose. Slices that are unused are suppressed unless this > flag is specified. When --ff is used, ffddiisskk prints out the slice > table that is written to the disk. > > --1122334455667788 > Operate on a single slice table entry only. Ignored if --ff is > given. > > The final disk name can be provided as a ``bare'' disk name only, e.g > _d_a_0, or as a full pathname. If omitted, ffddiisskk tries to figure out the > default disk device name from the mounted root device. > > When called with no arguments, it prints the sector 0 slice table. An > example follows: > > ******* Working on device /dev/da0 ******* > parameters extracted from in-core disklabel are: > cylinders=33075 heads=8 sectors/track=32 (256 blks/cyl) > > parameters to be used for BIOS calculations are: > cylinders=33075 heads=8 sectors/track=32 (256 blks/cyl) > > Media sector size is 512 > Warning: BIOS sector numbering starts with sector 1 > Information from DOS bootblock is: > The data for partition 1 is: > sysmid 148,(FreeBSD/NetBSD/386BSD) > start 256, size 2490112 (1215 Meg), sid 196 > beg: cyl 1/ sector 0/ head 0; > end: cyl 9727/ sector 0/ head 0 > system Name FreeBSD(98) > The data for partition 2 is: > sysmid 148,(FreeBSD/NetBSD/386BSD) > start 2490368, size 5505024 (2688 Meg), sid 196 > beg: cyl 9728/ sector 0/ head 0; > end: cyl 31231/ sector 0/ head 0 > system Name FreeBSD(98) > The data for partition 3 is: > <UNUSED> > The data for partition 4 is: > <UNUSED> > The data for partition 5 is: > <UNUSED> > The data for partition 6 is: > <UNUSED> > The data for partition 7 is: > <UNUSED> > The data for partition 8 is: > <UNUSED> > The data for partition 9 is: > <UNUSED> > The data for partition 10 is: > <UNUSED> > The data for partition 11 is: > <UNUSED> > The data for partition 12 is: > <UNUSED> > The data for partition 13 is: > <UNUSED> > The data for partition 14 is: > <UNUSED> > The data for partition 15 is: > <UNUSED> > The data for partition 16 is: > <UNUSED> > > The disk is divided into three slices that happen to fill the disk. The > second slice overlaps the end of the first. (Used for debugging > purposes.) > > _s_y_s_m_i_d is used to label the slice. FreeBSD > reserves the magic number 148 decimal > (94 in hex). > > _s_t_a_r_t and _s_i_z_e fields provide the start address and > size of a slice in sectors. > > _c_y_l, _s_e_c_t_o_r and _h_e_a_d fields are used to specify the beginning > and end addresses of the slice. > > _s_y_s_t_e_m _N_a_m_e is the name of the slice. > > _N_o_t_e: these numbers are calculated using BIOS's understanding of the disk > geometry and saved in the bootblock. > > The --ii and --uu flags are used to indicate that the slice data is to be > updated. Unless the --ff option is also given, ffddiisskk will enter a > conversational mode. In this mode, no changes will be written to disk > unless you explicitly tell ffddiisskk to. > > The ffddiisskk utility will display each slice and ask whether you want to > edit it. If you say yes, ffddiisskk will step through each field, show you > the old value, and ask you for a new one. When you are done with the > slice, ffddiisskk will display it and ask you whether it is correct. It will > then proceed to the next entry. > > Getting the _c_y_l, _s_e_c_t_o_r, and _h_e_a_d fields correct is tricky, so by > default, they will be calculated for you; you can specify them if you > choose to though. > > After all the slices are processed, you are given the option to change > the ``active'' slice. Finally, when all the new data for sector 0 has > been accumulated, you are asked to confirm whether you really want to > rewrite it. > > The difference between the --uu and --ii flags is that the --uu flag edits > (updates) the existing slice parameters while the --ii flag is used to > ``initialize'' them (old values will be ignored); it will setup the last > BIOS slice to use the whole disk for FreeBSD; and make it active. > >NNOOTTEESS > The automatic calculation of starting cylinder etc. uses 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 ffddiisskk > 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. > > If you hand craft your disk layout, please make sure that the FreeBSD > slice starts on a cylinder boundary. > > Editing an existing slice will most likely result in the loss of all data > in that slice. > > You should run ffddiisskk 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 ffddiisskk detects that are not fully > explained in this manual page. > >CCOONNFFIIGGUURRAATTIIOONN FFIILLEE > When the --ff option is given, a disk's slice table can be written using > values from a _c_o_n_f_i_g_f_i_l_e. The syntax of this file is very simple; each > line is either a comment or a specification, as follows: > > ## _c_o_m_m_e_n_t _._._. > Lines beginning with a ## are comments and are ignored. > > gg _s_p_e_c_1 _s_p_e_c_2 _s_p_e_c_3 > Set the BIOS geometry used in slice calculations. There must be > three values specified, with a letter preceding each number: > > cc_n_u_m Set the number of cylinders to _n_u_m. > > hh_n_u_m Set the number of heads to _n_u_m. > > ss_n_u_m Set the number of sectors/track to _n_u_m. > > These specs can occur in any order, as the leading letter > determines which value is which; however, all three must be > specified. > > This line must occur before any lines that specify slice > information. > > It is an error if the following is not true: > > 1 <= number of cylinders > 1 <= number of heads <= 256 > 1 <= number of sectors/track < 64 > > The number of cylinders should be less than or equal to 1024, but > this is not enforced, although a warning will be printed. Note > that bootable FreeBSD slices (the ``_/'' file system) must lie > completely within the first 1024 cylinders; if this is not true, > booting may fail. Non-bootable slices do not have this > restriction. > > Example (all of these are equivalent), for a disk with 1019 > cylinders, 39 heads, and 63 sectors: > > g c1019 h39 s63 > g h39 c1019 s63 > g s63 h39 c1019 > > pp _s_l_i_c_e _t_y_p_e _s_t_a_r_t _l_e_n_g_t_h > Set the slice given by _s_l_i_c_e (1-8) to type _t_y_p_e, starting at > sector _s_t_a_r_t for _l_e_n_g_t_h sectors. > > Only those slices explicitly mentioned by these lines are > modified; any slice not referenced by a pp line will not be > modified. However, if an invalid slice table is present, or the > --ii option is specified, all existing slice entries will be > cleared (marked as unused), and these pp lines will have to be > used to explicitly set slice information. If multiple slices > need to be set, multiple pp lines must be specified; one for each > slice. > > These slice lines must occur after any geometry specification > lines, if one is present. > > The _t_y_p_e is 165 for FreeBSD slices. Specifying a slice type of > zero is the same as clearing the slice and marking it as unused; > however, dummy values (such as ``0'') must still be specified for > _s_t_a_r_t and _l_e_n_g_t_h. > > Note: the start offset will be rounded upwards to a head boundary > if necessary, and the end offset will be rounded downwards to a > cylinder boundary if necessary. > > Example: to clear slice 4 and mark it as unused: > > p 4 0 0 0 > > Example: to set slice 1 to a FreeBSD slice, starting at sector 1 > for 2503871 sectors (note: these numbers will be rounded upwards > and downwards to correspond to head and cylinder boundaries): > > p 1 165 1 2503871 > > aa _s_l_i_c_e > Make _s_l_i_c_e the active slice. Can occur anywhere in the config > file, but only one must be present. > > Example: to make slice 1 the active slice: > > a 1 > >SSEEEE AALLSSOO > boot98cfg(8), bsdlabel(8), gpart(8), newfs(8) > >HHIISSTTOORRYY > A version of ffddiisskk first appeared in the Mach Operating System. It was > subsequently ported to 386BSD. > >AAUUTTHHOORRSS > ffddiisskk for Mach Operating System was written by Robert Baron > <_r_v_b_@_c_s_._c_m_u_._e_d_u>. It was ported to 386BSD by Julian Elischer > <_j_u_l_i_a_n_@_t_f_s_._c_o_m>. > >BBUUGGSS > The default boot code will not necessarily handle all slice types > correctly, in particular those introduced since MS-DOS 6.x. > > The entire utility should be made more user-friendly. > > Most users new to FreeBSD do not understand the difference between > ``slice'' and ``partition'', causing difficulty to adjust. > > You cannot use this command to completely dedicate a disk to FreeBSD. > The bsdlabel(8) command must be used for this. > >FreeBSD 12.0-CURRENT September 8, 2016 FreeBSD 12.0-CURRENT
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 212470
:
174501
|
174502
|
174750