Formatting and Partitioning the Disk

SGIs ship with a single, monolithic partition which is the size of your disk, eg: 1G or 2G. I like separate / and /usr filesystems, and really prefer separate /var and /share for logs and exportable stuff, respectively. SGIs allow you to create a "user disk" with / and /usr with the fx command, but there appears to be no easy way to get extra partitions without a lot of work. If you want to do this, here's how I create and mount extra partitions.

This seems to be an easier way to format and partition the disks for a software basic reinstall. (Note that I've gotten stuck when I partially installed the OS, so it thought it had a valid format command when it did not. If you really hose the system disk, it's easiest to take it to another SGI and run the format command there; just be careful you don't format the host's disk by accident!)

(There is a way you can run the SGI-architecture-specific format command from the CDROM, but it's difficult and I can't remember how I did it now; it isn't fun. Try invoking the single-user shell from the CDROM device from the monitor with something like dksc(0,5)sashIP12. The IP12 part specifies the architecture of your machine, which you will have to know beforehand.) For an IP22 architecture machine with a CDROM on SCSI ID 4, Joy Webb says she used dksc(0,4,8)sashARCS...

Enter Software Installation Mode

Shutdown and reboot the system, but in the initial Welcome screen, hit ESCAPE and select Software Installation mode. Ensure the operating system CDROM is in the drive. It will show it's loading sofware to disk, creating a miniroot, mounting filesystems (unless you've hosed them), then invoking the installation tools.

Administration Menu -- shroot

From the Installation menu, select the admin... submenu, then invoke a rooted shell with shroot. From there you can use hinv to find your RAM size for later sizing the swap partition.

format

Then invoke the formatting utility in expert mode with
fx -x
Then follow the following example; your partition sizes will be different. The fx commands are in a hierarchy, like label/show/partition and you can move up hierarchies with the .. command.
fx> format
	drive parameters (current)? yes
	this will take about 15 minutes...	[for 400MB]

set partition sizes

The easiest way to set partition sizes is to use the SGI defaults for a ``root disk'', a disk with /, /usr, and swap, then modify the swap to be appropriate for your RAM size (I like 2*RAM).
fx/repartition> root
	this will nuke your disk; are you sure? yes
fx/repartition> resize
	partition (swap)? yes
	method (megabytes)? yes
	size (40)? 96
As mentioned at the top of this document, you can use another facility in fx to add, delete, create, and size partitions explicitely. This is useful when you want to -- say -- add a /var partition, something not in the default SGI rootdrive setup. Use the fx command label/set/partitions. My notes try to guide you through this. It will at least show you the kind of questions you'll have to answer, but be aware that disk and parititon sizes will probably be different.

Write new partitions to disk table

fx> label/sync
fx> exit

Reboot

Now the disk will have a partition table which does not match that which the SGI had in memory. It may start complaining about corruption, or it may start installing software, but it will eventually fail. Reboot the system; use the restart button or power-cycle the machine if you have to. At this point, there's no data on disk to corrupt by a harsh shutdown.

Install Software as Usual

At reboot, enter the Maintenance Menu, and Install Software as usual. The easiest way, IMHO, is to issue a go command to install the default software configuration, then use the step command to step through each subsystem and add modules you need (eg: BSD lpr).
Chris Shenton