Add bootpath into Solaris Sparc BootArchive for iSCSI boot [PSARC/2009/480 Self Review]
Mark Carlson
markcarl at sac.sfbay.sun.com
Thu Sep 10 14:01:16 PDT 2009
I am sponsoring this case for Jack Meng. It requests a minor binding and he ONNV consolidation. I have marked it automatic, but am happy to start a timer if an ARC member requests.
-- mark
Template Version: @(#)sac_nextcase 1.68 02/23/09 SMI
This information is Copyright 2009 Sun Microsystems
1. Introduction
1.1. Project/Component Working Name:
Add bootpath into Solaris Sparc BootArchive for iSCSI boot
1.2. Name of Document Author/Supplier:
Author: Jack Meng
1.3 Date of This Document:
10 September, 2009
2. Project Summary
2.1. Project Description
This project is to introduce a private property, 'bootpath', along
with the file 'bootenv.rc' into Solaris Sparc BootArchive to
facilitate the iSCSI boot process in Solaris Sparc.
4. Technical Description
4.1. Details:
Currently Solaris Sparc kernel takes the hardware description of boot
device from OBP, which is in compliance with IEEE Std. 1275, as the
physical device path in OS. For example, the path,
"/pci at 8,600000/SUNW,qlc at 2/fp at 0,0/ssd at w21000004cf68e801,0"
works fine for both OBP and Solaris as OBP considers this a
platform-independent description while Solaris takes it as the physical
device path.
Things become different with the introduction of iSCSI Boot support, for
1) iSCSI is not a part of IEEE Std. 1275, and also there is no
other specification to precisely describe an iSCSI dis
k/lun path, especially when there are different methods
to access the same iSCSI disk and make different physical device
path name in Solaris OS
2) the bootpath FWARC 2008/466 provided, '/iscsi-hba/disk', is
not recognizable by Solaris Kernel
OBP doesn't and shouldn't maintain any OS specific information so the
Solaris sparc kernel needs to get the OS boot device path from
somewhere else and then to mount the root onto it.
To overcome this, a file, 'boot/solaris/bootenv.rc' is to be added into
the Solaris bootarchive with a property 'bootpath' to record the OS boot
device path on sparc, e.g,
setprop bootpath '/iscsi/ssd at 0000iqn.1986-03.com.sun:02:43644186-e5bb-41f2-8b8e-f34be1afaebc0001,0:a'
Such a bootpath is not available from OBP, and also Solaris is unable to
make up one for,
1) Different disk drivers, 'sd' or 'ssd' can be attached to an
iSCSI disk
2) Different TPGT can be used to access the boot disk which
causes different device path
Therefore the property 'bootpath' is needed to record the device path
which is used to boot/install in last time. The same mechanism is in use
to support Solaris UFS boot on x86.
This property is proposed to be private, and is not exposed by 'eeprom'
which is intended to interact with OBP rather than a file. The Solaris
Installer will be responsible to update this file during installation
and upgrade.
This property is now designed to be used for iSCSI Boot only, however
future boot support with software HBAs can also take benefit from it.
4.5 Interfaces:
Exported Interface | Stability | Description
--------------------------------------|--------------|-------------------
bootenv.rc | Consolidation| boot environment
| Private | resource file
bootpath | Consolidation|
| Private |
Imported Interface | Stability | Description
--------------------------------------|--------------|-------------------
usr/share/man/man1m/boot.1m | Committed |
Other documents:
FWARC 2008/466 iSCSI SPARC Openboot support http://sac.sfbay/FWARC/2008/466
PSARC 2008/427 iSCSI Boot http://sac.sfbay/PSARC/2008/427
6. Resources and Schedule
6.4. Steering Committee requested information
6.4.1. Consolidation C-team Name:
ON
6.5. ARC review type: Automatic
6.6. ARC Exposure: open
More information about the opensolaris-arc
mailing list