⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uml-functions.sh

📁 This a good VPN source
💻 SH
📖 第 1 页 / 共 2 页
字号:
#! /bin/sh ## # $Id: uml-functions.sh,v 1.35 2004/10/17 17:38:35 mcr Exp $#setup_make() {    TAB="	@"    depends=""    echo "# RULES for making module"    # figure out our base architecture, as we'll need in the Makefiles.    SUBARCH=${ARCH-`uname -m`}    case $SUBARCH in	i?86) SUBARCH=i386;;    esac    echo "IPSECDIR=${OPENSWANSRCDIR}/linux/net/ipsec"    echo "include ${OPENSWANSRCDIR}/Makefile.ver"    echo         echo "all: "    echo "$TAB echo Default make called"    echo "$TAB exit 1"    echo    echo "module/ipsec.o: ${OPENSWANSRCDIR}/packaging/makefiles/module.make \${IPSECDIR}/*.c"    echo "$TAB mkdir -p module"    echo "$TAB make -C ${OPENSWANSRCDIR} OPENSWANSRCDIR=${OPENSWANSRCDIR} MODBUILDDIR=$POOLSPACE/module MODBUILDDIR=$POOLSPACE/module KERNELSRC=$UMLPLAIN ARCH=um SUBARCH=${SUBARCH} module "    echo    echo "module26/ipsec.ko: ${OPENSWANSRCDIR}/packaging/makefiles/module26.make \${IPSECDIR}/*.c"    echo "$TAB mkdir -p module26"    echo "$TAB make -C ${OPENSWANSRCDIR} OPENSWANSRCDIR=${OPENSWANSRCDIR} MODBUILDDIR=$POOLSPACE/module MOD26BUILDDIR=$POOLSPACE/module26 KERNELSRC=$UMLPLAIN ARCH=um SUBARCH=${SUBARCH} module26 "    echo}# output should directed to a Makefilesetup_host_make() {    host=$1    KERNEL=$2    HOSTTYPE=$3    KERNVER=$4    KERNDIR=`dirname $KERNEL`    TAB="	@"    hostroot=$host/root    depends=""    echo "# RULES for host $host"    echo     echo "$hostroot:"    echo "$TAB mkdir -p $host $hostroot"    echo    depends="$depends $host/root"    echo $host/linux : $KERNEL     echo "$TAB cp $KERNEL $host/linux"              echo    depends="$depends $host/linux"    echo "# make a hard link copy of the ROOT, but"    echo "# make private copy of /var."    echo "$hostroot/sbin/init : ${BASICROOT}/sbin/init"    echo "$TAB -(cd ${BASICROOT} && find . -print | cpio -pld $POOLSPACE/$hostroot 2>/dev/null )"    echo "$TAB rm -rf $hostroot/var"    echo "$TAB (cd ${BASICROOT} && find var -print | cpio -pd $POOLSPACE/$hostroot 2>/dev/null )"    # make sure that we have /dev, /tmp and /var/run    echo "$TAB mkdir -p $hostroot/dev $hostroot/tmp $hostroot/var/run $hostroot/usr/share $hostroot/proc $hostroot/var/log/pluto/peer"    # root image may be debian, but we expect rh-style /etc/rc.d    echo "$TAB mkdir -p $hostroot/etc/rc.d"    echo "$TAB mkdir -p $hostroot/testing $hostroot/usr/src"    echo "$TAB if [ ! -d $hostroot/etc/rc.d/init.d ]; then (cd $hostroot/etc/rc.d && ln -fs ../init.d ../rc?.d . ); fi"    # nuke certain other files that get in the way of booting    echo "$TAB rm -f $hostroot/etc/mtab $hostroot/sbin/hwclock"    # set up the timezone    echo "$TAB rm -f $hostroot/etc/localtime "    # dummy out fsck.    echo "$TAB ln -f $hostroot/bin/true $hostroot/sbin/fsck.hostfs"    # force it to GMT, otherwise (RH7.1) use host's zoneinfo.    if [ -f /usr/share/zoneinfo/GMT ]     then      echo "$TAB cp /usr/share/zoneinfo/GMT $hostroot/etc/localtime"    else      echo "$TAB cp /etc/localtime $hostroot/etc/localtime"    fi    # now remove any files that we shouldn't have copied.    echo "$TAB (cd ${TESTINGROOT}/baseconfigs/all && find . -type f -print) | (cd $hostroot && xargs rm -f)"    echo "$TAB (cd ${TESTINGROOT}/baseconfigs/$host && find . -type f -print) | (cd $hostroot && xargs rm -f)"    # okay, that's all the stock stuff    echo     depends="$depends $hostroot/sbin/init"    # copy global configuration files, and make sure that they are up-to-date.    (cd ${TESTINGROOT}/baseconfigs/all && find . -type f -print) | sed -e 's,^\./,,' >makeuml.$$    echo -n >makeuml2.$$    cat makeuml.$$ | while read file    do        case $file in	    *~) ;;	    *CVS/*);;	    */.\#*);;	    etc/fstab);;	    *) echo "$hostroot/$file : ${TESTINGROOT}/baseconfigs/all/$file $hostroot"	       echo "$TAB rm -f $hostroot/$file && mkdir -p `dirname $hostroot/$file` && cp ${TESTINGROOT}/baseconfigs/all/$file $hostroot/$file"	       echo	       echo -n $hostroot/$file ' ' >>makeuml2.$$	esac    done	     nicelists=`cat makeuml2.$$`    depends="$depends $nicelists"    rm -f makeuml.$$ makeuml2.$$    # copy configuration files, but make sure that they are up-to-date.    (cd ${TESTINGROOT}/baseconfigs/$host && find . -type f -print) | sed -e 's,^\./,,'  >makeuml.$$    echo -n >makeuml2.$$    cat makeuml.$$ | while read file    do        case $file in	    *~) ;;	    *CVS/*);;	    etc/fstab);;	    */.\#*);;	    *) echo "$hostroot/$file : ${TESTINGROOT}/baseconfigs/$host/$file $hostroot"	       echo "$TAB rm -f $hostroot/$file && mkdir -p `dirname $hostroot/$file` && cp ${TESTINGROOT}/baseconfigs/$host/$file $hostroot/$file"	       echo	       echo -n $hostroot/$file ' ' >>makeuml2.$$	esac    done	      nicelists=`cat makeuml2.$$`    depends="$depends $nicelists"    rm -f makeuml.$$ makeuml2.$$    # setup the mount of /usr/share    echo "$hostroot/etc/fstab : ${TESTINGROOT}/baseconfigs/$host/etc/fstab"    echo "$TAB cp ${TESTINGROOT}/baseconfigs/$host/etc/fstab $hostroot/etc/fstab"    echo "$TAB echo none	   /usr/share		     hostfs   defaults,ro,$SHAREROOT 0 0 >>$hostroot/etc/fstab"    echo "$TAB echo none	   /testing		     hostfs   defaults,ro,${TESTINGROOT} 0 0 >>$hostroot/etc/fstab"    echo "$TAB echo none	   /usr/src		     hostfs   defaults,ro,${OPENSWANSRCDIR} 0 0 >>$hostroot/etc/fstab"    echo "$TAB echo none	   /usr/local		     hostfs   defaults,rw,${POOLSPACE}/${hostroot}/usr/local 0 0 >>$hostroot/etc/fstab"    echo "$TAB echo none	   /var/tmp		     hostfs   defaults,rw,${POOLSPACE}/${hostroot}/var/tmp 0 0 >>$hostroot/etc/fstab"    depends="$depends $hostroot/etc/fstab"    # split Debian "interfaces" file into RH ifcfg-* file    echo "$hostroot/etc/sysconfig/network-scripts/ifcfg-eth0: $hostroot/etc/network/interfaces"    echo "$TAB mkdir -p $hostroot/etc/sysconfig/network-scripts"    echo "$TAB ${TESTINGROOT}/utils/interfaces2ifcfg.pl $hostroot/etc/network/interfaces $hostroot/etc/sysconfig/network-scripts"    echo    depends="$depends $hostroot/etc/sysconfig/network-scripts/ifcfg-eth0"    if [ "X$HOSTTYPE" == "Xopenswan" ]    then	# install FreeSWAN if appropriate.        	echo "$hostroot/usr/local/sbin/ipsec : ${OPENSWANSRCDIR}/Makefile.inc ${OPENSWANSRCDIR}/Makefile.ver"	echo "$TAB cd ${OPENSWANSRCDIR} && make DESTDIR=$POOLSPACE/$hostroot install"	echo	depends="$depends $hostroot/usr/local/sbin/ipsec"	case ${KERNVER} in	    26) DOTO=".ko";;	    *) DOTO=".o";;	esac	# update the module, if any.	echo "$hostroot/ipsec.o : module${KERNVER}/ipsec${DOTO} $hostroot"	echo "$TAB -cp module${KERNVER}/ipsec${DOTO} $hostroot/ipsec.o"	echo	depends="$depends $hostroot/ipsec.o"	# make module startup script	startscript=$POOLSPACE/$host/startmodule.sh	echo "$startscript : $OPENSWANSRCDIR/umlsetup.sh $hostroot/ipsec.o"	echo "$TAB echo '#!/bin/sh' >$startscript"	echo "$TAB echo ''          >>$startscript"	echo "$TAB echo '# get $net value from baseconfig'          >>$startscript"	echo "$TAB echo . ${TESTINGROOT}/baseconfigs/net.$host.sh   >>$startscript"	echo "$TAB echo ''          >>$startscript"	echo "$TAB echo '$POOLSPACE/plain${KERNVER}/linux root=/dev/root rootfstype=hostfs rootflags=$POOLSPACE/$hostroot rw umid=$host \$\$net \$\$UML_DEBUG_OPT \$\$UML_"${host}"_OPT \$\$*' >>$startscript"	echo "$TAB chmod +x $startscript"	echo	depends="$depends $startscript"    fi    # make startup script    startscript=$POOLSPACE/$host/start.sh    echo "$startscript : $OPENSWANSRCDIR/umlsetup.sh"    echo "$TAB echo '#!/bin/sh' >$startscript"    echo "$TAB echo ''          >>$startscript"    echo "$TAB echo '# get $net value from baseconfig'          >>$startscript"    echo "$TAB echo . ${TESTINGROOT}/baseconfigs/net.$host.sh   >>$startscript"    echo "$TAB echo ''          >>$startscript"    echo "$TAB echo '$POOLSPACE/$host/linux root=/dev/root rootfstype=hostfs rootflags=$POOLSPACE/$hostroot rw umid=$host \$\$net \$\$UML_DEBUG_OPT \$\$UML_"${host}"_OPT \$\$*' >>$startscript"    echo "$TAB chmod +x $startscript"    echo    depends="$depends $startscript"    echo "$host : $depends"    echo    echo}setup_host() {    host=$1    KERNEL=$2    KERNDIR=`dirname $KERNEL`

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -