Hi ,

I am getting following error message when I run any zfs command.I have attach the script I use to create ramdisk image for Thumper.

# zfs volinit
internal error: Bad file number
Abort - core dumped

# zpool status
internal error: Bad file number
Abort - core dumped
#
# zfs list
internal error: Bad file number
Abort - core dumped
#

Thanks
Manoj Nayak



#!/bin/ksh

# This script generates Solaris ramdisk image for works nodes

PKGADD=/usr/sbin/pkgadd
PKGLOG=/tmp/packages.log
PKGADMIN=/tmp/pkgadmin
ROOTDIR=/tmp/miniroot
OPTDIR=$ROOTDIR/opt
HOMEDIR=$ROOTDIR/home/kealia
USRDIR=$ROOTDIR/usr/local

#/net/ns1/export/OS_images/s10u3/x/latest/Solaris_10/Product/
PROD=../pkgdb/
PROD_OVERRIDE=/myworkspace/packages/i386/nightly

NODE=$1
BOXNAME=""

#
# Minimum list of packages that boots to login prompt on text console.
# Add additional packages to get more functionality (e.g. add SUNWmdbr
# for kernel debugging via kmdb).
#
COMMON_PKGLIST="
        SUNWcar.i
        SUNWcakr.i
        SUNWkvm.i
        SUNWcsr
        SUNWcsd
        SUNWos86r
        SUNWrmodr
        SUNWpsdcr
        SUNWpsdir
        SUNWckr
        SUNWcnetr
        SUNWcsl
        SUNWcsu
        SUNWcslr
        SUNWesu
        SUNWkey
        SUNWlibms
        SUNWlibmsr
        SUNWusb
        SUNWpr
        SUNWtls
        SUNWlibsasl
        SUNWlxml
        SUNWlibpopt
        SUNWopenssl-libraries
        SUNWusbs
        SUNWmdr
        SUNWmdu
        SUNWtecla
        SUNWzlib
        SUNWuprl
        SUNWsmapi
        SUNWkrbr
        SUNWkrbu
        SUNWtnetr
        SUNWtnetd
        SUNWgss
        SUNWbipr
        SUNWbip
        SUNWintgige
        SUNWnge
        SUNWbash
        SUNWrcmds
        SUNWrcmdc
        SUNWrcmdr
        SUNWpkgcmdsu
        SUNWwbsup
        SUNWsshcu
        SUNWtoo
        SUNWxcu4
        SUNWsshdr
        SUNWsshdu
        SUNWsshr
        SUNWsshu
        SFWrpm
        SMCncurs
        SSBinutils
        SSCoreutils
        SSGcc
        SSTcl
        SUNWbzip
        SSlibiconv
        SUNWrmodu
        SUNWntpr
        SUNWntpu
"

case $NODE in
    mstor)
        PKGLIST="${COMMON_PKGLIST} SUNWixgb SUNWmv88sx SUNWzfsu SUNWzfsr SUNWhd"
        BOXNAME="StreamStor"
        ;;
    *)
        NODE="mworks"
        PKGLIST=${COMMON_PKGLIST}
        BOXNAME="StreamWORKS"
        ;;
esac

#
# Create a pkg admin file - see man admin(4)
#
sed 's/ask/nocheck/' /var/sadm/install/admin/default > $PKGADMIN

echo "adding packages to $ROOTDIR"

[ -d $ROOTDIR ] && rm -fr $ROOTDIR
mkdir -p $ROOTDIR
mkdir $OPTDIR
mkdir -p $OPTDIR/kealia/bin
mkdir -p $OPTDIR/kealia/etc
mkdir -p $HOMEDIR
mkdir -p $USRDIR

for pkg in $PKGLIST; do
        if [ -d "$PROD_OVERRIDE/$pkg" ]; then
                echo "  $pkg added from $PROD_OVERRIDE"
                $PKGADD -a $PKGADMIN -d $PROD_OVERRIDE -R $ROOTDIR $pkg \
                        > $pkg.PKGLOG 2>&1
        elif [ -d "$PROD/$pkg" ]; then
                echo "  $pkg added from $PROD"
                $PKGADD -a $PKGADMIN -d $PROD -R $ROOTDIR $pkg \
                        > $PKGLOG 2>&1
        else
                echo "  $pkg not found: skipped"
        fi
done

#
# Strip amd64 binaries
#
echo "strip amd64 binaries"
(cd $ROOTDIR; find . -name amd64 | xargs rm -r 2> /dev/null)

#
# remove packaging, xpg4, sfw
#
# echo "strip packaging, xpg4, and freeware"
# (cd $ROOTDIR; rm -r var/sadm/* usr/xpg4 usr/sfw)

#
# Fix up the image so it boot to login prompt
#
echo "fix /etc/vfstab, /etc/nodename, and /etc/hosts"
echo "/devices/ramdisk:a - / ufs - no nologging" >> $ROOTDIR/etc/vfstab

#create the file to enable dhcp
if [ $NODE = "mstor" ]; then
    touch $ROOTDIR/etc/dhcp.e1000g0
else
    touch $ROOTDIR/etc/dhcp.nge0
fi

echo "127.0.0.1 localhost loghost" > $ROOTDIR/etc/hosts
echo "setprop console 'text'\n" >> $ROOTDIR/boot/solaris/bootenv.rc
#
# Set the environment variables for svccfg.
#

