1#!/bin/ksh -p 2# 3# CDDL HEADER START 4# 5# The contents of this file are subject to the terms of the 6# Common Development and Distribution License (the "License"). 7# You may not use this file except in compliance with the License. 8# 9# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10# or http://www.opensolaris.org/os/licensing. 11# See the License for the specific language governing permissions 12# and limitations under the License. 13# 14# When distributing Covered Code, include this CDDL HEADER in each 15# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16# If applicable, add the following below this CDDL HEADER, with the 17# fields enclosed by brackets "[]" replaced with your own identifying 18# information: Portions Copyright [yyyy] [name of copyright owner] 19# 20# CDDL HEADER END 21# 22# 23# Copyright 2010 Sun Microsystems, Inc. All rights reserved. 24# Use is subject to license terms. 25# 26 27. /usr/lib/brand/solaris10/common.ksh 28 29m_usage=$(gettext "solaris10 brand usage: detach [-n].") 30 31EXIT_CODE=$ZONE_SUBPROC_USAGE 32 33# If we weren't passed at least two arguments, exit now. 34(( $# < 2 )) && exit $ZONE_SUBPROC_USAGE 35 36ZONENAME="$1" 37ZONEPATH="$2" 38# XXX shared/common script currently uses lower case zonename & zonepath 39zonename="$ZONENAME" 40zonepath="$ZONEPATH" 41 42shift; shift # remove ZONENAME and ZONEPATH from arguments array 43 44noexecute=0 45 46# Other brand attach options are invalid for this brand. 47while getopts "n" opt; do 48 case $opt in 49 n) noexecute=1 ;; 50 ?) printf "$m_usage\n" 51 exit $ZONE_SUBPROC_USAGE;; 52 *) printf "$m_usage\n" 53 exit $ZONE_SUBPROC_USAGE;; 54 esac 55done 56shift $((OPTIND-1)) 57 58if [[ $noexecute == 1 ]]; then 59 cat /etc/zones/$ZONENAME.xml 60 exit $ZONE_SUBPROC_OK 61fi 62 63get_zonepath_ds $ZONEPATH 64get_active_ds $ZONEPATH_DS 65zfs set zoned=off $ACTIVE_DS >/dev/null 2>&1 66zfs set canmount=on $ACTIVE_DS >/dev/null 2>&1 67zfs set mountpoint=$ZONEPATH/root $ACTIVE_DS >/dev/null 2>&1 68 69cp /etc/zones/$ZONENAME.xml $ZONEPATH/SUNWdetached.xml 70 71# Remove the service tag for this zone. 72del_svc_tag "$ZONENAME" 73 74exit $ZONE_SUBPROC_OK 75