divvy(ADM) 06 January 1993 divvy(ADM) Name divvy - disk dividing utility Syntax divvy [ -m | -i [ -n ] | -D # | -P [ # ] | -C #1 #2 #3 ] [ device ] Description divvy divides an fdisk(ADM) partition into a number of separate areas known as ``divisions''. A division is identified by unique major and minor device numbers and can be used for a filesystem, swap area, or for isolating bad spots on the device. The default device is /dev/hd0a. To access non-default disks, specify a device file on the command line. With divvy you can: + Divide a disk or fdisk partition into separate devices. + Create new filesystems. + Change the size of filesystems. + Remove filesystems. Options Options to divvy are: -i Installation only. Disk being divided will contain a root filesystem on division 0. Only to be done from a non-active partition, or the root floppy. -m Disk being divided should be made into a number of mountable file- systems. -n Non-interactive installation; automatic option. Disk being divided will contain the following: root filesystem on division 0 swap on division 1 /u filesystem on division 2 scratch on division 5 -D # delete division number #. -P # print start block number and end block number of division number # (or all divisions if # is missing). -C #1 #2 #3 Create division number #1 starting at block number #2 and ending at block number #3. Usage divvy can be used on any character or block disk device file that refers to a UNIX or XENIX partition. If no device is specified, divvy defaults to the active UNIX partition on the root hard disk. The -i option is used during installation. It specifies the device being divided will contain a root filesystem. With this option, device nodes are created relative to the new root, generally a hard disk, instead of the current root, often an installation floppy. A root filesystem, swap area, and recover area are created. divvy prompts for the size of the swap area. If the disk is large enough, then divvy prompts for a separate /u (user) filesystem. divvy also prompts for block-by-block control over the layout of the filesystem(s). If the root filesystem is large enough to require a scratch filesystem, (more than 40,000 blocks) then divvy will prompt for whether one should be created. The -m option is used for initial installation on devices that will not be used as the root. It causes the user to be prompted for a number of filesystems. When divvy is invoked from the command line, you see a main menu: n[ame] Name or rename a division. c[reate] Create a new file system on this division. t[ype] Select or change filesystem type on new filesystems. p[revent] Prevent a new file system from being created on this division. s[tart] Start a division on a different block. e[nd] End a division on a different block. r[estore] Restore the original division table. Please enter your choice or `q' to quit: After the first command has been chosen, an additional option will be displayed in the main menu: u[ndo] Undo the last change This command may be selected at any time and will reverse the effect of the most recent previous change to the division table. To choose a com- mand, enter the first letter of the command, then press <Return>. The divvy division table might look something like this: +----------+-------------+--------+---+-------------+------------+ | Name | Type | New FS | # | First Block | Last Block | +----------+-------------+--------+---+-------------+------------+ | root | EAFS | no | 0 | 0| 47402| | swap | NON FS | no | 1 | 47403| 50368| | u | EAFS | no | 2 | 50369| 70368| | | NOT USED | no | 3 | -| -| | | NOT USED | no | 4 | -| -| | | NOT USED | no | 5 | -| -| | recover | NON FS | no | 6 | 70369| 70378| | hd0a | WHOLE DISK | no | 7 | 0| 70676| +----------+-------------+--------+---+-------------+------------+ 70379 1K blocks for divisions, 298 1K blocks reserved for the system divvy also displays information about block allocation for system tables and bad tracks. You can change the name of the device with the n command. divvy prompts you for the division number (from the divvy table displayed above), then for a new name. The c command causes a given division to become a new, empty filesystem when you exit from divvy. After using the c command, you will see a ``yes'' in the ``New File System?'' column. If you use command p, the ``yes'' in the ``New File System?'' column will change to a ``no'', and the contents of the division will not change. The c command must be used when changing the size of a filesystem. With the s or ``start'' command, you can start a division on a different block number. With the e or ``end'' command, you can end a division on a different block number. Note that when you alter a division, that file- system will be remade (mkfs is run) and the contents destroyed. If you are resizing your filesystems, make certain you have made backups first. You can use these commands to change the size of a division. For exam- ple, if your disk is similar to the one in the sample divvy table above, and you want to make the /u filesystem larger and the swap area smaller, do this: + Reduce the size of the swap area with the e command. + Increase the size of the /u division with the s command. + Recreate the /u filesystem using the c command. Note that if any of the divisions overlap, divvy will report an error when you try to exit and put you back in the menus to correct the situa- tion. The r or ``restore'' command restores the original partition table. This is useful if you make a serious mistake and want to return to where you started. When you exit from divvy, you are prompted whether you want to save any changes you made, or exit without saving the changes. At this time, you can also go back to the divvy menu, and may also have the option to rein- stall the original, default partition table. If you elect to save your changes, the new partition table will be written to the hard disk and any new filesystems (designated with the c command) will be created. Examples divvy active partition on root disk divvy /dev/hd0a same divvy /dev/hd12 second partition on second disk divvy /dev/rhd12 same See also badtrk(ADM), fdisk(ADM), fsck(ADM), fsname(ADM), hd(HW), mkdev(ADM), mkfs(ADM) and mknod(C). Notes divvy requires kernel level support from the device driver. If divvy lists the size of a disk as 0 blocks, or displays the following error messages, the device may not support dividing: cannot read division table or: cannot get drive parameters These errors may also occur if the prerequisite programs dparam, fdisk and badtrk are not run correctly. If you change the size of filesystems (such as /u) after you have installed a XENIX filesystem, you will have to use the c command to re- create the filesystem and reinstall the files that are kept there. This is because the free list for that filesystem has changed. Be sure to backup the files in any filesystem you intend to change, using backup(ADM), tar(C), or cpio(C), before you run divvy. To change the size of the root filesystem, the operating system must be reinstalled. During installation, if the filesystem on division 0 (generally root) becomes or remains large enough to require a scratch area during fsck, and one does not already exist, divvy prompts for whether one should be created. (The resulting filesystem, /dev/scratch, is used by autoboot if it runs fsck. /dev/scratch should also be entered when fsck prompts for a scratch filename, provided that the filesystem being checked is not larger than the root filesystem.) If all disk divisions have been used up, divvy will not prompt for a scratch filesystem, even if the root filesystem is large enough to require one. Should division 0 ever extend beyond the 1024th cylinder of the hard disk, divvy warns that the division may not be bootable and offers the user an opportunity to correct the situation. If this occurs during non-interactive installation, divvy tries to adjust the division table automatically, but still warns the user of the fact before allowing manu- al interaction. divvy does not force division 0 to be located within the first 1024 cylinders if the user specifically requires an unusual loca- tion. This utility uses 1 kilobyte blocks. Value added divvy is an extension of AT&T System V provided by The Santa Cruz Operation, Inc.