With the release of Solaris 10 9/10 many people will be downloading and setting up their environments to perform the upgrade and installs of this new release. As you may know by now, Solaris 10 9/10 now has Oracle Solaris Auto Registration functionality.

I mentioned this in my release post and referred to the new auto_reg keyword for the sysidcfg used for installing a system via jumpstart. What I didn't mention was this auto registration information is also needed when performing a live upgrade.

If you attempt to perform a live upgrade as you did previously, without supplying the auto-reg info, you'll see something like this:

# luupgrade -n S10U9 -u -s /mnt

System has findroot enabled GRUB
No entry for BE <S10U9> in GRUB menu
Copying failsafe kernel from media.
61364 blocks
miniroot filesystem is <lofs>
Mounting miniroot at </mnt/Solaris_10/Tools/Boot>
ERROR: The auto registration file <> does not exist or incomplete.
The auto registration file is mandatory for this upgrade.
Use -k <filename> argument along with luupgrade command.
#

As the message states, you need to specify the -k <filename> argument where <filename> is a sysidcfg format file containing the auto-reg information exactly as you would put it in the sysidcfg file. This is documented in the luupgrade man page:

 -k autoreg_file     Path  to  auto-registration  information
                     file.  See  sysidcfg(4)  for  a  list of
                     valid keywords for use in this file.

So in order to perform your live upgrade, you need to pass in the auto-reg information live upgrade is expecting, by either providing the full details (recommended) or disable auto-reg using a very minimal sysidcfg file:

# echo "auto_reg=disable" > /tmp/sysidcfg
# luupgrade -n S10U9 -u -s /mnt -k /tmp/sysidcfg