--- a/usr/src/lib/install_target/physical.py Tue Aug 30 08:53:02 2011 -0600
+++ b/usr/src/lib/install_target/physical.py Tue Aug 30 08:54:37 2011 -0600
@@ -1192,16 +1192,19 @@
backup.p_flag = const.V_UNMNT
backup.p_start = FIRST_CYL
- # On x86, slice 2 needs to be 3 cylinders smaller than the size of the
- # entire disk. 1 cylinder is used by the MBR and 2 cylinders are used
- # by the VTOC label itself. There is no need to adjust SPARC sizes.
+ # On x86, slice 2 needs to be the size of the solaris2 partition. For
+ # SPARC, simply use the entire size of the disk.
if self.kernel_arch == "x86":
- backup.p_size = (self.geometry.ncyl - 3) * nsecs
+ # find the solaris2 partition for this disk to set the size of the
+ # backup slice
+ for part in self.get_children(class_type=Partition):
+ if part.is_solaris:
+ backup.p_size = part.size.sectors
else:
backup.p_size = self.geometry.ncyl * nsecs
slices[2] = backup
-
+
if self.kernel_arch == "x86":
# Create slice 8 (BOOT) - allocates 1st cylinder
boot = cstruct.extpartition()