A Solaris flar won’t install on it’s own architecture

A few weeks ago, I created a Sun flar (flash archive) of one T-2000 system, to install on another identical T-2000 system. For more info on creating flars, check out the flarcreate(1M) manual page.

The installation of the flar failed with an error I had never seen:

Processing profile
        - Opening Flash archive
        - Validating Flash archive
ERROR: Archive does not support this architecture (sun4v)
ERROR: Flash installation failed
Solaris installation program exited.

Really? These are both T-2000 machines – uname -a output says so. I recreated the flar, and tried the install – with the same result – flash installation failed.

Thanks to this mailing list thread, I found out that this is bug 6523030, and only impacts sun4v architecture. The work-around is to delete the /var/sadm/system/admin/.platform file on the system to be imaged, then recreate the flar. Without the .platform file, the flarcreate command will properly determine the architecture.
If you can not or do not want to recreate the flar from scratch, you can also split the original flar, edit the identification file, then combine the components into a new flar:

  • Create a temporary directory, where the flar’s components will be broken out into files. This makes cleanup easier later.
  • Split the flar’s components into separate files, with flar split oldfile.flar
  • Edit the identification file, and change the “content_architectures” line so that it includes sun4v.
  • Create a new flar by combining the components, with flar combine new.file.flar

Looking at the old and new flars. . .

Getting info about my old flar:

root@t-2000 # flar -i *.flar
archive_id=4ceac667ee15dc27283b2654a045a1b3
files_archived_method=cpio
creation_date=20110118230559
creation_master=t-2000
content_name=t-2000 Sol10 09/2010 Recommended 12/2010 with cluster
creation_node=t-2000
creation_hardware_class=sun4v
creation_platform=SUNW,Sun-Fire-T200
creation_processor=sparc
creation_release=5.10
creation_os_name=SunOS
creation_os_version=Generic_142909-17
files_compressed_method=compress
content_architectures=sun4c,sun4d,sun4m,sun4u,sun4us,sun4s
type=FULL

Notice that content_architectures does not list the architecture of the T-2000 (sun4v), but creation_hardware_class does show sun4v.

Getting info about my new flar:

root@T-2000 # flar -i *.flar
archive_id=d2fe659ace201ecc9f07d1ee3fb69cc2
files_archived_method=cpio
creation_date=20110119002244
creation_master= t-2000
content_name=t-2000 Sol10 9/2010, cluster 3.2, Recommended 12/2010
creation_node=t-2000
creation_hardware_class=sun4v
creation_platform=SUNW,Sun-Fire-T200
creation_processor=sparc
creation_release=5.10
creation_os_name=SunOS
creation_os_version=Generic_142909-17
files_compressed_method=compress
content_author=ifetch
content_architectures=sun4v
type=FULL

Now, the flar installs properly!

Advertisements
This entry was posted in Solaris and tagged , . Bookmark the permalink.

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s