From darrenm@sac.sfbay.sun.com Wed Jul  9 02:28:50 2008
Received: from sunmail5.uk.sun.com (sunmail5.UK.Sun.COM [129.156.85.165])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m699SnoC001063
	for <psarc-ext@sac.sfbay.sun.com>; Wed, 9 Jul 2008 02:28:50 -0700 (PDT)
Received: from nwk-avmta-2.sfbay.sun.com (nwk-avmta-2.SFBay.Sun.COM [129.145.155.6])
	by sunmail5.uk.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.2) with ESMTP id m699Smip024922;
	Wed, 9 Jul 2008 10:28:48 +0100 (BST)
Received: from pmxchannel-daemon.nwk-avmta-2.sfbay.sun.com by
 nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0K3Q00B03FNZ4X00@nwk-avmta-2.sfbay.sun.com>; Wed,
 09 Jul 2008 02:28:47 -0700 (PDT)
Received: from dm-sfbay-02.sfbay.sun.com ([129.146.11.31])
 by nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0K3Q007TJFNZO430@nwk-avmta-2.sfbay.sun.com>; Wed,
 09 Jul 2008 02:28:47 -0700 (PDT)
Received: from sac.sfbay.sun.com (new-sac.SFBay.Sun.COM [129.146.175.65])
	by dm-sfbay-02.sfbay.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.2)
 with ESMTP id m699SjPV040394; Wed, 09 Jul 2008 02:28:45 -0700 (PDT)
Received: from sac.sfbay.sun.com (localhost [127.0.0.1])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m699Si8h001058; Wed,
 09 Jul 2008 02:28:44 -0700 (PDT)
Received: (from darrenm@localhost)
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8/Submit) id m699ShtZ001054; Wed,
 09 Jul 2008 02:28:43 -0700 (PDT)
Date: Wed, 09 Jul 2008 02:28:43 -0700 (PDT)
From: Darren J Moffat <darrenm@sac.sfbay.sun.com>
Subject: ITU construction tools [PSARC/2008/431 FastTrack timeout 07/16/2008]
To: PSARC-ext@sun.com
Cc: James.McPherson@sun.com, driver-discuss@opensolaris.org
Message-id: <200807090928.m699ShtZ001054@sac.sfbay.sun.com>
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
Status: RO
Content-Length: 19091


