1 Reply Latest reply: Nov 2, 2012 12:11 PM by 971767 RSS

    [Sol11-x86-NSC] IPS Upgrade From 11/11 to 11.1

    971767
      When upgrading from Solaris 11/11 to Solaris 11.1 (x86/non-support contract), two scenarios are possible:

      - dedicated solaris 2 partition: in which case Peter Dennis's HOWTO at http://www.oracle.com/technetwork/articles/servers-storage-admin/howto-update-11dot1-ips-1866781.html works just fine. I have tested this in a VirtualBox VM and it worked flawlessly. However, the guest additions have to be re-installed after the upgrade.

      - whole-disk installation (my situation): then you're in trouble because Grub2 just isn't able to figure out who his mama is:

      root@kir4:~# zpool status
      pool: rpool
      state: ONLINE
      scan: resilvered 250G in 0h47m with 0 errors on Sun Oct 28 20:18:49 2012
      config:

           NAME STATE READ WRITE CKSUM
           rpool ONLINE 0 0 0
           mirror-0 ONLINE 0 0 0
           c3t0d0s0 ONLINE 0 0 0
           c3t1d0s0 ONLINE 0 0 0

      errors: No known data errors
      root@kir4:~# fdisk /dev/rdsk/c3t0d0p0
      No fdisk table exists. The default partition for the disk is:

      a 100% "SOLARIS System" partition

      Type "y" to accept the default partition, otherwise type "n" to edit the
      partition table.
      root@kir4:~# pkg update --accept
      Packages to install: 5
      Packages to update: 266
      Mediators to change: 1
      Create boot environment: Yes
      Create backup boot environment: No

      DOWNLOAD PKGS FILES XFER (MB)
      Completed 271/271 9355/9355 289.7/289.7

      pkg: An unexpected error happened during update: installgrub failed for device /dev/rdsk/c3t0d0s0: Return code 1
      Output was:
      Solaris partition not found. Aborting operation.
      Unable to gather device information for /dev/rdsk/c3t0d0s0

      Traceback (most recent call last):
      File "/usr/bin/pkg", line 5956, in handle_errors
      __ret = func(*args, **kwargs)
      File "/usr/bin/pkg", line 5939, in main_func
      pargs=pargs, **opts)
      File "/usr/bin/pkg", line 2323, in update
      reject_list=reject_pats, update_index=update_index)
      File "/usr/bin/pkg", line 1583, in __api_op
      ret_code = __api_execute_plan(_op, apiinst)
      File "/usr/bin/pkg", line 1269, in __api_execute_plan
      api_inst.execute_plan()
      File "/usr/lib/python2.6/vendor-packages/pkg/client/api.py", line 2130, in execute_plan
      self.__be_name)
      File "/usr/lib/python2.6/vendor-packages/pkg/client/bootenv.py", line 409, in init_image_recovery
      ret, self.be_name_clone, not_used = be.beCopy()
      File "/usr/lib/python2.6/vendor-packages/libbe.py", line 220, in beCopy
      commit(mybc, devlist)
      File "/usr/lib/python2.6/vendor-packages/libbe.py", line 30, in commit
      boot_devices=["/dev/rdsk/" + d for d in devlist])
      File "/usr/lib/python2.6/vendor-packages/bootmgmt/bootconfig.py", line 558, in commit_boot_config
      force)
      File "/usr/lib/python2.6/vendor-packages/bootmgmt/bootconfig.py", line 377, in commit_boot_config
      self.boot_loader.install(boot_devices)
      File "/usr/lib/python2.6/vendor-packages/bootmgmt/backend/loader/legacygrub.py", line 993, in install
      return self._install_generic(location)
      File "/usr/lib/python2.6/vendor-packages/bootmgmt/backend/loader/menulst.py", line 459, in installgeneric
      self._write_loader(devname, data_root)
      File "/usr/lib/python2.6/vendor-packages/bootmgmt/backend/loader/legacygrub.py", line 1034, in writeloader
      str(cpe.returncode) + output)
      BootLoaderInstallError: installgrub failed for device /dev/rdsk/c3t0d0s0: Return code 1
      Output was:
      Solaris partition not found. Aborting operation.
      Unable to gather device information for /dev/rdsk/c3t0d0s0



      pkg: This is an internal error in pkg(5) version a6782843ee0c. Please log a
      Service Request about this issue including the information above and this
      message.
      root@kir4:~#

      I've been trying to debug this ever since 11.1 was released and wasn't able to get around it.

      This should (ideally) be fixed in the installation process or, at the very least, documented in the release notes.
      Should I accept the deal fdisk is offering? Is there a workaround for this?

      Francois