123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- #!/bin/sh
- set -e
-
- SUITE=lucid
- ARCH=amd64
- MIRROR=http://${MIRROR_HOST:-127.0.0.1}:3142/archive.ubuntu.com/ubuntu
- SECURITY_MIRROR=http://${MIRROR_HOST:-127.0.0.1}:3142/security.ubuntu.com/ubuntu
- LXC=0
-
- usage() {
- echo "Usage: ${0##*/} [OPTION]..."
- echo "Make a base client."
- echo
- cat << EOF
- --help display this help and exit
- --suite U build suite U instead of lucid
- --arch A build architecture A (e.g. i386) instead of amd64
- --lxc use lxc instead of kvm
-
- The MIRROR_HOST environment variable can be used to change the
- apt-cacher host. It should be something that the target VM can
- resolve. It may be set to 127.0.0.1, in which case it will be
- changed to 10.0.2.2 on the guest. 10.0.2.2 is the host IP as visible
- from the guest under qemu networking.
- EOF
- }
-
- if [ $# != 0 ] ; then
- while true ; do
- case "$1" in
- --help|-h)
- usage
- exit 0
- ;;
- --suite|-s)
- SUITE="$2"
- shift 2
- ;;
- --arch|-a)
- ARCH="$2"
- shift 2
- ;;
- --lxc)
- LXC=1
- shift 1
- ;;
- --*)
- echo "unrecognized option $1"
- exit 1
- ;;
- *)
- break
- ;;
- esac
- done
- fi
-
- mkdir -p var
-
- if [ ! -e var/id_dsa ]; then
- ssh-keygen -t dsa -f var/id_dsa -N ""
- fi
-
- OUT=base-$SUITE-$ARCH
- FLAVOUR=virtual
-
- if [ $ARCH = "amd64" -a $SUITE = "hardy" ]; then
- FLAVOUR=server
- fi
-
- addpkg=openssh-server,pciutils,build-essential,git-core,subversion
-
- if [ $LXC = "0" ]; then
- if [ -e $OUT.qcow2 ]; then
- echo $OUT.qcow2 already exists, please remove it first
- exit 1
- fi
-
- rm -rf $OUT
- sudo vmbuilder kvm ubuntu --arch=$ARCH --suite=$SUITE --addpkg=$addpkg --ssh-key=var/id_dsa.pub --ssh-user-key=var/id_dsa.pub --mirror=$MIRROR --security-mirror=$SECURITY_MIRROR --dest=$OUT --flavour=$FLAVOUR --firstboot=`pwd`/target-bin/bootstrap-fixup
- mv $OUT/*.qcow2 $OUT.qcow2
- rm -rf $OUT
- else
- if [ -e $OUT ]; then
- echo $OUT already exists, please remove it first
- exit 1
- fi
-
- rm -rf $OUT-root
- sudo debootstrap --include=$addpkg --arch=$ARCH $SUITE $OUT-root $MIRROR
- sudo target-bin/bootstrap-fixup $OUT-root
- fi
|