Darren J Moffat wrote:
> [...]
> OBP already stores Solaris specific properties and has Sun system and 
> Solaris specific code and properties [at the very least for WAN boot 
> but there was E10k specific stuff there too in the past and I'm sure 
> there is more].  So I really don't see why this is an issue. It reads 
> to me like it can be done but someone doesn't want to do it that way, 
> is that correct ?  Or is there a technical reason why it can't be done ?

What the Solaris iSCSI team is asking for is for us to make the Solaris 
internal path part of the boot arguments. Currently (per FWARC 
2008/466), the boot string on iSCSI looks like:

/pci at 500/pci at 0/pci at 8/network at 
0:iscsi-target-ip=129.148.67.188,host-ip=129.148.67.111,iscsi-target-name=iqn.1986-03.com.sun:02:43644186-e5bb-41f2-8b8e-f34be1afaebc
  


What the Solaris team is asking for is to add the Solaris internal root 
disk path to the above arguments. As I recall, they want to add an 
additional argument:

iscsi-phy-path=/iscsi/ssd at 
0000iqn.1986-03.com.sun:02:43644186-e5bb-41f2-8b8e-f34be1afaebc0001:a 
.

Aside from the architectural concerns (OBP has no business even knowing 
that it is Solaris being booted, let alone how Solaris was configured 
internally at the time Solaris was installed), most of the above is 
redundant information. There is also a concern about path lengths - if 
the boot string exceeds 256 bytes, life gets more painful (we have ways 
of handling it, but they aren't pleasant). The Solaris iSCSI path can be 
disassembled as follows:

/iscsi/ssd at 
0000iqn.1986-03.com.sun:02:43644186-e5bb-41f2-8b8e-f34be1afaebc0001,0:a

   1. /iscsi
   2. /ssd@
   3. 0000
   4. iqn.1986-03.com.sun:02:43644186-e5bb-41f2-8b8e-f34be1afaebc
   5. 0001
   6. 0
   7. :a

Item (1) is a constant. Item (2) can be either "ssd" or "disk", although 
I have yet to determine what conditions can result in the second case 
being configured or how to force it. Item three (the ISID) is 
effectively a constant. Item 4 is that iSCSI target name, available 
through /chosen properties. Item (5) is the Target Portal Group Tag, 
which at the moment is not provided by OBP, but can be determined during 
the iSCSI login process. Item 6 is the Lun, which is provided by OBP, 
and item 7 is the partition, which is also provided by OBP.

In other words, except item (2), all of the above information is either 
provided by OBP, is constant, or can be derived at runtime. I have yet 
to figure out how item (2) is variable, and whether we need to support 
bootability from the configuration which is different. Over the last 
week or so, Jan has been discussing this with the iSCSI boot iteam their 
options on this. At the moment, the iSCSI boot iteam is setting the 
bootpath string in the boot_archive, similar to what is done in x86, and 
Jan has objections to that.

An additional concern is that an alternate (I would say preferred) boot 
command form is:

boot net:dhcp

In this case, the iscsi information is provided by the DHCP server per 
RFC 4173, with the ROOTPATH option. This option does not include the 
possibility of any Solaris internal configuration information, so there 
is nowhere to add the information desired.

Reply via email to