How to BFU a System
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 ] then FASTFS=/opt/onbld/bin/`uname -p`/fastfs ; export FASTFS BFULD=/opt/onbld/bin/`uname -p`/bfuld ; export BFULD GZIPBIN=/usr/bin/gzip ; export GZIPBIN PATH=$PATH:/opt/onbld/bin fi
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 instanceI re-read my .profile, and verify that the necessary BFU variables are setfrom OS-Net Build Tools(sparc) 11.11,REV=2008.03.18.14.39 Copyright 2008 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. ... Installation of was successful. #
# . /.profile # echo $FASTFS /opt/onbld/bin/sparc/fastfsNow 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. bfu#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# 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!
I'm trying to install crossbow onto a zone and this is my error when I execute bfu
root@router:~/crossbow# bfu -f ./nightly/
Copying /opt/onbld/bin/bfu to /tmp/bfu.4255
Executing /tmp/bfu.4255 -f ./nightly/
bfu requires all privileges
bfu aborting
Posted by Corey on October 30, 2008 at 04:44 PM EDT #
Hi Cory, BFUs (or at least this one) only work in the global zone. You are changing system files, and can only do so in the global zone.
Posted by Steffen Weiberle on October 30, 2008 at 04:47 PM EDT #
If I bfu the global zone then the package manager wont work anymore, or is it just image-update wont work anymore? If so how do you update to new builds?
Posted by Corey on October 30, 2008 at 06:30 PM EDT #
These steps are for Nevada or SXCE. It sounds like you are running OpenSolaris, which has a different delivery mechanism. I see two choices, wait for the BFUs for SXCE 101 to come out in the next week or so, or wait until Crossbow is checked into the source tree, and then a package update may get you them before the spring version of OS. While there may be a way to apply binary changes to OS, Crossbow engineering is very busy getting the bit ready for putback into the main code base.
Posted by Steffen Weiberle on October 30, 2008 at 07:43 PM EDT #