Template Version: @(#)sac_nextcase 1.66 04/17/08 SMI
This information is Copyright 2008 Sun Microsystems
1. Introduction
    1.1. Project/Component Working Name:
	 ITU construction tools
    1.2. Name of Document Author/Supplier:
	 Author:  James McPherson
    1.3  Date of This Document:
	09 July, 2008
4. Technical Description


1. Introduction
   1.1. Project/Component Working Name:

        Integrate ITU construction tools


   1.2. Name of Document Author/Supplier:

        James McPherson <James.McPherson@Sun.COM>


   1.3. Date of This Document:

        07/02/2008


   1.4. Name of Major Document Customer(s)/Consumer(s):
        1.4.1. The Community you expect to review your project:

        ON

        1.4.2. The ARC(s) you expect to review your project:

        PSARC - Open.

   1.5. Email Aliases:
        1.5.2. Responsible Engineer:    James.McPherson@Sun.COM
        1.5.4. Interest List:           driver-discuss@opensolaris.org





ITU construction tools 
======================


Summary
-------

The procedure for Solaris Install-Time-Update (ITU) is modfied
based on the new boot architecture. 3rd party vendors may now
deliver driver updates via floppy, CD/DVD, or USB storage.
New tools are provided for modifying Solaris install media
with new packages and patches. The tools will be available
for internal users to deliver software updates for hardware
platforms and for external developers to produce customized
install media.


Background
----------

Install-Time-Update (ITU) is the process by which updates to
Solaris kernel and driver modules are applied upon initial
installation. The history of ITU support goes back to
PSARC/1993/580[1]. The original problem was summarized as:

    (A) How to boot from a CD through an HBA or CDROM controller
	for which a primary boot driver is not on the Solaris
	boot diskette.

    (B) How to install from a CD through an HBA or CDROM controller
	whose driver is not on the Solaris install media.

    (C) How to install onto a hard disk through an HBA or
	disk controller whose driver is not on the Solaris
	install media.

    (D) How to install drivers that are not integrated into the
    	Solaris install media onto the system disk.

    (E) How to enable IHVs and OEMs to package solutions to these
	problems without Sun's help.


In that proposal[1], a new MDB (Multiple Device Boot) floppy
disk containing the required drivers was to be delivered to augment
the kernel on the CD distribution media. A baseline floppy was
planned for delivery to 3rd party vendors to augment with their
own drivers. 

The proposal was rejected, but used internally by the x86
consolidation PSARC/1993/674[2]. The x86 consolidation was
later merged with ON.


Then came the rewrite of the x86 boot subsystem in Solaris 2.6[3].
Subsequently, a public ITU mechanism was approved[4].

An ITU floppy format was defined along with tools for 3rd parties to
build their own boot floppy. Note that despite the ITU mechanism
being public, it still does not permit a 3rd party ISV or IHV
to override kernel components delivered by Sun, although the
same mechanism is used more liberally internal to Sun.



ITU under Newboot
-----------------

The introduction of Solaris Boot Architecture[5] on x86 offers
an opportunity to modernize the ITU mechanism. By using the open
source GRUB loader[6], realmode drivers have been eliminated
from the boot process. A key decision in Newboot is to download
the entire miniroot in memory (at the expense of raising minimum
memory requirement to 256 MB), permitting the Solaris kernel to
start independent of kernel hardware support. In the new architecture,
problems (A) and (B) in section 1 were solved automatically.

This reduces the public ITU mechanism to a simple matter of adding
device drivers after the miniroot is up and running. At this point,
Solaris has access to floppy, CD/DVD, USB media, and possibly network.
Furthermore, the in-memory root filesystem can be made writable.
Adding hardware support became a trivial pkgadd (Problem C).

While existing third-party Driver Update diskettes work fine
under Newboot, the Sun internal use for patching the kernel via
ITU does not match well with the new boot architecture.
By the time ITU media is read, core kernel modules have already
been loaded and cannot be updated.

To allow install to use a patched kernel, we provide new scripts,
updatemedia(1) and mkbootmedia(1), to customize install media based on
standard Solaris media and OS patches.


New Interfaces
--------------

The following scripts are proposed for facilitating ITU related tasks.
Here are the interfaces and a brief description of their usage.
A more detailed explanation can be found in a Whitepaper[7].


----------------------------------------------------------------------
Name		Commitment Level	Comments
----------------------------------------------------------------------
itu		Committed		wrapper script for ITU tools
pkg2du		Committed		convert pkg to ITU/Driver Update
					(DU) format
updatemedia	Committed		modify install media
mkbootmedia	Committed		bootable ISO image tool
----------------------------------------------------------------------


The scripts will be installed in SUNWcsu.




pkg2du(1M) and driver updates
-----------------------------

The pkg2du(1M) command takes one or more driver packages and
put it in ITU format[4] along with a generic install script
to be invoked during the Solaris installation process to add
the packages. ITU is also known to IHVs and ISVs as a Driver
Update (DU).


The following command builds an ISO image of two packages:

	# /usr/bin/pkg2du -o du.iso SUNWfoo SUNWbar

The resulting du.iso file can then be burned onto a CD/DVD to be
used during installation.


Updating install media
----------------------

The updatemedia(1) should be used to patch OS components and
to add new packages which are used while booting the install
miniroot.

The following command modifies Solaris install media rooted
at "media_root" by adding patch 123456-07 and package SUNWfoo:

	# /usr/bin/updatemedia -d media_root 123456-07 SUNWfoo

User may then create an ISO image, media.iso, from media_root:

	# /usr/bin/mkbootmedia media_root media.iso

The ISO image can then be burned onto CD/DVD using cdrw(1) or
cdrecord(1):

	# /usr/bin/cdrw -i media.iso
or
	# /usr/bin/cdrecord media.iso


When the updated media is used to install Solaris, the install
miniroot will already contain patch 123456-07 and SUNWfoo. In addition,
the patch and the package will be automatically applied to the target OS.

Advanced users and developers may wish to customize the install
miniroot manually. The root_archive(1M) command (delivered via [5])
is used for this purpose. The procedure involves unpacking the
miniroot into filesystem format, making changes, and repacking the
miniroot, e.g.:


	# /usr/sbin/root_archive unpackmedia media_root /tmp/miniroot
	# [ modify /tmp/miniroot ]
	# /usr/sbin/root_archive packmedia media_root /tmp/miniroot


Manpages
--------

Please see below for manpages for each of the commands itu(1),
mkbootmedia(1), pkg2du(1) and updatemedia(1).




References
----------

[1] Carl Hensler, PSARC 1993/580 Third Party Driver Boot/Install
[2] Carl Hensler, PSARC 1993/674 x86 Driver supplement boot/install
[3] Andy Rudoff, PSARC 1994/201 Solaris x86 Device Configuration
[4] Tim Haley, PSARC 1997/059 Install-Time Updates
[5] Shudong Zhou, PSARC 2004/454 Solaris Boot Architecture
[6] GRand Unified Bootloader (http:/www.gnu.org/software/grub/grub.html)
[7] Shudong Zhou, Installing Solaris on x86 with Unbundled Drivers and Patches
    (will be made available on opensolaris.org in the ON community area)


Tracking CR
-----------
6721696 IHVs need easy ITU creation utilities  


========================================================================

NAME
     itu - convert packages to Driver Update format and patch Solaris
           install media for Install Time Update (ITU)

SYNOPSIS
    itu makedu -r solaris_release [-v] [-f] [-d output_dir] [-o iso_file]
        [-l iso_label] package [package ...]

    itu updatemedia -R media_root [-v] [-f] [-o iso_file] [-l iso_label]
        pkg_or_patch [pkg_or_patch ...]

    itu makeiso -o iso_file [-v] [-f] [-l iso_label] media_root

DESCRIPTION
    itu converts driver packages to Driver Update (DU) format and patches
    a Solaris install media with driver packages and patches for Install
    Time Update (ITU).  There are three subcommands to itu: makedu, updatemedia
    and makeiso.

    Subcommand makedu

	The makedu subcommand takes one or more driver packages as input
	and converts them to DU format.  At the beginning of an interactive
	Solaris installation session, these driver updates can be applied
	to the running kernel, which will then automatically apply them also
	to the newly installed Solaris at the end of the installation process.

	The -r option is required to specify the Solaris release number for
	which the driver updates apply.  The <solaris_release> option argument
	takes the form uname -r output, for examples 5.10, 5.11, etc.

	If the -d option is specified, the resulting DU directory tree is
	placed in the directory <output_dir>.

	If the -o option is specified, a (non-bootable) ISO image of the DU
	directory tree is written in the file <iso_file>.  This ISO image can
	be burned onto a CD/DVD using cdrw(1) or cdrecord(1).  See the
	Examples section below for an example of creating a DU on a floppy.

	At least one of -d and -o option must be specified.  If both are
	specified, then both an ISO image and a directory tree are generated.

    Subcommand updatemedia

	The updatemedia subcommand takes a list of driver packages and patches
	as input and applies them to the miniroot of a Solaris install media.
	It also places them in a subdirectory called ITUs under the Solaris
	install media's top-level directory:

		<media_root>/ITUs

	When booting a system from the updated media, the patches and packages
	will be part of the booted Solaris image.  They will also be applied
	to the target system being installed at the end of the installation
	process.

	The -R option must be given on the command line to specify the
	Solaris install media.  Note that the install media must necessarily
	be on a location that's writable by itu.

	If the -o option is specified, a bootable ISO image of the patched
	install media is also created in the file <iso_file>.  The ISO image
	can then be burned onto a CD or DVD.

    Subcommand makeiso

	The makeiso subcommand runs mkisofs(8) to create a bootable Solaris
	ISO image of the Solaris install media <media_root> and writes it
	to the file <iso_file>.  The ISO image file can then be burned onto
	a CD or DVD with utilities such as cdrw(1) or cdrecord(1).

	WARNING:
	    The Solaris install media <media-root> must contain the file
	    /boot/grub/stage2_eltorito, to be written to the media boot sectors.
	    This file will be modified with some boot information, thus it
	    has to be writable.  If necessary, save a copy first prior to
	    running this utility.

OPTIONS
    The following options are supported:

    -d output_dir
	Directory where the Driver Update directory should be created.

    -f
	If output_dir/DU or iso_file already exists, remove it without
	asking first.

    -l iso_label
	Label/volume name of the ISO image (if -o option is specified).

    -o iso_file
	Path of ISO image file to create.  For subcommands updatemedia and
	makeiso it will be a bootable ISO image.
	This option must be specified for subcommand makeiso.

    -R media_root
	Top-level directory of on-disk image of Solaris installation media.
	This option must be specified for subcommand updatemedia.

    -r solaris_release
	Solaris release number for which the Driver Update is intended.
	It takes the form of 5.10.
	This option must be specified for subcommand makedu.

    -v
	Verbose.  Multiple -v options increase verbosity."

OPERANDS
    The following operands are supported:

    package [package ...]
	One or more driver packages.

    pkg_or_patch [pkg_or_patch ...]
	One or more patches and/or packages.

    media_root
	The top-level directory of a Solaris install media.

EXAMPLES
    Example 1:

	Create a Driver Update CD/DVD containing packages SAMPLEpkg1
	and SAMPLEpkg2

	# itu makedu -r 5.10 -o my.iso SAMPLEpkg1 SAMPLEpkg2
	# cdrw -i my.iso

    Example 2:

	Create a Driver Update floppy containing driver package MYdriver:

	# rmformat -F quick /dev/rdiskette
	# mkfs -F pcfs /dev/rdiskette
	# mount -F pcfs /dev/diskette /mnt
	# itu makedu -r 5.10 -d /mnt /export/MYdriver
	# umount /mnt
	# dd if=/dev/rdiskette of=floppy.dd

	The itu command above creates the DU directly onto the floppy
	mounted on /mnt.  The dd call takes an image of the floppy and
	stores int the file floppy.dd.  This is useful for distributing
	driver update floppy in a file form.  From the file, the floppy
	can then be recreated as follows:

	# dd if=floppy.dd of=/dev/rdiskette

    Example 3:

	Patch the Solaris install media in /export/s10u1 with patch
	/opt/patches/123456-07 and driver package /opt/pkgs/MYdriver.
	Also create a bootable ISO image with ISO label "MyS10U1" in the
	file /tmp/dvd.iso.

	# itu updatemedia -R /export/s10u1 -o /tmp/dvd.iso -l MyS10U1
		/opt/patches/123456-07 /opt/pkgs/MYdriver

    Example 4:

	Create bootable ISO image mydvd.iso of the Solaris install image
	/export/solaris-10u1 with ISO label "Special-S10".

	# itu makeiso -o mydvd.iso -l "Special-S10" /export/solaris-10u1
	# cdrw -i mydvd.iso

SEE ALSO
    cdrecord(1), cdrw(1), patchadd(1m), pkgadd(1m), mkisofs(8)


========================================================================

NAME
    mkbootmedia - create bootable Solaris ISO image

SYNOPSIS
    /usr/bin/mkbootmedia [-v] [-l <label>] <media-root> <iso>


DESCRIPTION
    mkbootmedia takes <media-root> (the root of an on-disk Solaris install
    media) as input and creates a bootable Solaris ISO image in the file
    <iso> using mkisofs(8).  The file can then be burned onto a CD/DVD with
    utilities such as cdrw(1) or cdrecord(1).

    WARNING:
	The directory tree <media-root> must contain the file
	/boot/grub/stage2_eltorito, to be written to the media boot sectors.
	This file will be modified by with some boot information, thus it
	needs to be writable.  If necessary, save a copy first prior to
	running this utility.

OPTIONS
    The following options are supported:

    -l <label>
	Sets <label> as the label/volume name of the ISO image.

    -v
	Verbose.  Multiple -v options increase verbosity.

OPERANDS
    The following operands are supported:

    <media-root>
	Top-level directory of an on-disk Solaris install media.

    <iso>
	Name of the output file which will contain the resulting ISO image.

EXAMPLES
    Example 1: Create an ISO image from the the content of s10u1 and
    burn the image to a CD/DVD.

	# /usr/bin/mkbootmedia s10u1 s10u1.iso
	# /usr/bin/cdrw -i s10u1.iso

SEE ALSO
    cdrecord(1), cdrw(1), mkisofs(8)


========================================================================


NAME
     updatemedia - modify Solaris media with patches and packages.

SYNOPSIS
     /usr/bin/updatemedia -d <media-root> [-v] [-o <iso>] [-l <label>]
            <pkg_or_patch> [<pkg_or_patch> ...]

DESCRIPTION
    updatemedia takes a list of patches and packages as input and updates
    the install miniroot in <media-root> (the root directory of an on-disk
    image of a Solaris installation media) to include the specified
    patches and packages.  These patches and packages are also placed in
    a subdirectory called DU under the Solaris install image, for example:

	<media-root>/Solaris_10/DU

    When booting a system from the updated media, the patches and packages
    will be part of the booted Solaris image.  They will also be applied
    to the target system being installed at the end of the installation
    process.

    If -o is specified, a bootable ISO image is created in the file
    <media.iso> containing the Solaris install media.  The ISO image can
    then be burned onto a CD/DVD with utilities such as cdrw(1) or
    cdrecord(1).

OPTIONS
    The following options are supported:

    -d <media-root>
	Top-level directory of on-disk image of Solaris installation media.
	This is option must be specified.

    -o <iso>
	Create a Solaris ISO image of <media-root>.

    -l <label>
	Label/volume name of the ISO image (if -o option is specified).
	If unspecified, the name of Solaris directory under <media-root>,
	for instance Solaris_10, will be used.

    -v
	Verbose.  Multiple -v options increase verbosity.

OPERANDS
    The following operands are supported:

    <pkg_or_patch> [<pkg_or_patch> ...]
	One or more patches and/or packages with which the Solaris
	installation media <media-root> will be updated.

EXAMPLES
    Example 1: Update the Solaris install image in s10u1 by adding
    patch 123456-07 and package SUNWfoo.

	# /usr/bin/updatemedia -d s10u1 SUNWfoo 123456-07

SEE ALSO
    cdrecord(1), cdrw(1), mkbootmedia(1), mkisofs(8)



========================================================================


NAME
    pkg2du - convert driver packages to Driver Update (DU) format

SYNOPSIS
    /usr/bin/pkg2du [-f] [-v] [-d <dir>] [-o <iso>] [-l <label>]
	[-r <release>] <pkg> [<pkg> ...]

DESCRIPTION
    pkg2du takes one or more packages as input and converts them to
    Driver Update (DU) format.  If the -d option is specified, the
    resulting DU directory tree is placed in the directory <dir>.
    If the -o option is specified, a Solaris ISO image of the
    DU directory tree is written in the file <iso>.  The ISO image can
    be burned onto CD/DVD using cdrw(1) or cdrecord(1) and used
    during Solaris installation.

    At least one of -d and -o option must be specified.  If both are
    specified, then both an ISO image and a directory tree are generated.

OPTIONS
    The following options are supported:

    -d <dir>
	Directory where the Driver Update directory should be created.
    -o <iso>
	Create a Solaris ISO image of the Driver Update directory.
    -f
	If <dir>/DU or <iso> exists, remove it without asking first.
    -l <label>
	Label/volume name of the ISO image (if -o option is specified).
    -r <release>
	Solaris release number to use.  It takes the form of 5.10.
	If unspecified, the release number of the currently running
	Solaris is used.
    -v
	Verbose.  Multiple -v options increase verbosity.

OPERANDS
    The following operands are supported:

    <pkg> [<pkg> ...]
	One or more packages to be converted to DU format.

EXAMPLES
    Example 1: create a Driver Update CD/DVD containing packages
    SUNWfoo and SUNWbar.

	# /usr/bin/pkg2du -r 5.10 -o my.iso SUNWfoo SUNWbar
	# /usr/bin/cdrw -i my.iso

SEE ALSO
    cdrecord(1), cdrw(1), mkbootmedia(1), mkisofs(8)


6. Resources and Schedule
    6.4. Steering Committee requested information
   	6.4.1. Consolidation C-team Name:
		ON
    6.5. ARC review type: FastTrack
    6.6. ARC Exposure: open


From Jan.Friedel@sun.com Wed Jul  9 03:31:47 2008
Received: from sunmail4.singapore.sun.com (sunmail4.Singapore.Sun.COM [129.158.71.19])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m69AVj8w002133
	for <psarc-ext@sac.sfbay.Sun.COM>; Wed, 9 Jul 2008 03:31:46 -0700 (PDT)
Received: from brm-avmta-1.central.sun.com (brm-avmta-1.Central.Sun.COM [129.147.4.11])
	by sunmail4.singapore.sun.com (8.13.4+Sun/8.13.3/ENSMAIL,v2.2) with ESMTP id m69AVc5Q004131;
	Wed, 9 Jul 2008 18:31:44 +0800 (SGT)
Received: from pmxchannel-daemon.brm-avmta-1.central.sun.com by
 brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0K3Q00609IKVQ600@brm-avmta-1.central.sun.com>; Wed,
 09 Jul 2008 04:31:43 -0600 (MDT)
Received: from tipo.czech.sun.com ([129.157.71.115])
 by brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0K3Q004M9IKTJJB0@brm-avmta-1.central.sun.com>; Wed,
 09 Jul 2008 04:31:42 -0600 (MDT)
Received: from tipo.czech.sun.com (localhost [127.0.0.1])
	by tipo.czech.sun.com (8.14.3+Sun/8.14.3) with ESMTP id m69AMEcB016939; Wed,
 09 Jul 2008 12:22:15 +0200 (CEST)
Received: (from jf206706@localhost)
	by tipo.czech.sun.com (8.14.2+Sun/8.14.3/Submit) id m69AMEjx016909; Wed,
 09 Jul 2008 12:22:14 +0200 (CEST)
Date: Wed, 09 Jul 2008 12:22:14 +0200
From: Jan Friedel <Jan.Friedel@sun.com>
Subject: Re: ITU construction tools [PSARC/2008/431 FastTrack timeout
	07/16/2008]
In-reply-to: <200807090928.m699ShtZ001054@sac.sfbay.sun.com>
To: Darren J Moffat <darrenm@sac.sfbay.sun.com>
Cc: PSARC-ext@sun.com, James.McPherson@sun.com, driver-discuss@opensolaris.org
Message-id: <20080709102214.GH12130@tipo.czech.sun.com>
MIME-version: 1.0
Content-type: text/plain; charset=us-ascii
Content-transfer-encoding: 7BIT
Content-disposition: inline
X-PMX-Version: 5.4.1.325704
References: <200807090928.m699ShtZ001054@sac.sfbay.sun.com>
X-Authentication-warning: tipo.czech.sun.com: jf206706 set sender to
 Jan.Friedel@Sun.COM using -f
User-Agent: Mutt/1.5.17 (2007-11-01)
Status: RO
Content-Length: 20569


	Below described approach seems to be related only to x86/GRUB
	systems. Do we have some sort of support for SPARC machines
	(already there / planned)?


	Thank you,

	/j. 



On Wed, Jul 09, 2008 at 02:28:43AM -0700, Darren J Moffat wrote:
> 
> Template Version: @(#)sac_nextcase 1.66 04/17/08 SMI
> This information is Copyright 2008 Sun Microsystems
> 1. Introduction
>     1.1. Project/Component Working Name:
> 	 ITU construction tools
>     1.2. Name of Document Author/Supplier:
> 	 Author:  James McPherson
>     1.3  Date of This Document:
> 	09 July, 2008
> 4. Technical Description
> 
> 
> 1. Introduction
>    1.1. Project/Component Working Name:
> 
>         Integrate ITU construction tools
> 
> 
>    1.2. Name of Document Author/Supplier:
> 
>         James McPherson <James.McPherson@Sun.COM>
> 
> 
>    1.3. Date of This Document:
> 
>         07/02/2008
> 
> 
>    1.4. Name of Major Document Customer(s)/Consumer(s):
>         1.4.1. The Community you expect to review your project:
> 
>         ON
> 
>         1.4.2. The ARC(s) you expect to review your project:
> 
>         PSARC - Open.
> 
>    1.5. Email Aliases:
>         1.5.2. Responsible Engineer:    James.McPherson@Sun.COM
>         1.5.4. Interest List:           driver-discuss@opensolaris.org
> 
> 
> 
> 
> 
> ITU construction tools 
> ======================
> 
> 
> Summary
> -------
> 
> The procedure for Solaris Install-Time-Update (ITU) is modfied
> based on the new boot architecture. 3rd party vendors may now
> deliver driver updates via floppy, CD/DVD, or USB storage.
> New tools are provided for modifying Solaris install media
> with new packages and patches. The tools will be available
> for internal users to deliver software updates for hardware
> platforms and for external developers to produce customized
> install media.
> 
> 
> Background
> ----------
> 
> Install-Time-Update (ITU) is the process by which updates to
> Solaris kernel and driver modules are applied upon initial
> installation. The history of ITU support goes back to
> PSARC/1993/580[1]. The original problem was summarized as:
> 
>     (A) How to boot from a CD through an HBA or CDROM controller
> 	for which a primary boot driver is not on the Solaris
> 	boot diskette.
> 
>     (B) How to install from a CD through an HBA or CDROM controller
> 	whose driver is not on the Solaris install media.
> 
>     (C) How to install onto a hard disk through an HBA or
> 	disk controller whose driver is not on the Solaris
> 	install media.
> 
>     (D) How to install drivers that are not integrated into the
>     	Solaris install media onto the system disk.
> 
>     (E) How to enable IHVs and OEMs to package solutions to these
> 	problems without Sun's help.
> 
> 
> In that proposal[1], a new MDB (Multiple Device Boot) floppy
> disk containing the required drivers was to be delivered to augment
> the kernel on the CD distribution media. A baseline floppy was
> planned for delivery to 3rd party vendors to augment with their
> own drivers. 
> 
> The proposal was rejected, but used internally by the x86
> consolidation PSARC/1993/674[2]. The x86 consolidation was
> later merged with ON.
> 
> 
> Then came the rewrite of the x86 boot subsystem in Solaris 2.6[3].
> Subsequently, a public ITU mechanism was approved[4].
> 
> An ITU floppy format was defined along with tools for 3rd parties to
> build their own boot floppy. Note that despite the ITU mechanism
> being public, it still does not permit a 3rd party ISV or IHV
> to override kernel components delivered by Sun, although the
> same mechanism is used more liberally internal to Sun.
> 
> 
> 
> ITU under Newboot
> -----------------
> 
> The introduction of Solaris Boot Architecture[5] on x86 offers
> an opportunity to modernize the ITU mechanism. By using the open
> source GRUB loader[6], realmode drivers have been eliminated
> from the boot process. A key decision in Newboot is to download
> the entire miniroot in memory (at the expense of raising minimum
> memory requirement to 256 MB), permitting the Solaris kernel to
> start independent of kernel hardware support. In the new architecture,
> problems (A) and (B) in section 1 were solved automatically.
> 
> This reduces the public ITU mechanism to a simple matter of adding
> device drivers after the miniroot is up and running. At this point,
> Solaris has access to floppy, CD/DVD, USB media, and possibly network.
> Furthermore, the in-memory root filesystem can be made writable.
> Adding hardware support became a trivial pkgadd (Problem C).
> 
> While existing third-party Driver Update diskettes work fine
> under Newboot, the Sun internal use for patching the kernel via
> ITU does not match well with the new boot architecture.
> By the time ITU media is read, core kernel modules have already
> been loaded and cannot be updated.
> 
> To allow install to use a patched kernel, we provide new scripts,
> updatemedia(1) and mkbootmedia(1), to customize install media based on
> standard Solaris media and OS patches.
> 
> 
> New Interfaces
> --------------
> 
> The following scripts are proposed for facilitating ITU related tasks.
> Here are the interfaces and a brief description of their usage.
> A more detailed explanation can be found in a Whitepaper[7].
> 
> 
> ----------------------------------------------------------------------
> Name		Commitment Level	Comments
> ----------------------------------------------------------------------
> itu		Committed		wrapper script for ITU tools
> pkg2du		Committed		convert pkg to ITU/Driver Update
> 					(DU) format
> updatemedia	Committed		modify install media
> mkbootmedia	Committed		bootable ISO image tool
> ----------------------------------------------------------------------
> 
> 
> The scripts will be installed in SUNWcsu.
> 
> 
> 
> 
> pkg2du(1M) and driver updates
> -----------------------------
> 
> The pkg2du(1M) command takes one or more driver packages and
> put it in ITU format[4] along with a generic install script
> to be invoked during the Solaris installation process to add
> the packages. ITU is also known to IHVs and ISVs as a Driver
> Update (DU).
> 
> 
> The following command builds an ISO image of two packages:
> 
> 	# /usr/bin/pkg2du -o du.iso SUNWfoo SUNWbar
> 
> The resulting du.iso file can then be burned onto a CD/DVD to be
> used during installation.
> 
> 
> Updating install media
> ----------------------
> 
> The updatemedia(1) should be used to patch OS components and
> to add new packages which are used while booting the install
> miniroot.
> 
> The following command modifies Solaris install media rooted
> at "media_root" by adding patch 123456-07 and package SUNWfoo:
> 
> 	# /usr/bin/updatemedia -d media_root 123456-07 SUNWfoo
> 
> User may then create an ISO image, media.iso, from media_root:
> 
> 	# /usr/bin/mkbootmedia media_root media.iso
> 
> The ISO image can then be burned onto CD/DVD using cdrw(1) or
> cdrecord(1):
> 
> 	# /usr/bin/cdrw -i media.iso
> or
> 	# /usr/bin/cdrecord media.iso
> 
> 
> When the updated media is used to install Solaris, the install
> miniroot will already contain patch 123456-07 and SUNWfoo. In addition,
> the patch and the package will be automatically applied to the target OS.
> 
> Advanced users and developers may wish to customize the install
> miniroot manually. The root_archive(1M) command (delivered via [5])
> is used for this purpose. The procedure involves unpacking the
> miniroot into filesystem format, making changes, and repacking the
> miniroot, e.g.:
> 
> 
> 	# /usr/sbin/root_archive unpackmedia media_root /tmp/miniroot
> 	# [ modify /tmp/miniroot ]
> 	# /usr/sbin/root_archive packmedia media_root /tmp/miniroot
> 
> 
> Manpages
> --------
> 
> Please see below for manpages for each of the commands itu(1),
> mkbootmedia(1), pkg2du(1) and updatemedia(1).
> 
> 
> 
> 
> References
> ----------
> 
> [1] Carl Hensler, PSARC 1993/580 Third Party Driver Boot/Install
> [2] Carl Hensler, PSARC 1993/674 x86 Driver supplement boot/install
> [3] Andy Rudoff, PSARC 1994/201 Solaris x86 Device Configuration
> [4] Tim Haley, PSARC 1997/059 Install-Time Updates
> [5] Shudong Zhou, PSARC 2004/454 Solaris Boot Architecture
> [6] GRand Unified Bootloader (http:/www.gnu.org/software/grub/grub.html)
> [7] Shudong Zhou, Installing Solaris on x86 with Unbundled Drivers and Patches
>     (will be made available on opensolaris.org in the ON community area)
> 
> 
> Tracking CR
> -----------
> 6721696 IHVs need easy ITU creation utilities  
> 
> 
> ========================================================================
> 
> NAME
>      itu - convert packages to Driver Update format and patch Solaris
>            install media for Install Time Update (ITU)
> 
> SYNOPSIS
>     itu makedu -r solaris_release [-v] [-f] [-d output_dir] [-o iso_file]
>         [-l iso_label] package [package ...]
> 
>     itu updatemedia -R media_root [-v] [-f] [-o iso_file] [-l iso_label]
>         pkg_or_patch [pkg_or_patch ...]
> 
>     itu makeiso -o iso_file [-v] [-f] [-l iso_label] media_root
> 
> DESCRIPTION
>     itu converts driver packages to Driver Update (DU) format and patches
>     a Solaris install media with driver packages and patches for Install
>     Time Update (ITU).  There are three subcommands to itu: makedu, updatemedia
>     and makeiso.
> 
>     Subcommand makedu
> 
> 	The makedu subcommand takes one or more driver packages as input
> 	and converts them to DU format.  At the beginning of an interactive
> 	Solaris installation session, these driver updates can be applied
> 	to the running kernel, which will then automatically apply them also
> 	to the newly installed Solaris at the end of the installation process.
> 
> 	The -r option is required to specify the Solaris release number for
> 	which the driver updates apply.  The <solaris_release> option argument
> 	takes the form uname -r output, for examples 5.10, 5.11, etc.
> 
> 	If the -d option is specified, the resulting DU directory tree is
> 	placed in the directory <output_dir>.
> 
> 	If the -o option is specified, a (non-bootable) ISO image of the DU
> 	directory tree is written in the file <iso_file>.  This ISO image can
> 	be burned onto a CD/DVD using cdrw(1) or cdrecord(1).  See the
> 	Examples section below for an example of creating a DU on a floppy.
> 
> 	At least one of -d and -o option must be specified.  If both are
> 	specified, then both an ISO image and a directory tree are generated.
> 
>     Subcommand updatemedia
> 
> 	The updatemedia subcommand takes a list of driver packages and patches
> 	as input and applies them to the miniroot of a Solaris install media.
> 	It also places them in a subdirectory called ITUs under the Solaris
> 	install media's top-level directory:
> 
> 		<media_root>/ITUs
> 
> 	When booting a system from the updated media, the patches and packages
> 	will be part of the booted Solaris image.  They will also be applied
> 	to the target system being installed at the end of the installation
> 	process.
> 
> 	The -R option must be given on the command line to specify the
> 	Solaris install media.  Note that the install media must necessarily
> 	be on a location that's writable by itu.
> 
> 	If the -o option is specified, a bootable ISO image of the patched
> 	install media is also created in the file <iso_file>.  The ISO image
> 	can then be burned onto a CD or DVD.
> 
>     Subcommand makeiso
> 
> 	The makeiso subcommand runs mkisofs(8) to create a bootable Solaris
> 	ISO image of the Solaris install media <media_root> and writes it
> 	to the file <iso_file>.  The ISO image file can then be burned onto
> 	a CD or DVD with utilities such as cdrw(1) or cdrecord(1).
> 
> 	WARNING:
> 	    The Solaris install media <media-root> must contain the file
> 	    /boot/grub/stage2_eltorito, to be written to the media boot sectors.
> 	    This file will be modified with some boot information, thus it
> 	    has to be writable.  If necessary, save a copy first prior to
> 	    running this utility.
> 
> OPTIONS
>     The following options are supported:
> 
>     -d output_dir
> 	Directory where the Driver Update directory should be created.
> 
>     -f
> 	If output_dir/DU or iso_file already exists, remove it without
> 	asking first.
> 
>     -l iso_label
> 	Label/volume name of the ISO image (if -o option is specified).
> 
>     -o iso_file
> 	Path of ISO image file to create.  For subcommands updatemedia and
> 	makeiso it will be a bootable ISO image.
> 	This option must be specified for subcommand makeiso.
> 
>     -R media_root
> 	Top-level directory of on-disk image of Solaris installation media.
> 	This option must be specified for subcommand updatemedia.
> 
>     -r solaris_release
> 	Solaris release number for which the Driver Update is intended.
> 	It takes the form of 5.10.
> 	This option must be specified for subcommand makedu.
> 
>     -v
> 	Verbose.  Multiple -v options increase verbosity."
> 
> OPERANDS
>     The following operands are supported:
> 
>     package [package ...]
> 	One or more driver packages.
> 
>     pkg_or_patch [pkg_or_patch ...]
> 	One or more patches and/or packages.
> 
>     media_root
> 	The top-level directory of a Solaris install media.
> 
> EXAMPLES
>     Example 1:
> 
> 	Create a Driver Update CD/DVD containing packages SAMPLEpkg1
> 	and SAMPLEpkg2
> 
> 	# itu makedu -r 5.10 -o my.iso SAMPLEpkg1 SAMPLEpkg2
> 	# cdrw -i my.iso
> 
>     Example 2:
> 
> 	Create a Driver Update floppy containing driver package MYdriver:
> 
> 	# rmformat -F quick /dev/rdiskette
> 	# mkfs -F pcfs /dev/rdiskette
> 	# mount -F pcfs /dev/diskette /mnt
> 	# itu makedu -r 5.10 -d /mnt /export/MYdriver
> 	# umount /mnt
> 	# dd if=/dev/rdiskette of=floppy.dd
> 
> 	The itu command above creates the DU directly onto the floppy
> 	mounted on /mnt.  The dd call takes an image of the floppy and
> 	stores int the file floppy.dd.  This is useful for distributing
> 	driver update floppy in a file form.  From the file, the floppy
> 	can then be recreated as follows:
> 
> 	# dd if=floppy.dd of=/dev/rdiskette
> 
>     Example 3:
> 
> 	Patch the Solaris install media in /export/s10u1 with patch
> 	/opt/patches/123456-07 and driver package /opt/pkgs/MYdriver.
> 	Also create a bootable ISO image with ISO label "MyS10U1" in the
> 	file /tmp/dvd.iso.
> 
> 	# itu updatemedia -R /export/s10u1 -o /tmp/dvd.iso -l MyS10U1
> 		/opt/patches/123456-07 /opt/pkgs/MYdriver
> 
>     Example 4:
> 
> 	Create bootable ISO image mydvd.iso of the Solaris install image
> 	/export/solaris-10u1 with ISO label "Special-S10".
> 
> 	# itu makeiso -o mydvd.iso -l "Special-S10" /export/solaris-10u1
> 	# cdrw -i mydvd.iso
> 
> SEE ALSO
>     cdrecord(1), cdrw(1), patchadd(1m), pkgadd(1m), mkisofs(8)
> 
> 
> ========================================================================
> 
> NAME
>     mkbootmedia - create bootable Solaris ISO image
> 
> SYNOPSIS
>     /usr/bin/mkbootmedia [-v] [-l <label>] <media-root> <iso>
> 
> 
> DESCRIPTION
>     mkbootmedia takes <media-root> (the root of an on-disk Solaris install
>     media) as input and creates a bootable Solaris ISO image in the file
>     <iso> using mkisofs(8).  The file can then be burned onto a CD/DVD with
>     utilities such as cdrw(1) or cdrecord(1).
> 
>     WARNING:
> 	The directory tree <media-root> must contain the file
> 	/boot/grub/stage2_eltorito, to be written to the media boot sectors.
> 	This file will be modified by with some boot information, thus it
> 	needs to be writable.  If necessary, save a copy first prior to
> 	running this utility.
> 
> OPTIONS
>     The following options are supported:
> 
>     -l <label>
> 	Sets <label> as the label/volume name of the ISO image.
> 
>     -v
> 	Verbose.  Multiple -v options increase verbosity.
> 
> OPERANDS
>     The following operands are supported:
> 
>     <media-root>
> 	Top-level directory of an on-disk Solaris install media.
> 
>     <iso>
> 	Name of the output file which will contain the resulting ISO image.
> 
> EXAMPLES
>     Example 1: Create an ISO image from the the content of s10u1 and
>     burn the image to a CD/DVD.
> 
> 	# /usr/bin/mkbootmedia s10u1 s10u1.iso
> 	# /usr/bin/cdrw -i s10u1.iso
> 
> SEE ALSO
>     cdrecord(1), cdrw(1), mkisofs(8)
> 
> 
> ========================================================================
> 
> 
> NAME
>      updatemedia - modify Solaris media with patches and packages.
> 
> SYNOPSIS
>      /usr/bin/updatemedia -d <media-root> [-v] [-o <iso>] [-l <label>]
>             <pkg_or_patch> [<pkg_or_patch> ...]
> 
> DESCRIPTION
>     updatemedia takes a list of patches and packages as input and updates
>     the install miniroot in <media-root> (the root directory of an on-disk
>     image of a Solaris installation media) to include the specified
>     patches and packages.  These patches and packages are also placed in
>     a subdirectory called DU under the Solaris install image, for example:
> 
> 	<media-root>/Solaris_10/DU
> 
>     When booting a system from the updated media, the patches and packages
>     will be part of the booted Solaris image.  They will also be applied
>     to the target system being installed at the end of the installation
>     process.
> 
>     If -o is specified, a bootable ISO image is created in the file
>     <media.iso> containing the Solaris install media.  The ISO image can
>     then be burned onto a CD/DVD with utilities such as cdrw(1) or
>     cdrecord(1).
> 
> OPTIONS
>     The following options are supported:
> 
>     -d <media-root>
> 	Top-level directory of on-disk image of Solaris installation media.
> 	This is option must be specified.
> 
>     -o <iso>
> 	Create a Solaris ISO image of <media-root>.
> 
>     -l <label>
> 	Label/volume name of the ISO image (if -o option is specified).
> 	If unspecified, the name of Solaris directory under <media-root>,
> 	for instance Solaris_10, will be used.
> 
>     -v
> 	Verbose.  Multiple -v options increase verbosity.
> 
> OPERANDS
>     The following operands are supported:
> 
>     <pkg_or_patch> [<pkg_or_patch> ...]
> 	One or more patches and/or packages with which the Solaris
> 	installation media <media-root> will be updated.
> 
> EXAMPLES
>     Example 1: Update the Solaris install image in s10u1 by adding
>     patch 123456-07 and package SUNWfoo.
> 
> 	# /usr/bin/updatemedia -d s10u1 SUNWfoo 123456-07
> 
> SEE ALSO
>     cdrecord(1), cdrw(1), mkbootmedia(1), mkisofs(8)
> 
> 
> 
> ========================================================================
> 
> 
> NAME
>     pkg2du - convert driver packages to Driver Update (DU) format
> 
> SYNOPSIS
>     /usr/bin/pkg2du [-f] [-v] [-d <dir>] [-o <iso>] [-l <label>]
> 	[-r <release>] <pkg> [<pkg> ...]
> 
> DESCRIPTION
>     pkg2du takes one or more packages as input and converts them to
>     Driver Update (DU) format.  If the -d option is specified, the
>     resulting DU directory tree is placed in the directory <dir>.
>     If the -o option is specified, a Solaris ISO image of the
>     DU directory tree is written in the file <iso>.  The ISO image can
>     be burned onto CD/DVD using cdrw(1) or cdrecord(1) and used
>     during Solaris installation.
> 
>     At least one of -d and -o option must be specified.  If both are
>     specified, then both an ISO image and a directory tree are generated.
> 
> OPTIONS
>     The following options are supported:
> 
>     -d <dir>
> 	Directory where the Driver Update directory should be created.
>     -o <iso>
> 	Create a Solaris ISO image of the Driver Update directory.
>     -f
> 	If <dir>/DU or <iso> exists, remove it without asking first.
>     -l <label>
> 	Label/volume name of the ISO image (if -o option is specified).
>     -r <release>
> 	Solaris release number to use.  It takes the form of 5.10.
> 	If unspecified, the release number of the currently running
> 	Solaris is used.
>     -v
> 	Verbose.  Multiple -v options increase verbosity.
> 
> OPERANDS
>     The following operands are supported:
> 
>     <pkg> [<pkg> ...]
> 	One or more packages to be converted to DU format.
> 
> EXAMPLES
>     Example 1: create a Driver Update CD/DVD containing packages
>     SUNWfoo and SUNWbar.
> 
> 	# /usr/bin/pkg2du -r 5.10 -o my.iso SUNWfoo SUNWbar
> 	# /usr/bin/cdrw -i my.iso
> 
> SEE ALSO
>     cdrecord(1), cdrw(1), mkbootmedia(1), mkisofs(8)
> 
> 
> 6. Resources and Schedule
>     6.4. Steering Committee requested information
>    	6.4.1. Consolidation C-team Name:
> 		ON
>     6.5. ARC review type: FastTrack
>     6.6. ARC Exposure: open
> 


	/Jan Friedel <jf (at) Sun.com>

From James.McPherson@sun.com Wed Jul  9 03:56:16 2008
Received: from sunmail4.singapore.sun.com (sunmail4.Singapore.Sun.COM [129.158.71.19])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m69AuFPM002514
	for <psarc-ext@sac.sfbay.Sun.COM>; Wed, 9 Jul 2008 03:56:15 -0700 (PDT)
Received: from nwk-avmta-2.sfbay.sun.com (nwk-avmta-2.SFBay.Sun.COM [129.145.155.6])
	by sunmail4.singapore.sun.com (8.13.4+Sun/8.13.3/ENSMAIL,v2.2) with ESMTP id m69Atrw4013881
	for <@sunmail2sca.sfbay.sun.com:PSARC-ext@sun.com>; Wed, 9 Jul 2008 18:56:14 +0800 (SGT)
Received: from pmxchannel-daemon.nwk-avmta-2.sfbay.sun.com by
 nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0K3Q00F03JPO6G00@nwk-avmta-2.sfbay.sun.com> for PSARC-ext@sun.com
 (ORCPT PSARC-ext@sun.com); Wed, 09 Jul 2008 03:56:12 -0700 (PDT)
Received: from sineb-mail-1.sun.com ([192.18.19.6])
 by nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0K3Q0072EJPJOE80@nwk-avmta-2.sfbay.sun.com> for
 PSARC-ext@sun.com (ORCPT PSARC-ext@sun.com); Wed,
 09 Jul 2008 03:56:11 -0700 (PDT)
Received: from fe-apac-05.sun.com
 (fe-apac-05.sun.com [192.18.19.176] (may be forged))
	by sineb-mail-1.sun.com (8.13.6+Sun/8.12.9) with ESMTP id m69AuYre027344	for
 <PSARC-ext@sun.com>; Wed, 09 Jul 2008 10:56:34 +0000 (GMT)
Received: from conversion-daemon.mail-apac.sun.com by mail-apac.sun.com
 (Sun Java System Messaging Server 6.2-6.01 (built Apr  3 2006))
 id <0K3Q00M01JKODA00@mail-apac.sun.com>
 (original mail from James.McPherson@Sun.COM)
 for PSARC-ext@sun.com (ORCPT PSARC-ext@sun.com); Wed,
 09 Jul 2008 18:55:38 +0800 (SGT)
Received: from [192.168.1.10] ([220.157.71.44])
 by mail-apac.sun.com (Sun Java System Messaging Server 6.2-6.01 (built Apr  3
 2006)) with ESMTPSA id <0K3Q0045WJOPPGDL@mail-apac.sun.com>; Wed,
 09 Jul 2008 18:55:38 +0800 (SGT)
Date: Wed, 09 Jul 2008 20:56:06 +1000
From: "James C. McPherson" <James.McPherson@sun.com>
Subject: Re: ITU construction tools [PSARC/2008/431 FastTrack timeout
	07/16/2008]
In-reply-to: <20080709102214.GH12130@tipo.czech.sun.com>
Sender: James.McPherson@sun.com
To: Jan Friedel <Jan.Friedel@sun.com>
Cc: Darren J Moffat <darrenm@sac.sfbay.sun.com>, PSARC-ext@sun.com,
        driver-discuss@opensolaris.org
Reply-to: James.McPherson@sun.com
Message-id: <48749946.9020505@Sun.COM>
Organization: Sun Microsystems
MIME-version: 1.0
Content-type: text/plain; format=flowed; charset=UTF-8
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
References: <200807090928.m699ShtZ001054@sac.sfbay.sun.com>
 <20080709102214.GH12130@tipo.czech.sun.com>
User-Agent: Thunderbird 2.0.0.14 (X11/20080616)
Status: RO
Content-Length: 661

Jan Friedel wrote:
> 	Below described approach seems to be related only to x86/GRUB
> 	systems. Do we have some sort of support for SPARC machines
> 	(already there / planned)?

Hi Jan,
you're right, the utilities as they currently exist are specificly
for x86/x64 systems. I had not worried about SPARC support since
I've not yet come across any request from an IHV/ISV to provide this
sort of facility.

I am quite happy to work on it for a followup phase, especially
since we've now got GRUB for SPARC.

best regards,
James C. McPherson
--
Senior Kernel Software Engineer, Solaris
Sun Microsystems
http://blogs.sun.com/jmcp	http://www.jmcp.homeunix.com/blog

From James.McPherson@Sun.COM Wed Jul  9 04:27:33 2008
Received: from sunmail3mpk.sfbay.sun.com (sunmail3mpk.SFBay.Sun.COM [129.146.11.52])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m69BRXs2002801
	for <psarc-ext@sac.sfbay.sun.com>; Wed, 9 Jul 2008 04:27:33 -0700 (PDT)
Received: from nwk-avmta-1.SFBay.Sun.COM (nwk-avmta-1.SFBay.Sun.COM [129.146.11.74])
	by sunmail3mpk.sfbay.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id m69BRXAp011316
	for <@sunmail2sca.sfbay.sun.com:PSARC-ext@sun.com>; Wed, 9 Jul 2008 04:27:33 -0700 (PDT)
Received: from pmxchannel-daemon.nwk-avmta-1.sfbay.Sun.COM by
 nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0K3Q00301L5XI700@nwk-avmta-1.sfbay.Sun.COM> for PSARC-ext@sun.com
 (ORCPT PSARC-ext@sun.com); Wed, 09 Jul 2008 04:27:33 -0700 (PDT)
Received: from sineb-mail-2.sun.com ([192.18.19.7])
 by nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0K3Q00CWZL5VTI90@nwk-avmta-1.sfbay.Sun.COM> for
 PSARC-ext@sun.com (ORCPT PSARC-ext@sun.com); Wed,
 09 Jul 2008 04:27:33 -0700 (PDT)
Received: from fe-apac-05.sun.com
 (fe-apac-05.sun.com [192.18.19.176] (may be forged))
	by sineb-mail-2.sun.com (8.13.6+Sun/8.12.9) with ESMTP id m69BSZlj023429	for
 <PSARC-ext@sun.com>; Wed, 09 Jul 2008 11:28:35 +0000 (GMT)
Received: from conversion-daemon.mail-apac.sun.com by mail-apac.sun.com
 (Sun Java System Messaging Server 6.2-6.01 (built Apr  3 2006))
 id <0K3Q00E01L52EA00@mail-apac.sun.com>
 (original mail from James.McPherson@Sun.COM)
 for PSARC-ext@sun.com (ORCPT PSARC-ext@sun.com); Wed,
 09 Jul 2008 19:27:02 +0800 (SGT)
Received: from [192.168.1.10] ([220.157.71.44])
 by mail-apac.sun.com (Sun Java System Messaging Server 6.2-6.01 (built Apr  3
 2006)) with ESMTPSA id <0K3Q0077XL50UH5E@mail-apac.sun.com>; Wed,
 09 Jul 2008 19:27:02 +0800 (SGT)
Date: Wed, 09 Jul 2008 21:27:30 +1000
From: "James C. McPherson" <James.McPherson@Sun.COM>
Subject: Re: ITU construction tools [PSARC/2008/431 FastTrack timeout
	07/16/2008]
In-reply-to: <48749946.9020505@Sun.COM>
Sender: James.McPherson@Sun.COM
To: Jan Friedel <Jan.Friedel@Sun.COM>
Cc: PSARC-ext@Sun.COM, driver-discuss@opensolaris.org,
        Darren J Moffat <darrenm@sac.sfbay.sun.com>
Reply-to: James.McPherson@Sun.COM
Message-id: <4874A0A2.1010201@Sun.COM>
Organization: Sun Microsystems
MIME-version: 1.0
Content-type: text/plain; format=flowed; charset=UTF-8
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
References: <200807090928.m699ShtZ001054@sac.sfbay.sun.com>
 <20080709102214.GH12130@tipo.czech.sun.com> <48749946.9020505@Sun.COM>
User-Agent: Thunderbird 2.0.0.14 (X11/20080616)
Status: RO
Content-Length: 800

James C. McPherson wrote:
> Jan Friedel wrote:
>> 	Below described approach seems to be related only to x86/GRUB
>> 	systems. Do we have some sort of support for SPARC machines
>> 	(already there / planned)?
> 
> Hi Jan,
> you're right, the utilities as they currently exist are specificly
> for x86/x64 systems. I had not worried about SPARC support since
> I've not yet come across any request from an IHV/ISV to provide this
> sort of facility.
> 
> I am quite happy to work on it for a followup phase, especially
> since we've now got GRUB for SPARC.

ahem... of course I meant "now we've got Newboot for SPARC"
which has a ramdisk and boot_archive.

:-)

James C. McPherson
--
Senior Kernel Software Engineer, Solaris
Sun Microsystems
http://blogs.sun.com/jmcp	http://www.jmcp.homeunix.com/blog

From Michael.Riley@sun.com Wed Jul  9 08:26:34 2008
Received: from sunmail5.uk.sun.com (sunmail5.UK.Sun.COM [129.156.85.165])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m69FQXkV009167
	for <psarc-ext@sac.sfbay.sun.com>; Wed, 9 Jul 2008 08:26:33 -0700 (PDT)
Received: from nwk-avmta-1.SFBay.Sun.COM (nwk-avmta-1.SFBay.Sun.COM [129.146.11.74])
	by sunmail5.uk.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.2) with ESMTP id m69FQN4B008905
	for <@sunmail2sca.sfbay.sun.com:PSARC-ext@sun.com>; Wed, 9 Jul 2008 16:26:32 +0100 (BST)
