Name(s) of person (s) answer questions? Sarah Jelinek 1. What specifically is the proposal that we are reviewing? Fast track request for PSARC/2007/284. The 1st project, in a series of planned projects, for the New Solaris Installer(NSI) program, formerly known as Caiman. This project, Dwarf Caiman, will deliver a subset of the overall NSI program plans as outlined in PSARC/2007/039, suitable for the graphical installation path for the Solaris Express Developer Edition release. This project is also related to the Solaris Express Developer Edition project that was presented in PSARC/2006/687. 2. Project Summary: Dwarf Caiman is the first of many Solaris install projects aimed at fulfilling the strategy outlined in: http://www.opensolaris.org/os/community/install/files/install_strategy.pdf. This project is not intended to replace the general Solaris installer GUI, nor does it modify the existing character and command-line interfaces. It provides a streamlined installation experience with a totally new look and feel for the graphical user interface. The focus is on branding and usability of the GUI. It also provides the beginnings of the New Solaris Installer architecture. Specific details as to what features Dwarf Caiman will provide are listed below. We are requesting a minor release binding. 3.0 Technical details 3.1 Project Requirements 3.1.1 General: 1. x86 platform support only. Sparc bits will be built, but there is no boot support for Developer Edition on sparc. 2. DVD distribution only. 3. Support for installation and upgrade from the SUNWCXall metacluster only. No software selection offered. 4. No additional product install offered. 3.1.2 Initial Install: 1. Solaris Initial Installation targets supported: a) Whole disks only b) Behaviors: -Disk chosen by user will be, by default, partitioned as 1 Solaris2 fdisk partition. -If user chooses the non-default option of partitioning the disk chosen, the existing Solaris2 partition, if it exists will be used as the installation target by default. -The disk chosen can be repartitioned to include only 1 Solaris2 fdisk partition. -All existing non-Solaris2 fdisk partitions will be preserved if there is adequate space in the Solaris2 partition for installation if the user makes no changes that would change the start block or length of the existing partitions. c) filesystem layout: -Solaris fdisk partition will be resliced with default filesystem layout. Default layout will be as follows: TBD* d) Existing User Data: -There will be no option for the user to select slices to preserve with initial installation. 2. Other user selections offered with initial install: a) See GUI mockup as noted in [1]. 3.1.2.1 Initial install scenario examples 1. The user allows default selections for all of the installation process. This results in: -The disk target chosen being partitioned as 1 Solaris2 fdisk partition. -Default filesystems configured for the Solaris installation. -All existing data on disk chosen is overwritten. 2. The user selects to utilize the existing fdisk partitions on the selected disk target. This results in: -The installation of Solaris will occur on the existing Solaris2 fdisk partition. Any previous data on this partition will be overwritten. -All other partition data will be untouched. -Default filesystems will be configured for the Solaris installation. 3. The user selects to customize the fdisk partition layout on the selected disk target by enlarging the existing Solaris2 fdisk partition, which is partition 2. This results in: -The installation of Solaris will occur on this resized Solaris2 fdisk partition. -Partition 1 will remain unchanged. Any data that exists on this partition will remain accessible. -Partitions 3 and 4, if they exist, and if they are of the allowed partition types Solaris can create, will be rewritten with a new start block and length. All existing data on the original partitions will not be accessible due to the change of the fdisk partition data for these. -If Partitons 3 and 4 are fdisk types that Solaris cannot currently create, we will delete the old partitions to create the new partition 2, and the remaining space on the disk will be left unallocated. The user can change this after utilizing the partition tool of their choice. -Default filesystem will be configured for the Solaris installation. 3.1.3 Upgrade: 1. Solaris Upgrade targets supported: a) Solaris root slice in a VTOC labeled fdisk partition b) Attributes: -Within slices discovered, partition tags labeled 'root' and 'unassigned' (the latter, for the cases of freshly installed Solaris' and LUs that have not yet been activated) -root slice must mount successfully -/var, if installed on a separate slice, as found in /etc/vfstab, must mount successfully. -/var/sadm/softinfo/INST_RELEASE file is present and readable. -/var/sadm/system/CLUSTER file is present and readable. -/var/sadm/system/.clustertoc file is present and readable. -/boot/solaris/bootenv.rc on X86 is present. -All non-global zones associated with the root must be upgradable. -/usr packages present -Solaris version must be one of a previous SXDE build. It will also allow upgrade from Solaris Express Community Edition releases that coincide with the SXDE releases. 2. Solaris upgrade targets not supported: a) Solaris instance whose root resides on SVM b) Solaris instance has non-global zones configured that are on an SVM metadevice c) Solaris instance has non-global zones with ZFS root 3.1.3.1 Solaris Upgrade Scenario examples 1. User chooses valid upgrade target. Size of root is sufficient to handle the upgrade. This results in: -Upgrade is performed. -All existing data is preserved. -No fdisk partition data is modified. 2. User chooses invalid upgrade target. This results in: -Message displayed as to why the target is not a valid upgrade target. A warning symbol will have been displayed for this listed target so that the user should be aware of its status. -No changes occur. 3.1.4 The SunStudio and NetBeans tools: 1. Initial Install: a) Installation behavior and scripts are provided by the Developer tools team. b) During initial install Sun Studio 12 will be installed. c) During intial install Sun Studio 12 will install NetBeans 5.5.1 as it currently ships this version. d) NetBeans 5.5 will also be installed since NetBeans users are supposed to use this version, and not 5.5.1. 2. Upgrade: a) Upgrade behavior and scripts are provided by tools team. b) If supported tools are currently installed on system, they will not be upgraded to Sun Studio 12. c) If tools not currently installed on system, Sun Studio 12 will be installed during upgrade. 4.0 Interfaces 4.1 EXPORTED INTERFACES: Proposed Specified Former Stability Interface Stability in what Classification Name Classification document? or Other Comments ------------------------------------------------------------------------------ Dwarf GUI Uncommitted [1],[9] liborchestrator.so.1 Project Private [2] libtd.so.1 Project Private [3] soldevx Committed PSARC/2006/687 Boot property set by GRUB menu 4.2 IMPORTED INTERFACES: Proposed Specified Former Stability Interface Stability in what Classification Name Classification document? or Other Comments ------------------------------------------------------------------------------ libdiskmgt.so.1 LSARC/2004/743 Consolidation Private** libnvpair.so.1 [4], [5], [6] Committed (Evolving) libsvm.so.1 [7], [8] Consolidation Private*** libdevinfo.so.1 PSARC/1997/127 Committed (Evolving) Developer tools scripts PSARC/2006/687 Committed 4.3 Interface Notes: **Contract submitted to owning team, ZFS. Received approval from Dave Brittle, RM for ZFS. Contract in case materials, PSARC/2007/284. ***Contract already secured with SVM team. See [7] and [8] below. 5. Misc 5.1 UIRB review We have currently filed a case as noted in [9] below for UIRB review. The expectation is that while this review is not required at this time for Dwarf Caiman, since the UI is specifically targeted at developers and not system administrators, we will be conducting UIRB reviews for every release of the new Installer. It is expected that this initial UIRB review will be handled via email. 5.2 Memory Requirements The current memory requirements to boot and install Solaris Express Developer Edition 1 and 2 is 768MB. This is due to several factors: -The need for Java to be loaded in to ramdisk the current Developer Express Java GUI. -The size of the miniroot due to additional required packages. For Dwarf Caiman we are actively trying to reduce the minimum size required for memory by the following: -Remove the need for Java: -The Dwarf GUI is implemented using Gnome and in C. -We will not require the existing Solaris Install 'launcher' code to install the Sun Studio tools. The 'launcher' is implemented with Java. -Created a separate root archive for the Dwarf Caiman bits to allow for trimming of unnecessary packages for this installation path. No testing has been done to validate that these steps will reduce the memory requirement. The addition of new Gnome packages required for the Dwarf GUI along with the addition of any new miniroot packages in support of new features such as Xen may mean we don't see a substantial reduction in the memory requirements. 6. Documentation: [1] Xdesign Dwarf Caiman GUI Mockup: http://xdesign.sfbay/projects/solaris/subprojects/install/design/dwarf/ [2] Dwarf Caiman Orchestrator design document: http://opensolaris.org/os/project/caiman/files/dwarf_caiman_design.pdf [3] Dwarf Caiman Target Discovery design document: http://opensolaris.org/os/project/caiman/files/dwarf_td_design.pdf [4] PSARC/2000/212 - libnvpair - A Name Value Pairs library [5] PSARC/2003/121 - Extension to libnvpair [6] PSARC/2003/252 - Another libnvpair extension [7] PSARC/2000/049 - Solaris logical volume manager upgrade [8] PSARC/2001/341 - SVM -Upgrade Contract Interfaces [9] UIRB/2007/264 - http://sac.sfbay.sun.com/Archives/CaseLog/rb/UIRB/2007/264/, Dwarf Caiman UIRB Review Materials