#
echo "import SMF services"
SVC_FILES=`find $ROOTDIR/var/svc/manifest -name "*.xml"`
SVCCFG_DTD=$ROOTDIR/usr/share/lib/xml/dtd/service_bundle.dtd.1
SVCCFG_REPOSITORY=$ROOTDIR/etc/svc/repository.db
SVCCFG=/usr/sbin/svccfg

export SVCCFG_DTD SVCCFG_REPOSITORY SVCCFG


$SVCCFG import $ROOTDIR/var/svc/manifest/network/network-initial.xml
$SVCCFG import $ROOTDIR/var/svc/manifest/network/network-service.xml
$SVCCFG import $ROOTDIR/var/svc/manifest/milestone/sysconfig.xml
$SVCCFG import $ROOTDIR/var/svc/manifest/system/system-log.xml
$SVCCFG import $ROOTDIR/var/svc/manifest/network/inetd.xml
$SVCCFG import $ROOTDIR/var/svc/manifest/network/shell.xml
$SVCCFG import $ROOTDIR/var/svc/manifest/network/login.xml
$SVCCFG import $ROOTDIR/var/svc/manifest/network/ntp.xml
$SVCCFG import $ROOTDIR/var/svc/manifest/network/telnet.xml
$SVCCFG -s system/system-log:default setprop general/enabled=true

echo "turnoff boot-archive, rpc bind, ipfilter, manifest-import, metainit, ntp"
$SVCCFG -s system/boot-archive setprop start/exec=:true
$SVCCFG -s system/manifest-import setprop start/exec=:true
$SVCCFG -s network/inetd:default setprop general/enabled=true
$SVCCFG -s network/rpc/bind delpg sysidtool
$SVCCFG -s network/rpc/bind:default setprop general/enabled=false
$SVCCFG -s network/pfil:default setprop general/enabled=false
$SVCCFG -s system/metainit:default setprop general/enabled=false
$SVCCFG -s network/shell:default setprop general/enabled=true
$SVCCFG -s network/login:rlogin setprop general/enabled=true
$SVCCFG -s network/ntp:default setprop general/enabled=true
$SVCCFG -s network/telnet:default setprop general/enabled=true

#setup ntp
touch $ROOTDIR/etc/inet/ntp.conf
echo "server ntp" >> $ROOTDIR/etc/inet/ntp.conf
echo "driftfile /etc/ntp.drift" >>$ROOTDIR/etc/inet/ntp.conf
touch $ROOTDIR/etc/ntp.drift
echo "0.0" >> $ROOTDIR/etc/ntp.drift


# setting up the root package
echo "root:xX5jxYT1vgKA2:6445::::::" > $ROOTDIR/etc/shadow 
echo "kealia:xX5jxYT1vgKA2:13692::::::" >> $ROOTDIR/etc/shadow 
echo "kealia:x:213089:213089::/home/kealia:/bin/sh" >> $ROOTDIR/etc/passwd
echo "kealia::213089:" >> $ROOTDIR/etc/group

chroot $ROOTDIR chown -R kealia:kealia /opt/kealia/bin
chroot $ROOTDIR chown -R kealia:kealia /opt/kealia/etc
chroot $ROOTDIR chown -R kealia:kealia /home/kealia


#setting up paths
echo "LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/usr/local/lib:/lib:/usr/lib:" >> 
$ROOTDIR/etc/profile
echo "export LD_LIBRARY_PATH" >> $ROOTDIR/etc/profile 
echo "PATH=\$PATH:/opt/sfw/bin" >> $ROOTDIR/etc/profile
echo "export PATH" >> $ROOTDIR/etc/profile

#setting up rhosts and logging
touch $ROOTDIR/.rhosts
echo "+ +" > $ROOTDIR/.rhosts
touch $HOMEDIR/.rhosts
echo "+ +" > $HOMEDIR/.rhosts
chmod a+rw $HOMEDIR/.rhosts

rm -rf $ROOTDIR/etc/syslog.conf
cp syslog.conf $ROOTDIR/etc/syslog.conf
chmod a+rw $ROOTDIR/etc/syslog.conf


# enable remote console
sed 's/CONSOLE=/#CONSOLE=/' $ROOTDIR/etc/default/login >/tmp/login.tmp
cp /tmp/login.tmp $ROOTDIR/etc/default/login
rm /tmp/login.tmp

#setup resolv.conf
echo "search private\n" > $ROOTDIR/etc/resolv.conf
echo "nameserver 64.12.82.1" >> $ROOTDIR/etc/resolv.conf

#setup nsswitch.conf
sed 's/hosts:      nis \[NOTFOUND=return\] files/hosts:      dns files/' 
$ROOTDIR/etc/nsswitch.conf > /tmp/nsswitch.tmp
cp /tmp/nsswitch.tmp $ROOTDIR/etc/nsswitch.conf
rm /tmp/nsswitch.tmp

#setup the kealia-release and kealia-config files in etc
echo "creating the /etc/kealia* files."
touch $ROOTDIR/etc/kealia-release
echo "Kealia StreamWORKS SunOS" >>$ROOTDIR/etc/kealia-release
touch $ROOTDIR/etc/kealia-config
echo "BOXNAME=\"$BOXNAME\"" >>$ROOTDIR/etc/kealia-config

#
# pack the image in a form loadable by grub
# the root_archive package is copied from
# /boot/solaris/bin/root_archive
#
echo "create boot archive sol_image"
./root_archive pack sol_image $ROOTDIR
[ -d $NODE ] && rm -fr $NODE
mkdir $NODE
mv sol_image $NODE
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to