Received: from pmxchannel-daemon.nwk-avmta-1.sfbay.Sun.COM by
 nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0K3Q0050FW853200@nwk-avmta-1.sfbay.Sun.COM> for PSARC-ext@sun.com
 (ORCPT PSARC-ext@sun.com); Wed, 09 Jul 2008 08:26:29 -0700 (PDT)
Received: from sca-es-mail-1.sun.com ([192.18.43.132])
 by nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0K3Q00L8YW85GF40@nwk-avmta-1.sfbay.Sun.COM> for
 PSARC-ext@sun.com (ORCPT PSARC-ext@sun.com); Wed,
 09 Jul 2008 08:26:29 -0700 (PDT)
Received: from fe-sfbay-09.sun.com ([192.18.43.129])
	by sca-es-mail-1.sun.com (8.13.7+Sun/8.12.9) with ESMTP id m69FQSPn009973	for
 <PSARC-ext@sun.com>; Wed, 09 Jul 2008 08:26:29 -0700 (PDT)
Received: from conversion-daemon.fe-sfbay-09.sun.com by fe-sfbay-09.sun.com
 (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 2007))
 id <0K3Q00A01W2CRT00@fe-sfbay-09.sun.com>
 (original mail from Michael.Riley@Sun.COM)
 for PSARC-ext@sun.com (ORCPT PSARC-ext@sun.com); Wed,
 09 Jul 2008 08:26:28 -0700 (PDT)
