.de Sc
\\s-1\\$1\\s0\\$2
..
.ds cA 2006/370
.ds aR \s-1PSARC\s0
.LP
.so ../../amac
.Co
.ds LF \fI\*(aR/\*(cA\fP
.ds RF \fICopyright 2008 Sun Microsystems\fP
.if n .ds CF
.IP \fBSubject:\fP 15
ZFS Boot Support
.IP "\fBSubmitted by:\fP" 15
Lori Alt
.IP \fBFile:\fP 15
\*(aR/\*(cA/opinion.ms
.IP \fBDate:\fP 15
January 16th, 2008
.IP "\fBCommittee:\fP" 15
James D. Carlson,
Kais Belgaied,
Mark Carlson,
Glenn Skinner.
.IP "\fBProduct Approval Committee:\fP" 15

Solaris PAC
.br
solaris-pac-opinion@sun.com

.pn 2
.NH
Summary
.LP
This project adds ZFS booting capability to OpenSolaris, including
ZFS-based Live Upgrade.
.NH
Decision & Precedence Information
.LP
The project is approved as specified in references [1] and [2].
.LP
The project may be delivered in a minor release of Solaris via the ON
and Install consolidations.
.NH
Interfaces
.LP
The project exports the following interfaces.
.if n .ne 8
.if t .ne 3
.TS H
box;
c s s
l | l | l.
Interfaces Exported
_
Interface	Classification	Comments
_
.TH
lucreate -p	Committed	specify root pool
lufslist output	Volatile	ZFS file system names
ICF entry	Consolidation Private	LU's internal BE data
fstbl	Consolidation Private	LU's internal fs data
lutab	Consolidation Private	LU BE directory
/pooldata/	Committed	Mount point for common data
canmount=noauto	Committed	New ZFS property value
pool keyword	Committed	Jumpstart; specify pool name
bootenv installbe	Committed	Jumpstart; set BE name
filesys keyword	Committed	Jumpstart; add pool name
rootdev keyword	Committed	Jumpstart; root pool device
menu.lst	Committed	Now on SPARC
zfsboot	Project Private	ZFS SPARC booter image
/etc/lu/GRUB_slice	Sun Private	Shared LU/bootadm data
ttinstall	Volatile	Added ZFS configuration screens
.TE
.NH
Opinion
.LP
.NH 2
SPARC Versus x86
.LP
One member noted that several features (-B versus -Z, and -L) in the
booting subsystem differ between SPARC and x86, and that this could
confuse users.  The project team pointed out that, for -B versus -Z,
these two options are actually doing different things, though they
happen to be used to accomplish the same goal for ZFS boot.  The -L
option is different because SPARC doesn't have GRUB.  The committee
members accepted the project team's explanation.
.NH 2
Swap Problems With ZFS
.LP
Several members pointed out the deadlock problems with swap and ZFS.
The project team committed to resolving those problems as a part of
(or precondition to) the integration of this project.
.NH 2
Xen Support
.LP
One member asked how Xen booting, which must extract the archive from
ZFS early in the boot process, would work.  The project team did not
have an answer for this, but agreed to the stipulation that it must
work, and any changes to that will require a subsequent review.
.NH 2
ZFS Dataset Naming
.LP
The project team wished to change its special "BE" dataset container
to be less LU-centric and use "ROOT" instead.  The ARC members agreed,
but one ARC member pointed out that it would be better to use an
OS-reserved name space for this ZFS dataset, if possible.  The project
team agreed to investigate this, but as we know of no such
reservation, the ARC members agreed that using "ROOT" was sufficiently
unlikely to cause trouble, given that it appears during initial
install or during deliberate LU action.  The reference materials have
been updated to use "ROOT," and any change from that will require a
subsequent review.
.NH
Minority Opinion(s)
.LP
None.
.NH
Advisory Information
.LP
The project team is advised to investigate a reserved name space for
ZFS datasets that have special meaning to the operating system, and
use a reserved name to contain the boot environments.
.LP
The project team is further advised to test Xen booting and verify
proper operation with ZFS boot.
.NH
Appendices
.NH 2
Appendix A: Technical Changes Required
.LP
None.
.NH 2
Appendix B: Technical Changes Advised
.LP
None.
.NH 2
Appendix C: Reference Material
.LP
Unless stated otherwise, path names are relative to the case
directory \*(aR/\*(cA.
.IP 1.
ZFS Boot Specification
.br
File:
commitment.materials/spec.txt
.IP 2.
ZFS Boot For Live Upgrade
.br
File:
commitment.materials/liveupgrade.txt
