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