Received: from [192.168.1.204] ([68.108.176.198])
 by fe-sfbay-09.sun.com (Sun Java System Messaging Server 6.2-8.04 (built Feb
 28 2007)) with ESMTPSA id <0K3Q00AMAW836A10@fe-sfbay-09.sun.com>; Wed,
 09 Jul 2008 08:26:28 -0700 (PDT)
Date: Wed, 09 Jul 2008 08:26:27 -0700
From: Mike Riley <Michael.Riley@sun.com>
Subject: Re: ITU construction tools [PSARC/2008/431 FastTrack timeout
	07/16/2008]
In-reply-to: <48749946.9020505@Sun.COM>
Sender: Michael.Riley@sun.com
To: James.McPherson@sun.com
Cc: Jan Friedel <Jan.Friedel@sun.com>,
        Darren J Moffat <darrenm@sac.sfbay.sun.com>, PSARC-ext@sun.com,
        driver-discuss@opensolaris.org
Message-id: <4874D8A3.3020108@sun.com>
MIME-version: 1.0
Content-type: text/plain; format=flowed; charset=UTF-8
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
References: <200807090928.m699ShtZ001054@sac.sfbay.sun.com>
 <20080709102214.GH12130@tipo.czech.sun.com> <48749946.9020505@Sun.COM>
