lucreate(1M)




NAME

     lucreate - create a new boot environment


SYNOPSIS

     /usr/sbin/lucreate [-A BE_description]  [-c BE_name]  [-C  (
     boot_device  |  -  )] -n BE_name [-f exclude_list_file] [-I]
     [-l error_log] [-o outfile] [-s ( - |  source_BE_name  )]  [
     [-M    slice_list_file   [-M...]]   [-m   mount_point:device
     [,volume]:fs_options [-m...]]] [-x exclude [-x...]] [-X] [-y
     include [-y...]] [-Y include_list_file] [-z filter_list]


DESCRIPTION

     The lucreate command is part of a  suite  of  commands  that
     make  up  the  Live Upgrade feature of the Solaris operating
     environment. See live_upgrade(5) for a  description  of  the
     Live Upgrade feature and its associated terminology.

     The lucreate command offers a set of  command  line  options
     that enable you to perform the following functions:

        o  Create a new  boot  environment  (BE),  based  on  the
           current BE.

        o  Create a new BE, based on a BE other than the  current
           BE.

        o  Join or separate the file systems of a BE onto  a  new
           BE.  For  example,  join  /var  and  /opt  under /, or
           separate these directories to be  mounted  under  dif-
           ferent disk slices.

        o  Create the file systems for a BE, but leave those file
           systems unpopulated.

     You can perform the preceding functions using only  lucreate
     command-line  options  or you can omit the -m and -M options
     (described below), which automatically invokes an FMLI-based
     interface   that  provides  curses-based  screens  for  Live
     Upgrade administration.  Note that the FMLI-based  interface
     does  not support all of the Live Upgrade features supported
     by lucreate. Also, Sun is not committed to ongoing  develop-
     ment of the FMLI-based interface.

     The creation of a BE includes selecting the disk  or  device
     slices  for  all  the  mount points of the BE. Slices can be
     physical disks or logical devices, such  as  Solaris  Volume
     Manager volumes. You can also change the mount points of the
     BE using the SPLIT and MERGE  functions  of  the  FMLI-based
     configuration screen.

     Upon successful creation of a BE, you can  use  lustatus(1M)
     to  view  the  state of that BE and lufslist(1M) to view the
     BE's file systems. You can use luupgrade(1M) to upgrade  the
     OS  on  that BE and luactivate(1M) to make a BE active, that
     is, designate it as the BE to boot from at the  next  reboot
     of the system.

          Note:

          Before booting a new BE, you  must  run  luactivate  to
          specify that BE as active. luactivate performs a number
          of tasks that ensure correct operation of  the  BE.  In
          some  cases,  a BE is not bootable until after you have
          run the command. See luactivate(1M) for a list  of  the
          operations performed by that command.

     The lucreate command makes a distinction  between  the  file
     systems  that  contain  the  OS-/,  /usr, /var, and /opt-and
     those that do not, such as /export, /home, and other,  user-
     defined file systems. The file systems in the first category
     cannot be shared between the source  BE  and  the  BE  being
     created;  they  are  always copied from the source BE to the
     target BE. By contrast, the user-defined  file  systems  are
     shared  by default. For Live Upgrade purposes, the file sys-
     tems that contain the OS are referred  to  as  non-shareable
     (or  critical) file systems; other file systems are referred
     to as shareable. A non-shareable file system listed  in  the
     source  BE's  vfstab  is copied to a new BE. For a shareable
     file system, if you specify a destination  slice,  the  file
     system is copied. If you do not, the file system is shared.

     The lucreate command supports a limited  subset  of  Solaris
     Volume Manager functions. In particular, using lucreate with
     the -m option, you can:

        o  Create a mirror.

        o  Detach existing SVM concatenations from mirrors. Simi-
           larly,  you can attach existing Solaris Volume Manager
           concatenations to mirrors. These can be  mirrors  that
           were  created  in  Solaris  Volume  Manager  or  those
           created by lucreate.

        o  Create a single-slice concatenation and attach a  sin-
           gle disk slice to it.

        o  Detach a single disk slice from  a  single-slice  con-
           catentation.

        o  Attach multiple single-slice concatenations to a  mir-
           ror.  lucreate  can attach as many of these concatena-
           tions as are allowed by Solaris Volume Manager.

     lucreate does not allow you to attach multiple  disk  slices
     or  multiple  storage devices to a concatenation. Similarly,
     it does not allow you to detach multiple slices  or  devices
     from a concatenation.

     If you use Solaris Volume Manager volumes for boot  environ-
     ments,  it  is recommended that you use lucreate rather than
     Solaris Volume Manager commands to manipulate these volumes.
     The Solaris Volume Manager software has no knowledge of boot
     environments, whereas the lucreate command  contains  checks
     that  prevent  you  from  inadvertently  destroying  a  boot
     environment by,  for  example,  overwriting  or  deleting  a
     Solaris Volume Manager volume.

     If you have already used Solaris Volume Manager software  to
     create  complex Solaris Volume Manager volumes (for example,
     RAID-5 volumes), Live Upgrade will support the use of these.
     However, to create and manipulate these complex objects, you
     must use  Solaris  Volume  Manager  software.  As  described
     above,  the  use  of Solaris Volume Manager software, rather
     than the lucreate command, entails the risk of destroying  a
     boot  environment.  If  you  do  use  Solaris Volume Manager
     software, use lufslist(1M) to determine which devices are in
     use for boot environments.

     Except for a special use of the -s option, described  below,
     you  must  have a source BE for the creation of a new BE. By
     default, it is the current BE. You can use the -s option  to
     specify a BE other than the current BE.

     When creating a new BE, lucreate enables you to exclude  and
     include  certain  files from the source BE. You perform this
     inclusion or exclusion with the  -f,  -x,  -y,  -Y,  and  -z
     options,  described  below.  See the subsection on combining
     these options, following OPTIONS, below.

     By default, all swap partitions on a source  BE  are  shared
     between  the source and target BE. You can use the -m option
     (see below) to specify an additional or new set of swap par-
     titions on a source BE for sharing with a target BE.

     The lucreate command allows you to assign a description to a
     BE.  A description is an optional attribute of a BE that can
     be of any format or length. It might be, for example, a text
     string or binary data. After you create a BE, you can change
     a BE description with the ludesc(1M) utility.

     The lucreate command requires root privileges.


