OpenSolaris

Printable Version Enter a New Search
Bug ID 6670311
Synopsis kernel picks up Linux swap partition (0x82) instead of Solaris2 (0xbf) one
State 11-Closed:Duplicate (Closed)
Category:Subcategory kernel:cmlb
Keywords
Responsible Engineer Shidokht Yadegari
Reported Against snv_85 , osol_2008.11
Duplicate Of 6713318
Introduced In
Commit to Fix
Fixed In
Release Fixed
Related Bugs 6713318
Submit Date 3-March-2008
Last Update Date 4-December-2008
Description
New Solaris installer installs Solaris operating system into Solaris2 partition (0xbf).
Installer doesn't support multiple Solaris partitions on one disk, but can recognize
Linux swap partition (0x82) correctly and can handle installation if there is primary
partition used as Linux swap.

The problem causes following partition configuration:
[1] Linux swap primary partition precedes Solaris2 one AND
[2] Solaris2 partition is not active

Then cmlb driver picks up Linux swap partition instead of Solaris2 one and makes
installer install into wrong partition.

Following part of code in cmlb driver is responsible for searching
for Solaris partition - usr/src/uts/common/io/cmlb.c:cmlb_read_fdisk():

/*
* use the last active solaris partition id found
* (there should only be 1 active partition id)
*
* if there are no active solaris partition id
* then use the first inactive solaris partition id
*/
if ((uidx == -1) || (fdp->bootid == ACTIVE)) {
    uidx = i;
    solaris_offset = relsect;
    solaris_size = numsect;
}

It seems to me that if there are both Solaris and Solaris2 partitions defined, Solaris2
should always be preferred, even if it is not active.
Work Around
N/A
Comments
N/A