User-Agent: Thunderbird 2.0.0.12 (X11/20080310)
Status: RO
Content-Length: 1028

James C. McPherson wrote:
> Jan Friedel wrote:
>>     Below described approach seems to be related only to x86/GRUB
>>     systems. Do we have some sort of support for SPARC machines
>>     (already there / planned)?
> 
> Hi Jan,
> you're right, the utilities as they currently exist are specificly
> for x86/x64 systems. I had not worried about SPARC support since
> I've not yet come across any request from an IHV/ISV to provide this
> sort of facility.
> 
> I am quite happy to work on it for a followup phase, especially
> since we've now got GRUB for SPARC.

Well I have, and not from an external customer, from our own hardware 
groups.  We have had to issue various HW versions of Solaris for Sparc 
hardware that we needed to release prior to the next official release.

So we end up creating an interim hardware release, just to add a driver or 
two.  If SPARC systems had this capability we would not need to involve 
Release Engineering in creating a special one-off release to support new 
hardware releases.

Mike

From Darren.Moffat@sun.com Tue Jul 22 05:15:31 2008
Received: from newsunmail1brm.central.sun.com (newsunmail1brm.Central.Sun.COM [129.147.62.245])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m6MCFUB1027304
	for <psarc-ext@sac.sfbay.sun.com>; Tue, 22 Jul 2008 05:15:30 -0700 (PDT)
