1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- #!/bin/bash
- VERSION=@@VBOOTSTRAP_VERSION@@
- VBOOTSTRAPDIR="/usr/share/vbootstrap"
- SUPPORTED_VERSION="$(ls $VBOOTSTRAPDIR/scripts/)"
- usage()
- {
- echo "Usage: vbootstrap <version> <targetdir>"
- echo " supported version:"
- for ver in $SUPPORTED_VERSION
- do
- echo " $ver"
- done
- }
- if [ "$(id -u)" != "0" ]
- then
- usage
- echo "E: You should run vbooststrap as super user."
- exit 0
- fi
- if ! [ $# -eq 2 ]
- then
- usage
- echo "E: You must specify a vine version and target."
- exit 0
- fi
- INSTVER=$1
- shift
- if [ -f "$VBOOTSTRAPDIR/scripts/$INSTVER" ]
- then
- source $VBOOTSTRAPDIR/scripts/$INSTVER
- else
- usage
- echo "E: $INSTVER is not supported."
- exit 0
- fi
- INSTDIR=$1
- shift
- if [ -d "$INSTDIR" ]
- then
- echo "E: Specified directory \"$INSTDIR\" is already exists."
- usage
- exit 0
- fi
- APT_OPTS="$APT_LINE -o RPM::RootDir=$INSTDIR -o Dir::Etc::sourceparts=$INSTDIR/etc/apt/sources.list.d "
- echo "Initializing RPM database in $INSTDIR."
- mkdir -p $INSTDIR/var/lib/rpm
- rpm --initdb --root $INSTDIR
- echo "update apt database."
- apt-get -qq $APT_OPTS update
- mkdir -p $INSTDIR/etc
- touch $INSTDIR/etc/mtab
- mkdir $INSTDIR/dev
- mknod $INSTDIR/dev/null c 1 3
- mknod $INSTDIR/dev/console c 5 1
- echo "Installing basesystem."
- for i in $BASE_PKGS
- do
- apt-get -y -qq $APT_OPTS install $i
- done
- vbootstrap_post
- echo "vboostrap done."
|