Procedure to extend the partition table of a Solaris 2.6 hw 5/98 CD-ROM To generate the CD-R partition table a manual procedure must be followed and a hard disk that can act as an intermediary for the partition table must be available. The hard disk is required because a partition table must be generated via the format tool and this tool only runs on hard disks. Using the hard disk as an intermediary for the partition table requires a hard disk that can be unmounted (has no active file systems) and because of the potentially risky procedure has no critical data stored on it. WARNING: all the data that are present on the hard disk that is used as an intermediary are at risk (might be corrupted) if this procedure is followed. Create a backup first! Note that the partition table (slices) of the hard disk is changed during the course of this procedure. Note that this is a one time only procedure and the generated partition table will be stored in the file block0.cdrom.Solaris_2.6 and will then be used for each CD-R that is written. The procedure needs only be repeated if a new Solaris version must be used. The procedure for an example hard disk c0t1d0: Save the output of a mount command to a file (to later know where the hard disk slices are mounted to) as instructed below: mount | grep '\/dev\/dsk\/c0t1d0' > /tmp/current_mount_points.txt Unmount all mounted slices from the target disk (c0t1d0s0 through c0t1d0s9) by running umount commands as instructed below: umount /dev/dsk/c0t1d0s0 . . . umount /dev/dsk/c0t1d0s9 Save the hard disk's partition table by running a dd command as instructed below: dd if=/dev/rdsk/c0t1d0s0 of=/tmp/ptable_backup count=1 Generate the CD-R partition table by running a format command as instructed below: format -x "format.dat" /dev/rdsk/c0t1d0s0 t 1 p l y q q Enter the single character commands listed above when asked by the format command. An example of a format.dat file that is used to generate the partition table for the CD-R: # ## Disk/Partition type for CD-ROM's for Solaris 2.6 # #disk_type = "CD-ROM Disc extended" \ : ctlr = SCSI : ncyl = 2048 : acyl = 0 : pcyl = 2048 \ : nhead = 1 : nsect = 640 : rpm = 350 partition = "original" \ : disk = "CD-ROM Disc extended" : ctlr = SCSI \ : 0 = usr, rm, 0, 1867c \ : 1 = usr, rm, 1867, 161c \ : 2 = root, rm, 2028, 5c \ : 3 = root, rm, 2033, 5c \ : 4 = root, rm, 2038, 5c \ : 5 = root, rm, 2043, 5c \ : 6 = unassigned, wm, 0, 0 \ : 7 = unassigned, wm, 0, 0 Save the generated CD-R partition table by running a dd command as instructed below: dd if=/dev/rdsk/c0t1d0s0 of=/tmp/block0.cdrom.Solaris_2.6 count=1 Restore the backed up hard disk partition table by running a dd command as instructed below: dd if=/tmp/ptable_backup of=/dev/rdsk/c0t1d0s0 count=1 conv=notrunc seek=0 Remount the partitions of the hard disk. You need to look at the /tmp/current_mount_points.txt file that you created in the first step of this procedure and then re-mount all the slices that are listed in this file. One example of a mount command is given below, but you will need to type a similar command for each of the hard disk slices that you previously unmounted: mount /dev/dsk/c0t1d0s0 /external