On Wed, Sep 16, 2009 at 04:09:19PM -0700, Vikram Hegde wrote:

> Actually when newboot i.e. GRUB boot was introduced we did away with the 
> requirement that root slice needs to have the "root" tag and I booted 
> Solaris all the time without the root tag. AFAIK this is still true with 
> SXCE. I dont know if beadm (or Opensolaris) has reintroduced this 
> requirement.

pygrub requires it (see below). If I don't have the tag, how do I know
which slice contains the root?

regards
john


def get_solaris_slice(file, offset):
    """Find the root slice in a Solaris VTOC."""
    buf = fsimage.get_disk_data(file, (offset + (DK_LABEL_LOC * SECTOR_SIZE)), 
512)

    if struct.unpack("<H", buf[508:510])[0] != DKL_MAGIC:
        raise RuntimeError, "Invalid disklabel magic"

    nslices = struct.unpack("<H", buf[30:32])[0]

    for i in range(nslices):
        sliceoff = 72 + 12 * i
        slicetag = struct.unpack("<H", buf[sliceoff:sliceoff+2])[0]
        slicesect = struct.unpack("<L", buf[sliceoff+4:sliceoff+8])[0]
        if slicetag == V_ROOT:
            return slicesect * SECTOR_SIZE

    raise RuntimeError, "No root slice found"
_______________________________________________
xen-discuss mailing list
xen-discuss@opensolaris.org

Reply via email to