1#!/sbin/sh 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 2006 Sun Microsystems, Inc. All rights reserved. 24# Use is subject to license terms. 25# 26# ident "%Z%%M% %I% %E% SMI" 27 28# 29# Check the boot archive content against root filesystem. 30# Return failure if they differ. 31# 32 33. /lib/svc/share/smf_include.sh 34. /lib/svc/share/fs_include.sh 35 36# 37# no boot-archive on sparc...yet 38# 39if [ `uname -p` = "sparc" ]; then 40 exit $SMF_EXIT_OK 41fi 42 43smf_is_globalzone || exit $SMF_EXIT_OK 44 45# 46# Make sure we return failure only once. If user choose to ignore 47# error, we return success to permit boot to continue. The boot 48# archive will be updated on the subsequent shutdown. 49# 50ERRORFILE=/etc/svc/volatile/boot_archive_error 51if [ -f "${ERRORFILE}" ]; then 52 rm ${ERRORFILE} 53 exit $SMF_EXIT_OK 54fi 55 56# 57# Now check the archive. 58# 59/sbin/bootadm update-archive -vnC 2> /dev/null 60if [ $? = 0 ]; then 61 exit $SMF_EXIT_OK 62fi 63 64touch ${ERRORFILE} 65cecho "" 66cecho "WARNING - The following files in / differ from the boot archive:" 67 68/sbin/bootadm update-archive -vnC > /dev/msglog 2> /dev/null 69 70cecho "The recommended action is to reboot and select \"Solaris failsafe\"" 71cecho "option from the boot menu. Then follow prompts to update the" 72cecho "boot archive." 73cecho "To continue booting at your own risk, clear the service:" 74cecho " # svcadm clear system/boot-archive" 75cecho "" 76 77exit $SMF_EXIT_ERR_FATAL 78