OPTIONS

     The lucreate command has the options listed below. Note that
     a  BE  name must not exceed 30 characters in length and must
     consist only of  alphanumeric  characters  and  other  ASCII
     characters  that  are not special to the Unix shell. See the
     "Quoting" section of sh(1). The BE  name  can  contain  only
     single-byte,  8-bit characters; it cannot contain whitespace
     characters.

     Omission of  -m  or  -M  options  (described  below)  in  an
     lucreate  command  line  invokes  the  FMLI-based interface,
     which allows you to select disk or device slices for a BE.

     -A BE_description
           Assigns the BE_description to a BE. BE_description can
           be  a  text  string  or  other  characters that can be
           entered on a Unix command  line.  See  ludesc(1M)  for
           additional information on BE descriptions.

     -c BE_name
           Assigns the name  BE_name  to  the  current  BE.  This
           option  is  not required and can be used only when the
           first BE is  created.  For  the  first  time  you  run
           lucreate,  if you omit -c, lucreate supplies a default
           name according to the following rules:

           1. If the physical boot device can be determined,  the
              base  name  of  that device is used to name the new
              boot environment. For example, if the physical boot
              device is /dev/dsk/c0t0d0s0, lucreate names the new
              boot environment c0t0d0s0.

           2. If the physical boot device cannot  be  determined,
              the  operating  system  name  (from  uname  -s) and
              operating system release level (from uname -r)  are
              combined  to  produce  the  name  of  the  new boot
              environment. For example, if uname -s returns SunOS
              and uname -r returns 5.9, then lucreate assigns the
              name SunOS5.9 to the new boot environment.

           3. If lucreate can determine neither boot  device  nor
              operating  system name, it assigns the name current
              to the new boot environment.

           If you use the -c option after the first boot environ-
           ment  is  created,  the  option is ignored if the name
           specified is the same as the current boot  environment
           name.  If  the name is different, lucreate displays an
           error message and exits.

     -C (boot_device | -)
           Provided for occasions when lucreate cannot figure out
           which  physical  storage  device  is your boot device.
           This  might  occur,  for  example,  when  you  have  a
           mirrored  root  device  on  the  source  BE  on an x86
           machine. The -C specifies  the  physical  boot  device
           from  which  the  source  BE  is  booted. Without this
           option, lucreate attempts to  determine  the  physical
           device  from  which a BE boots. If the device on which
           the root file system is located is not a physical disk
           (for  example,  if root is on a Solaris Volume Manager
           volume) and lucreate is  able  to  make  a  reasonable
           guess  as  to  the  physical  device,  you receive the
           query:

           Is the physical device devname the boot device for
           the logical device devname?

           If you respond y, the command proceeds.

           If you specify  -C  boot_device,  lucreate  skips  the
           search  for  a physical device and uses the device you
           specify. The -  (hyphen)  with  the  -C  option  tells
           lucreate to proceed with whatever it determines is the
           boot device. If the command cannot  find  the  device,
           you are prompted to enter it.

           If you omit -C or specify -C boot_device and  lucreate
           cannot  find  a boot device, you receive an error mes-
           sage.

           Use of the  -C  -  form  is  a  safe  choice,  because
           lucreate either finds the correct boot device or gives
           you the opportunity to specify that device in response
           to a subsequent query.

     -f exclude_list_file
           Use  the  contents  of  exclude_list_file  to  exclude
           specific  files (including directories) from the newly
           created BE. exclude_list_file contains a list of files
           and  directories,  one  per  line. If a line item is a
           file, only that file is excluded; if a directory, that
           directory   and  all  files  beneath  that  directory,
           including subdirectories, are excluded.

     -I    Ignore integrity check. Prior to creating  a  new  BE,
           lucreate  performs  an integrity check, to prevent you
           from excluding important system files from the BE. Use
           this  option  to  override  this  integrity check. The
           trade-off in use of this option is faster BE  creation
           (with  -I) versus the risk of a BE that does not func-
           tion as you expect.

     -l error_log
           Error messages and other status messages are  sent  to
           error_log,  in addition to where they are sent in your
           current environment.

     -m mount_point:device[,volume]:fs_option

     [-m mount_point:device:fs_option] ...
           Specifies the vfstab(4) information for  the  new  BE.
           The  file  systems specified as arguments to -m can be
           on the same disk or  can  be  spread  across  multiple
           disks.

           mount_point  can  be  any  valid  mount  point  or   -
           (hyphen),  indicating  a  swap  partition.  The device
           field can be one of the following:

              o  The  name  of  a  disk  slice,   of   the   form
                 /dev/dsk/cnumtnumdnumsnum.

              o  The name of a Solaris Volume Manager volume,  of
                 the form /dev/md/dsk/dnum.

              o  The name of a Veritas filesystem,  of  the  form
                 /dev/md/vxfs/dnum.

              o  The keyword merged,  indicating  that  the  file
                 system  at  the  specified  mount point is to be
                 merged with its parent.

              o  The keyword shared, indicating that all  of  the
                 swap  partitions  in  the  source  BE  are to be
                 shared with the new BE.
     You can abbreviate the names of physical  disk  devices  and
     Solaris  Volume  Manager  volumes  to the shortest name that
     uniquely identifies a device. For example, if a machine  has
     only  one disk controller and one disk drive, for the device
     /dev/dsk/c0t0d0s0, you can omit the /dev/dsk/c0t0d0 and  use
     the name s0. If a machine has a single controller and multi-
     ple disks, you might use t0d0s0; with multiple  controllers,
     c0t0d0s0.  A Solaris Volume Manager volume can be identified
     by   its   dnum   designation,   so   that,   for   example,
     /dev/md/dsk/d10 becomes simply d10.

     The -m option enables you to attach a physical  disk  device
     to  a  Solaris  Volume Manager single-slice concatenation or
     attach a Solaris Volume Manager volume  to  a  mirror.  Both
     operations   are   accomplished  with  the  attach  keyword,
     described below. With this option, you have  the  choice  of
     specifying  a  concatentation or mirror or allowing lucreate
     to select one for you. To specify a concatenation or mirror,
     append  a  comma  and the name of the Solaris Volume Manager
     logical device to the device name to which the logical  dev-
     ice  is  being  attached.  If  you  omit this specification,
     lucreate selects a concatenation or mirror from  a  list  of
     free devices. See EXAMPLES.

     The fs_option field can be  one  or  more  of  the  keywords
     listed  below.  The first two keywords specify types of file
     systems. The remaining keywords specify actions to be  taken
     on  a  file  system.  When  you  specify  multiple keywords,
     separate these with a comma.

           ufs   Create the file system as a UFS volume.

           vxfs  Create the file system as a Veritas device.

           preserve
                 Preserve the file system contents of the  speci-
                 fied  physical  storage device. Use of this key-
                 word presumes that the device's file system  and
                 its  contents  are appropriate for the specified
                 mount point. For a given mount  point,  you  can
                 use  preserve with only one device. This keyword
                 enables you  to  bypass  the  default  steps  of
                 creating  a  new  file  system  on the specified
                 storage device, then  copying  the  file  system
                 contents  from  the  source  BE to the specified
                 device. When you use preserve,  lucreate  checks
                 that  the  storage device's contents is suitable
                 for a specified file system. This check is  lim-
                 ited and cannot guarantee suitability.

           mirror
                 Create a mirror on the specified storage device.
                 The specified storage device must be a correctly
                 named (for example, /dev/md/dsk/d10 or d10) log-
                 ical  device that can serve as a mirror. In sub-
                 sequent -m options, you must specify attach (see
                 below) to attach at least one physical device to
                 the new mirror.

           attach
                 Attach a physical storage device, contained by a
                 volume, to the mirror or single-slice concatena-
                 tion associated with a  specified  mount  point.
                 When  using attach, if you want to attach a disk
                 to  a  specific  mirror  or  concatenation,  you
                 append a comma and the name of that logical dev-
                 ice to the device name. If you  omit  the  comma
                 and  the concatentation name, lucreate selects a
                 free mirror or single-slice concatenation as the
                 container  volume  for  the  storage device. See
                 EXAMPLES.

                 lucreate allows you to  create  only  concatena-
                 tions  that  contain a single physical drive and
                 allows you to attach up to four such  concatena-
                 tions to a mirror.

           detach
                 Detach a physical storage device from the mirror
                 or  concatenation  associated  with  a specified
                 mount point.

     At minimum, you must specify one disk or device  slice,  for
     root.  You  can do this with -m, -M (described below), or in
     the FMLI-based interface. You must specify  an  -m  argument
     for  each  file  system  you want to create on a new BE. For
     example, if you have three file systems on a source BE (say,
     /, /usr, and /var) and want these three entities as separate
     file systems on a new BE, you must specify  three  -m  argu-
     ments.  If  you were to specify only one, in our example, /,
     /usr, and /var would be merged on the new BE into  a  single
     file system, under /.

     When using the -m option to specify swap  partition(s),  you
     can  designate  device(s)  currently used for swap on any BE
     and any unused devices. Regarding swap assignments, you have
     the following choices:

              o  Omit any specification of swap devices, in which
                 case all swap devices associated with the source
                 BE will be used by the new BE.

              o  Specify one or more swap devices, in which  case
                 the new BE will use only the specified swap dev-
                 ices and not automatically share the  swap  dev-
                 ices associated with the source BE.

              o  Specify one or more swap  devices  and  use  the
                 syntax  -m  -:shared:swap, in which case the new
                 BE will use the specified swap devices and  will
                 share swap devices with the source BE.
           See EXAMPLES, below.

     -M slice_list
           List of -m options, collected in the file  slice_list.
           Specify  these  arguments  in the format specified for
           -m. Comment lines, beginning with a hash mark (#), are
           ignored. The -M option is useful where you have a long
           list of file systems for a BE. Note that you can  com-
           bine  -m  and  -M  options. For example, you can store
           swap partitions in slice_list and specify /  and  /usr
           slices with -m.

           The -m and -M options support the listing of  multiple
           slices  for  a  given mount point. In processing these
           slices, lucreate  skips  any  unavailable  slices  and
           selects the first available slice. See EXAMPLES.

     -n BE_name
           The name of the BE to  be  created.  BE_name  must  be
           unique on a given system.

     -o outfile
           All command output is sent to outfile, in addition  to
           where it is sent in your current environment.

     -s (- | BE_name)
           Source for the creation of the  new  BE.  This  option
           enables  you  to use a BE other than the current BE as
           the source for creation of a new BE.

           If you specify a hyphen (-)  as  an  argument  to  -s,
           lucreate creates the new BE, but does not populate it.
           This variation of the -s option is  intended  for  the
           subsequent  installation  of  a  flash  archive on the
           unpopulated BE using luupgrade(1M). See flar(1M).

     -x exclude
           Exclude the file or directory exclude from  the  newly
           created  BE.  If  exclude  is  a  directory,  lucreate
           excludes that directory and  all  files  beneath  that
           directory, including subdirectories.

     -X    Enable XML output. Characteristics of XML are  defined
           in  DTD,  in  /usr/share/lib/xml/dtd/lu_cli.dtd.<num>,
           where <num> is the version number of the DTD file.

     -y include
           Include the file or directory  include  in  the  newly
           created  BE.  If  include  is  a  directory,  lucreate
           includes that directory and  all  files  beneath  that
           directory, including subdirectories.

     -Y include_list_file
           Use  the  contents  of  include_list_file  to  include
           specific  files (including directories) from the newly
           created BE. include_list_file contains a list of files
           and  directories,  one  per  line. If a line item is a
           file, only that file is included; if a directory, that
           directory   and  all  files  beneath  that  directory,
           including subdirectories, are included.

     -z filter_list_file
           filter_list_file contains a list of items,  files  and
           directories,  one  per  line. Each item is preceded by
           either a +, indicating the item is to be  included  in
           the  new  BE,  or  -,  indicating  the  item  is to be
           excluded from the new BE.

  Combining File Inclusion and Exclusion Options
     The lucreate  command  allows  you  to  include  or  exclude
     specific  files  and directories when creating a new BE. You
     can include files and directories with:

        o  the -y include option

        o  the -Y include_list_file option

        o  items with a leading + in the file used  with  the  -z
           filter_list option

     You can exclude files and directories with:

        o  the -x exclude option

        o  the -f exclude_list_file option

        o  items with a leading - in the file used  with  the  -z
           filter_list option

     If the parent directory of an excluded item is included with
     include  options  (for  example,  -y include), then only the
     specific file or directory specified by exclude is excluded.
     Conversely,  if  the parent directory of an included file is
     specified for exclusion,  then  only  the  file  include  is
     included. For example, if you specify:

     -x /a -y /a/b

     all of /a except for /a/b is excluded. If you specify:

     -y /a -x /a/b

     all of /a except for /a/b is included.


EXAMPLES

     The lucreate command produces copious output. In the follow-
     ing examples, this output is not reproduced, except where it
     is needed for clarity.

     Example 1: Creating a New Boot  Environment  for  the  First
     Time

     The following command sequence creates a new  boot  environ-
     ment  on a machine on which a BE has never been created. All
     non-shareable (critical) file systems are mounted under /.

     # lucreate -c first_disk -m /:/dev/dsk/c0t4d0s0:ufs -n second_disk
     many lines of output
     lucreate: Creation of Boot Environment <second_disk> successful.

     The following command, like the  preceding,  creates  a  new
     boot  environment  on a machine on which a BE has never been
     created. However,  the  following  command  differs  in  two
     respects:  the -c option is omitted and the /usr file system
     is mounted on its own disk slice, separate from /.

     # lucreate -m /:/dev/dsk/c0t4d0s0:ufs -m /usr:/dev/dsk/c0t4d0s1:ufs \
     -n second_disk
     lucreate: Please wait while your system configuration is determined.
     many lines of output
     lucreate: Creation of Boot Environment c0t4d0s0 successful.

     In the absence of the -c option, lucreate assigns  the  name
     c0t4d0s0,  the base name of the root device, to the new boot
     environment.

     The same command is entered, with the addition of -c:

     # lucreate -c first_disk -m /:/dev/dsk/c0t4d0s0:ufs \
     -m /usr:/dev/dsk/c0t4d0s1:ufs -n second_disk
     many lines of output
     lucreate: Creation of Boot Environment <second_disk> successful.

     Following creation of a BE, you use luupgrade(1M) to upgrade
     the  OS on the new BE and luactivate(1M) to make that BE the
     BE you will boot from upon the next reboot of your  machine.
     Note  that the swap partition and all shareable file systems
     for  first_disk  will  be   available   to   (shared   with)
     second_disk.

     # luupgrade -u -n second_disk \
     -s /net/installmachine/export/solarisX/OS_image
     many lines of output
     luupgrade: Upgrade of Boot Environment <second_disk> successful.

     # luactivate second_disk

     See luupgrade(1M) and  luactivate(1M)  for  descriptions  of
     those commands.

     Example 2: Creating a BE  using  a  Source  Other  than  the
     Current BE

     The following command uses the -s option to specify a source
     BE other than the current BE.

     # lucreate -s third_disk -m /:/dev/dsk/c0t4d0s0:ufs \
     -m /usr:/dev/dsk/c0t4d0s1:ufs -n second_disk
     many lines of output
     lucreate: Creation of Boot Environment <second_disk> successful.

     Example 3: Creating a BE from a Flash Archive

     Performing this task involves use of lucreate with the -s  -
     option and luupgrade.

     # lucreate -s - -m /:/dev/dsk/c0t4d0s0:ufs -m /usr:/dev/dsk/c0t4d0s1:ufs \
     -n second_disk
     brief messages
     lucreate: Creation of Boot Environment <second_disk> successful.

     With the -s option, the lucreate command completes  it  work
     within  seconds.  At  this  point,  you can use luupgrade to
     install the flash archive:

     # luupgrade -f -n second_disk \
     -s /net/installmachine/export/solarisX/OS_image \
     -J "archive_location http://example.com/myflash.flar"

     See luupgrade(1M) for a description of that command.

     Example 4: Sharing and Adding Swap Partitions

     In the simplest case, if you do not specify any swap  parti-
     tions  in  an  lucreate  command, all swap partitions in the
     source BE are shared with the new BE.  For  example,  assume
     that  the current BE uses /dev/dsk/c0t4d0s7 as its swap par-
     tition. You enter the command:

     # lucreate -n second_disk -m /:/dev/dsk/c0t4d0s0:ufs
     many lines of output
     lucreate: Creation of Boot Environment <second_disk> successful.

     Upon conclusion of  the  preceding  command,  the  partition
     /dev/dsk/c0t4d0s7  will  be  used by the BE second_disk when
     that BE is activated and booted.

     If you want a new BE to use a different swap partition  from
     that  used by the source BE, enter one or more -m options to
     specify a new partition  or  new  partitions.  Assume,  once
     again,  that  the  current  BE uses /dev/dsk/c0t4d0s7 as its
     swap partition. You enter the command:

     # lucreate -m /:/dev/dsk/c0t0d0s0:ufs -m -:/dev/dsk/c0t4d0s1:swap \
      -m -:/dev/dsk/c0t4d0s2:swap -n second_disk
     many lines of output
     lucreate: Creation of Boot Environment <second_disk> successful.

     Upon activation and boot, the new BE  second_disk  will  use
     /dev/dsk/c0t4d0s1  and  /dev/dsk/c0t4d0s2  and  will not use
     /dev/dsk/c0t4d0s7, the swap partition used by the source BE.

     Assume you want the new BE second_disk to share  the  source
     BE's  swap  partition and have an additional swap partition.
     You enter:

     # lucreate -m /:/dev/dsk/c0t0d0s0:ufs -m -:/dev/dsk/c0t4d0s1:swap \
      -m -:shared:swap -n second_disk
     many lines of output
     lucreate: Creation of Boot Environment <second_disk> successful.

     Upon activation and boot, the new BE  second_disk  will  use
     for  swapping  /dev/dsk/c0t4d0s7, shared with the source BE,
     and, in addition, /dev/dsk/c0t4d0s1.

     Example 5: Using Swap Partitions on Multiple Disks

     The command below creates a BE on a second disk  and  speci-
     fies swap partitions on both the first and second disks.

     # lucreate -m /:/dev/dsk/c0t4d0s0:ufs -m -:/dev/dsk/c0t4d0s1:swap \
      -m -:/dev/dsk/c0t0d0s1:swap -n second_disk
     many lines of output
     lucreate: Creation of Boot Environment <second_disk> successful.

     Following  completion  of  the  preceding  command,  the  BE
     second_disk    will    use    both   /dev/dsk/c0t0d0s1   and
     /dev/dsk/c0t4d0s1 as swap partitions. These swap assignments
     take effect only after booting from second_disk. If you have
     a long list of swap partitions, it is useful to use  the  -M
     option, as shown below.

     Example 6: Using a Combination of -m and -M Options

     In this example, a list of swap partitions is  collected  in
     the  file  /etc/lu/swapslices. The location and name of this
     file is user-defined. The contents of /etc/lu/swapslices:

     -:/dev/dsk/c0t3d0s2:swap
     -:/dev/dsk/c0t3d0s2:swap
     -:/dev/dsk/c0t4d0s2:swap
     -:/dev/dsk/c0t5d0s2:swap
     -:/dev/dsk/c1t3d0s2:swap
     -:/dev/dsk/c1t4d0s2:swap
     -:/dev/dsk/c1t5d0s2:swap

     This file is specified in the following command:

     # lucreate -m /:/dev/dsk/c02t4d0s0:ufs -m /usr:/dev/dsk/c02t4d0s1:ufs \
     -M /etc/lu/swapslices -n second_disk
     many lines of output
     lucreate: Creation of Boot Environment <second_disk> successful.

     The BE second_disk will swap onto the  partitions  specified
     in /etc/lu/swapslices.

     Example 7: Copying Versus Sharing

     The following command copies the user file system /home  (in
     addition  to the non-shareable file systems / and /usr) from
     the current BE to the new BE:

     # lucreate /:/dev/dsk/c0t4d0s0:ufs -m /usr:/dev/dsk/c0t4d0s1:ufs \
     -m /home:/dev/dsk/c0t4d0s4:ufs -n second_disk

     The following command differs from the preceding in that the
     -m option specifying a destination for /home is omitted. The
     result of this is that /home  will  be  shared  between  the
     current BE and the BE second_disk.

     # lucreate /:/dev/dsk/c0t4d0s0:ufs -m /usr:/dev/dsk/c0t4d0s1:ufs \
     -n second_disk

     Example 8: Using Solaris Volume Manager Volumes

     The command shown below does the following:

     1. Creates the mirror d10 and establishes this mirror as the
        receptacle for the root file system.

     2. Attaches c0t0d0s0 and c0t1d0s0 to single-slice concatena-
        tions  d1  and d2, respectively. Note that the specifica-
        tion of these volumes is optional.

     3. Attaches the concatenations associated with c0t0d0s0  and
        c0t1d0s0 to mirror d10.

     4. Copies the current BE's root file system to  mirror  d10,
        overwriting any d10 contents.

     # lucreate -m /:/dev/md/dsk/d10:ufs,mirror \
     -m /:/dev/dsk/c0t0d0s0,d1:attach \
     -m /:/dev/dsk/c0t1d0s0,d2:attach -n newBE

     The following command differs from  the  preceding  only  in
     that concatenations for the physical storage devices are not
     specified. In this example, lucreate  chooses  concatenation
     names  from  a list of free names and attaches these volumes
     to the mirror specified in the first -m option.

     # lucreate -m /:/dev/md/dsk/d10:ufs,mirror \
     -m /:/dev/dsk/c0t0d0s0:attach \
     -m /:/dev/dsk/c0t1d0s0:attach -n newBE

     The following command differs from the preceding commands in
     that  one  of  the  physical disks is detached from a mirror
     before being attached to the mirror you  create.  Also,  the
     contents of one of the physical disks is preserved. The com-
     mand does the following:

     1. Creates the mirror d10 and establishes this mirror as the
        receptacle for the root file system.

     2. Detaches  c0t0d0s0  from  the  mirror  to  which  it   is
        currently attached.

     3. Attaches c0t0d0s0 and c0t1d0s0 to concatenations  d1  and
        d2,  respectively.  Note  that  the  specification of the
        these concatenations is optional.

     4. Preserves the contents of c0t0d0s0, which  presumes  that
        c0t0d0s0  contains  a valid copy of the current BE's root
        file system.

     5. Attaches the concatenations associated with c0t0d0s0  and
        c0t1d0s0 (d1 and d2) to mirror d10.

     # lucreate -m /:/dev/md/dsk/d10:ufs,mirror \
     -m /:/dev/dsk/c0t0d0s0,d1:detach,attach,preserve \
     -m /:/dev/dsk/c0t1d0s0,d2:attach -n newBE

     The preceding command can be abbreviated as follows:

     # lucreate -m /:d10:ufs,mirror \
     -m /:c0t0d0s0:detach,attach,preserve \
     -m /:c0t1d0s0:attach -n newBE

     In the preceding, note that the device names (both  physical
     and  logical)  are shortened and that the specifiers for the
     concatenations (d1 and d2) are omitted.

     The following command is a follow-on to the first command in
     this  set of examples. This command detaches a concatenation
     (containing c0t0d0s0) from one mirror  (d10,  in  the  first
     command)  and  attaches  it to another (d20), preserving its
     contents.

     # lucreate -m /:/dev/md/dsk/d20:ufs,mirror \
     -m /:/dev/dsk/c0t0d0s0:detach,attach,preserve -n nextBE

     The following command creates two  mirrors,  placing  the  /
     file  system  of  the new BE on one mirror and the /opt file
     system on the other.

     # lucreate -m /:/dev/md/dsk/d10:ufs,mirror \
     -m /:/dev/dsk/c0t0d0s0,d1:attach \
     -m /:/dev/dsk/c1t0d0s0,d2:attach \
     -m /opt:/dev/md/dsk/d11:ufs,mirror \
     -m /opt:/dev/dsk/c2t0d0s1,d3:attach \
     -m /opt:/dev/dsk/c3t1d0s1,d4:attach -n anotherBE

     Example 9: Invoking FMLI-based Interface

     The command below, by omitting -m or -M options, invokes the
     FMLI-based interface for Live Upgrade operations. See lu(1M)
     for a description of this interface.

     # lucreate -n second_disk

     The preceding command uses the current BE as the source  for
     the  target  BE  second_disk. In the FMLI interface, you can
     specify the target disk slices for second_disk. The  follow-
     ing command is a variation on the preceding:

     # lucreate -n second_disk -s third_disk

     In the preceding command, a source  for  the  target  BE  is
     specified.  As before, the FMLI interface comes up, enabling
     you to specify target disk slices for the new BE.

     Example 10: Merging File Systems

     The command below merges the /usr/opt file system  into  the
     /usr  file system. First, here are the disk slices in the BE
     first_disk, expressed in the format used  for  arguments  to
     the -m option:

     /:/dev/dsk/c0t4d0s0:ufs
     /usr:/dev/dsk/c0t4d0s1:ufs
     /usr/opt:/dev/dsk/c0t4d0s3:ufs

     The following command creates a BE second_disk and  performs
     the merge operation, merging /usr/opt with its parent, /usr.

     # lucreate -m /:/dev/dsk/c0t4d0s0:ufs -m /usr:/dev/dsk/c0t4d0s1:ufs \
     -m /usr/opt:merged:ufs -n second_disk

     Example 11: Splitting a File System

     Assume a source BE with /, /usr, and /var all mounted on the
     same   disk  slice.  The  following  command  creates  a  BE
     second_disk that has /, /usr, and /var all mounted  on  dif-
     ferent disk slices.

     # lucreate -m /:/dev/dsk/c0t4d0s0:ufs -m /usr:/dev/dsk/c0t4d0s1:ufs \
     /var:/dev/dsk/c0t4d0s3:ufs -n second_disk
     This separation of a file system's  (such  as  root's)  com-
     ponents  onto different disk slices is referred to as split-
     ting a file system.

     Example 12: Specifying Alternative Slices

     The following command uses multiple -m options  as  alterna-
     tive disk slices for the new BE second_disk.

     # lucreate -m /:/dev/dsk/c0t4d0s0:ufs -m /:/dev/dsk/c0t4d0s1:ufs \
     -m /:/dev/dsk/c0t4d0s5:ufs -n second_disk
     many lines of output
     lucreate: Creation of Boot Environment <second_disk> successful.

     The preceding command specifies three possible disk  slices,
     s0,  s1,  and s5 for the / file system. lucreate selects the
     first one of these slices that is not being used by  another
     BE.  Note  that  the  -s option is omitted, meaning that the
     current BE is the source BE for the creation of the new BE.