Received: from nwk-avmta-1.SFBay.Sun.COM (nwk-avmta-1.SFBay.Sun.COM [129.146.11.74])
	by newsunmail1brm.central.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id m6MCFKvo037338
	for <@sunmail2sca.sfbay.sun.com:PSARC-EXT@sun.com>; Tue, 22 Jul 2008 06:15:30 -0600 (MDT)
Received: from pmxchannel-daemon.nwk-avmta-1.sfbay.Sun.COM by
 nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0K4E00G01Q1T4800@nwk-avmta-1.sfbay.Sun.COM> for PSARC-EXT@sun.com
 (ORCPT PSARC-EXT@Sun.COM); Tue, 22 Jul 2008 05:15:29 -0700 (PDT)
Received: from gmp-eb-inf-2.sun.com ([192.18.6.24])
 by nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0K4E00JYUQ1SPK90@nwk-avmta-1.sfbay.Sun.COM> for
 PSARC-EXT@sun.com (ORCPT PSARC-EXT@Sun.COM); Tue,
 22 Jul 2008 05:15:29 -0700 (PDT)
Received: from fe-emea-10.sun.com (gmp-eb-lb-2-fe3.eu.sun.com [192.18.6.12])
	by gmp-eb-inf-2.sun.com (8.13.7+Sun/8.12.9) with ESMTP id m6MCFSYF020200	for
 <PSARC-EXT@Sun.COM>; Tue, 22 Jul 2008 12:15:28 +0000 (GMT)
