71 lines
1.6 KiB
Bash
Executable File
71 lines
1.6 KiB
Bash
Executable File
#!/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
|
|
|
|
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
|
|
|
|
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
|
|
;;
|
|
--*)
|
|
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
|
|
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=openssh-server,pciutils,build-essential,git-core,subversion --ssh-key=var/id_dsa.pub --ssh-user-key=var/id_dsa.pub --mirror=$MIRROR --security-mirror=$SECURITY_MIRROR --dest=$OUT --flavour=virtual --firstboot=`pwd`/target-bin/bootstrap-fixup
|
|
|
|
mv $OUT/*.qcow2 $OUT.qcow2
|
|
|
|
rm -rf $OUT
|