Using Solaris and SPARC Networking and Virtualization

  • Sun
    March 26, 2008

How to BFU a System

Sometimes you want to try out a new feature not yet delivered into Solaris Nevada, and you have apply binaries using BFU. I imagine if you do this all the time, you know all the tricks and gotchas. I don't do it often enough and sometimes get caught up in some details. So here are the steps I tend to use.

First, get the latest BFU package from the ON (OS/Net) Consolidation. I typically only use the SUNWonbld tar file for my hardware.

Download the bits you want to install, such as those for Crossbow Beta or Clearview's snoop on loopback

To make life a little simpler, I add the following to root's .profile file.

if [ -d /opt/onbld ]
FASTFS=/opt/onbld/bin/`uname -p`/fastfs ; export FASTFS
BFULD=/opt/onbld/bin/`uname -p`/bfuld ; export BFULD
GZIPBIN=/usr/bin/gzip ; export GZIPBIN

Now to apply the bits. After unpacking the bits into a temporary location, lets say /tmp/bfu, install the onbld package.

# pkgadd -d onbld all
Processing package instance from
OS-Net Build Tools(sparc) 11.11,REV=2008.
Copyright 2008 Sun Microsystems, Inc. All rights reserved.
Use is subject to license terms.
Installation of was successful.

I re-read my .profile, and verify that the necessary BFU variables are set
# . /.profile
# echo $FASTFS

Now apply the BFU (this one is for Crossbow beta). You must use the full pathname!

Note: you may want to do this from the console, in case you loose your network connection.

# bfu `pwd`/nightly-nd
Copying /opt/onbld/bin/bfu to /tmp/bfu.1000
Executing /tmp/bfu.1000 /tmp/bfu/nightly-nd
Entering post-bfu protected environment (shell: ksh).
Edit configuration files as necessary, then reboot.

Note that you end up in the BFU shell. Now issue an automatic conflict resolution check.
bfu# /opt/onbld/bin/acr
Getting ACR information from /tmp/bfu/nightly-nd... ok
updating //platform/sun4v/boot_archive
Finished. See /tmp/acr.nhaqVi/allresults for complete log.
bfu# exit
Exiting post-bfu protected environment. To reenter, type:
LD_NOAUXFLTR=1 LD_LIBRARY_PATH=/tmp/bfulib LD_LIBRARY_PATH_64=/tmp/bfulib/64
PATH=/tmp/bfubin /tmp/bfubin/ksh

Its time to reboot and run with the new bits!

Be the first to comment

Comments ( 0 )
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.