]>
git.madduck.net Git - code/vinst.git/blobdiff - vinst
madduck's git repository
Every one of the projects in this repository is available at the canonical
URL git://git.madduck.net/madduck/pub/<projectpath> — see
each project's metadata for the exact URL.
All patches and comments are welcome. Please squash your changes to logical
commits before using git-format-patch and git-send-email to
patches@ git. madduck. net .
If you'd read over the Git project's submission guidelines and adhered to them,
I'd be especially grateful.
SSH access, as well as push access can be individually
arranged .
If you use my repositories frequently, consider adding the following
snippet to ~/.gitconfig and using the third clone URL listed for each
project:
[url "git://git.madduck.net/madduck/"]
insteadOf = madduck:
QEMU_URI=qemu:///system
SUITE=wheezy
CONSOLE='console=tty0 console=ttyS0,115200n8'
QEMU_URI=qemu:///system
SUITE=wheezy
CONSOLE='console=tty0 console=ttyS0,115200n8'
while [ -n "$1" ]; do
case "$1" in
while [ -n "$1" ]; do
case "$1" in
+ (-d|--dns)
+ shift
+ if [ -z "$1" ]; then
+ echo >&2 'E: --dns/-d needs IP address'
+ exit 1
+ fi
+ NAMESERVER="$1"
+ ;;
+ (-g|--gateway)
+ shift
+ if [ -z "$1" ]; then
+ echo >&2 'E: --gateway/-g needs IP address'
+ exit 1
+ fi
+ GATEWAY="$1"
+ ;;
(-r|--ram)
shift
if [ -z "$1" ]; then
(-r|--ram)
shift
if [ -z "$1" ]; then
+ (-a|--arch)
+ shift
+ if [ -z "$1" ]; then
+ echo >&2 'E: --arch/-a needs size argument'
+ exit 1
+ fi
+ ARCH="$1"
+ ;;
+ (--debug)
+ DEBUG=1
+ ;;
domain=${HOSTNAME#*.}"
if [ -n "$IPADDRESS" ]; then
domain=${HOSTNAME#*.}"
if [ -n "$IPADDRESS" ]; then
- if [ -z "$GATEWAY" ]; then
+ if [ -z "$GATEWAY" ] && [ -x $(command -v ipcalc) ] ; then
# default to the first IP in the network
GATEWAY=$(ipcalc $IPADDRESS | grep HostMin | awk '{print $2}')
fi
# default to the first IP in the network
GATEWAY=$(ipcalc $IPADDRESS | grep HostMin | awk '{print $2}')
fi
netcfg/get_gateway=$GATEWAY \
netcfg/get_nameservers=$NAMESERVER"
netcfg/get_gateway=$GATEWAY \
netcfg/get_nameservers=$NAMESERVER"
else
extra_args="$extra_args netcfg/disable_dhcp=false"
else
extra_args="$extra_args netcfg/disable_dhcp=false"
+ BRIDGE=virt-br
+fi
+
+if [ -z "$ARCH" ]; then
+ ARCH=$(dpkg --print-architecture)
fi
cat >&2 <<_eof
hostname: $HOSTNAME
fi
cat >&2 <<_eof
hostname: $HOSTNAME
ram: $RAM MiB
disk: $DISK GiB
console: $CONSOLE
ram: $RAM MiB
disk: $DISK GiB
console: $CONSOLE
_eof
if [ -n "$IPADDRESS" ]; then
cat >&2 <<_eof
_eof
if [ -n "$IPADDRESS" ]; then
cat >&2 <<_eof
+echo >&2
+
+set -v
+virsh --connect=$QEMU_URI vol-create-as $STORAGE_POOL virt-$HOSTNAME ${DISK}G
-exec virt-install --connect=$QEMU_URI \
+[ $DEBUG = 1 ] && DEBUGFLAG=--debug
+
+virt-install --connect=$QEMU_URI \
+ ${DEBUGFLAG:-} \
- --disk pool=default,size=$SIZ E \
- -w bridge=virt-br \
+ --disk vol=$STORAGE_POOL/virt-$HOSTNAM E \
+ -w bridge=$BRIDGE \
--graphics=vnc \
--serial=pty \
--watchdog i6300esb,action=reset \
--graphics=vnc \
--serial=pty \
--watchdog i6300esb,action=reset \
-l $BASEDIR/installer-amd64 \
--initrd-inject=$BASEDIR/preseed/$SUITE/preseed.cfg \
--initrd-inject=$tmpdir/commands.tar \
-l $BASEDIR/installer-amd64 \
--initrd-inject=$BASEDIR/preseed/$SUITE/preseed.cfg \
--initrd-inject=$tmpdir/commands.tar \
+ --noautoconsole --autostart \
--extra-args="$extra_args" \
--extra-args="$extra_args" \
+
+virsh --connect=$QEMU_URI console $HOSTNAME
+virsh --connect=$QEMU_URI "start $HOSTNAME; console $HOSTNAME"