EXIT STATUS

     The following exit values are returned:

     0     Successful completion.

     >0    An error occurred.


FILES

     /etc/lutab
           list of BEs on the system

     /usr/share/lib/xml/dtd/lu_cli.dtd.<num>
           Live Upgrade DTD (see -X option)


ATTRIBUTES

     See attributes(5) for descriptions of the  following  attri-
     butes:

     ____________________________________________________________
    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
    |_____________________________|_____________________________|
    | Availability                | SUNWluu                     |
    |_____________________________|_____________________________|


SEE ALSO

     lu(1M),   luactivate(1M),    lucancel(1M),    lucompare(1M),
     lucurr(1M),    ludelete(1M),    ludesc(1M),    lufslist(1M),
     lumake(1M),   lumount(1M),    lurename(1M),    lustatus(1M),
     luupgrade(1M), lutab(4), attributes(5), live_upgrade(5)


NOTES

     As is true for any Solaris OE upgrade (and not a feature  of
     Live  Upgrade),  when  splitting  a  directory into multiple
     mount points, hard links are not maintained across file sys-
     tems.  For  example, if /usr/test1/buglist is hard linked to
     /usr/test2/buglist, and /usr/test1 and /usr/test2 are  split
     into  separate file systems, the link between the files will
     no longer exist. If lucreate encounters a hard  link  across
     file  systems,  the  command  issues  a  warning message and
     creates a symbolic link to replace the lost hard link.

     lucreate cannot prevent you from making  invalid  configura-
     tions  with respect to non-shareable file systems. For exam-
     ple, you could enter an lucreate command that  would  create
     separate  file systems for / and /kernel-an invalid division
     of /. The resulting BE would be  unbootable.  When  creating
     file systems for a boot environment, the rules are identical
     to the rules for  creating  file  systems  for  the  Solaris
     operating environment.

     Mindful of the principle described in  the  preceding  para-
     graph, consider the following:

        o  In a source BE, you must have valid vfstab entries for
           every  file system you want to copy to or share with a
           new BE.

        o  You cannot create a new BE on a disk with  overlapping
           partitions  (that  is,  partitions that share the same
           physical disk space). The lucreate command that speci-
           fies  such a disk might complete, but the resulting BE
           would be unbootable.

          Note:

          As stated in the description of the -m option,  if  you
          use  Solaris  Volume  Manager volumes for boot environ-
          ments, use lucreate rather than Solaris Volume  Manager
          commands  to  manipulate  these  volumes.  The  Solaris
          Volume  Manager  software  has  no  knowledge  of  boot
          environments; the lucreate command contains checks that
          prevent  you  from  inadvertently  destroying  a   boot
          environment  by, for example, overwriting or deleting a
          Solaris Volume Manager volume.

     Live Upgrade supports the release it is distributed  on  and
     up  to  three  marketing  releases back. For example, if you
     obtained Live Upgrade with Solaris 9 (including a Solaris  9
     upgrade), that version of Live Upgrade supports Solaris ver-
     sions 2.6, Solaris 7, and Solaris 8, in addition to  Solaris
     9.   No  version  of Live Upgrade supports a Solaris version
     prior to Solaris 2.6.
     Correct operation of Solaris Live Upgrade  requires  that  a
     limited  set  of patch revisions be installed for a given OS
     version. Before installing or running Live Upgrade, you  are
     required to install the limited set of patch revisions. Make
     sure you have the most recently updated patch list  by  con-
     sulting
      http://sunsolve.sun.com. Search for the  infodoc  72099  on
     the SunSolve web site.


Man(1) output converted with man2html