All pastes #777160 Raw Edit

Unnamed

public text v1 · immutable
·published 2007-11-16 16:10 UTC
rendered paste body
### The goal here is to take a snapshot of the current system, clone the snapshot, and then upgrade the clone.
### This way we can BFU the system and still have a fallback in the event that the BFU fails, or the new OS/Net build
### bricks our box.

[20071116-01:00:04]:[root@octopus]:[~]# tar -xf SUNWonbld.i386.tar 
[20071116-01:00:08]:[root@octopus]:[~]# ls
SUNWonbld.i386.tar                    on-bfu-nightly-osol-nd.i386.tar.bz2   onbld/
[20071116-01:00:09]:[root@octopus]:[~]# cd on
on-bfu-nightly-osol-nd.i386.tar.bz2  onbld/                               
[20071116-01:00:09]:[root@octopus]:[~]# cd onbld/
[20071116-01:00:12]:[root@octopus]:[~/onbld]# pkgadd -d . SUNWonbld 

[20071116-01:02:51]:[root@octopus]:[~]# mv archives-nightly-osol-nd/ /tmp/
[20071116-01:03:01]:[root@octopus]:[~]# rm on-bfu-nightly-osol-nd.i386.tar 

[20071116-01:01:09]:[root@octopus]:[~]# export FASTFS="/opt/onbld/bin/i386/fastfs"
[20071116-01:02:05]:[root@octopus]:[~]# export GZIPBIN="/usr/bin/gzip"
[20071116-01:02:07]:[root@octopus]:[~]# export BFULD="/opt/onbld/bin/`uname -p`/bfuld"
[20071116-01:03:29]:[root@octopus]:[~]# export PATH="/opt/onbld/bin:/opt/onbld/bin/`uname -p`:$PATH"

[20071116-01:03:52]:[root@octopus]:[~]# zfs snapshot rootpool/b74@upgrade
[20071116-01:04:06]:[root@octopus]:[~]# zfs clone rootpool/b74@upgrade rootpool/b76

[20071116-01:04:28]:[root@octopus]:[~]# zfs set mountpoint=/rootpool/b76 rootpool/b76

### used -f to skip the BIND8->BIND9 check
### commented out dbus check

[20071116-01:06:09]:[root@octopus]:[~]# bfu -f /tmp/archives-nightly-osol-nd/i386 /rootpool/b76

bfu# /opt/onbld/bin/acr /rootpool/b76

bootadm archive-update -R /rootpool/b76

[20071116-01:20:22]:[root@octopus]:[~]# zfs set mountpoint=legacy rootpool/b76

### Assuming that rootpool is mounted to /rootpool, so the BE's GRUB menu.lst is available,
### edit it, or use Tim Foster's zfs-bootadm.sh to choose which BE should be booted.

[20071116-12:01:42]:[root@octopus]:[~]# ./zfs-bootadm.sh 
Usage: zfs-bootadm.sh [command] <arguments>

where command is one of:
         create <name>
                Creates a new bootable dataset as a clone
                of the existing one.
         activate <name>
                Sets a bootable dataset as the next
                dataset to be booted from.
         destroy <name>
                Destroys a bootable dataset. This must not
                be the active dataset.
         list
                Lists the known bootable datasets.

[20071116-12:02:45]:[root@octopus]:[~]# zfs set bootable:=true rootpool/b74
[20071116-12:02:52]:[root@octopus]:[~]# zfs set bootable:=true rootpool/b75
[20071116-12:02:53]:[root@octopus]:[~]# zfs set bootable:=true rootpool/b76
[20071116-12:02:55]:[root@octopus]:[~]# zfs set bootable:=true rootpool/test
[20071116-12:02:58]:[root@octopus]:[~]# ./zfs-bootadm.sh list
b74 (current)
b75
b76
test
[20071116-12:03:04]:[root@octopus]:[~]# ./zfs-bootadm.sh activate b76
Currently booted from bootable dataset rootpool/b74
On next reboot, bootable dataset rootpool/b76 will be activated.