Received: from conversion-daemon.fe-emea-10.sun.com by fe-emea-10.sun.com
 (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 2007))
 id <0K4E00C01PIN3000@fe-emea-10.sun.com>
 (original mail from Darren.Moffat@Sun.COM)
 for PSARC-EXT@Sun.COM (ORCPT PSARC-EXT@Sun.COM); Tue,
 22 Jul 2008 13:15:28 +0100 (BST)
Received: from [129.156.173.21] by fe-emea-10.sun.com
 (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 2007))
 with ESMTPSA id <0K4E00MY5Q1PP550@fe-emea-10.sun.com> for PSARC-EXT@Sun.COM
 (ORCPT PSARC-EXT@Sun.COM); Tue, 22 Jul 2008 13:15:25 +0100 (BST)
Date: Tue, 22 Jul 2008 13:15:25 +0100
From: Darren J Moffat <Darren.Moffat@sun.com>
Subject: PSARC/2008/431 ITU Construction Tools
Sender: Darren.Moffat@sun.com
To: PSARC-EXT@sun.com, James.McPherson@sun.com
Message-id: <4885CF5D.2060004@Sun.COM>
MIME-version: 1.0
Content-type: text/plain; format=flowed; charset=ISO-8859-1
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
User-Agent: Thunderbird 2.0.0.14 (X11/20080630)
Status: RO
Content-Length: 156

This case has timed out with out any unresolved issues.  The issue of 
SPARC support for these tools is for a future case to resolve.


-- 
Darren J Moffat

From Frank.Che@sun.com Mon Oct 19 23:23:26 2009
Received: from sunmail2sca.sfbay.sun.com (sunmail2sca.SFBay.Sun.COM [129.145.155.234])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id n9K6NQnk024347
	for <psarc-ext@sac.sfbay.sun.com>; Mon, 19 Oct 2009 23:23:26 -0700 (PDT)
Received: from brm-avmta-1.central.sun.com (brm-avmta-1.Central.Sun.COM [129.147.4.11])
	by sunmail2sca.sfbay.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.4) with ESMTP id n9K6NOeM028891
	for <@sunmail2sca.sfbay.sun.com:PSARC-ext@sun.com>; Mon, 19 Oct 2009 23:23:26 -0700 (PDT)
Received: from pmxchannel-daemon.brm-avmta-1.central.sun.com by
 brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0KRS00A01V32WM00@brm-avmta-1.central.sun.com> for PSARC-ext@sun.com
 (ORCPT PSARC-ext@sun.com); Tue, 20 Oct 2009 00:23:26 -0600 (MDT)
Received: from sineb-mail-1.sun.com ([192.18.19.6])
 by brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KRS0090NV3064E0@brm-avmta-1.central.sun.com> for
 PSARC-ext@sun.com (ORCPT PSARC-ext@sun.com); Tue,
 20 Oct 2009 00:23:25 -0600 (MDT)
Received: from fe-apac-06.sun.com
 (fe-apac-06.sun.com [192.18.19.177] (may be forged))
	by sineb-mail-1.sun.com (8.13.6+Sun/8.12.9) with ESMTP id n9K6NOtp022910	for
 <PSARC-ext@sun.com>; Tue, 20 Oct 2009 06:23:24 +0000 (GMT)
Received: from conversion-daemon.mail-apac.sun.com by mail-apac.sun.com
 (Sun Java(tm) System Messaging Server 7u2-7.04 64bit (built Jul  2 2009))
 id <0KRS00400V0IX700@mail-apac.sun.com> for PSARC-ext@sun.com
 (ORCPT PSARC-ext@sun.com); Tue, 20 Oct 2009 14:23:24 +0800 (SGT)
Received: from [129.158.218.60] ([unknown] [129.158.218.60])
 by mail-apac.sun.com
 (Sun Java(tm) System Messaging Server 7u2-7.04 64bit (built Jul  2 2009))
 with ESMTPSA id <0KRS00969V2ZS5C0@mail-apac.sun.com> for PSARC-ext@sun.com
 (ORCPT PSARC-ext@sun.com); Tue, 20 Oct 2009 14:23:24 +0800 (SGT)
Date: Tue, 20 Oct 2009 14:18:58 +0800
From: Frank Che <Frank.Che@sun.com>
Subject: Release binding change for PSARC/2008/431 ITU construction tools
Sender: Frank.Che@sun.com
To: PSARC-ext@sun.com
Cc: xun ni - Sun Microsystems - Beijing China <Xun.Ni@sun.com>,
        James.McPherson@sun.com
Message-id: <4ADD5652.9070907@sun.com>
MIME-version: 1.0
Content-type: text/plain; CHARSET=US-ASCII; format=flowed
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
User-Agent: Thunderbird 2.0.0.19 (X11/20090218)
Status: RO
Content-Length: 539

PSARC/2008/431 ITU construction tools was originally approved with a 
minor binding. Since then it has become apparent that a backport to 
Solaris 10 would be of considerable value to our IHV and ISV partners. 
So the project team request that the binding for 2008/431 be changed to 
"patch".

I believe this qualifies for self review. If there is concern, I'd be 
happy to upgrade it to a fast track and set the timer.

CRs for this project:
(6721696 IHVs need easy ITU creation utilities)
(6777211 SPARC systems need ITU lovin')

Frank.

