diff options
Diffstat (limited to 'system/xen/domU/domU.sh')
-rw-r--r-- | system/xen/domU/domU.sh | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/system/xen/domU/domU.sh b/system/xen/domU/domU.sh new file mode 100644 index 0000000000..509f8582c5 --- /dev/null +++ b/system/xen/domU/domU.sh @@ -0,0 +1,76 @@ +#!/bin/sh +# This Script builds a Slackware domU Xen Guest on a Slackware host, +# Although it might work correctly, this script is intended as a template, so +# simplicity is the priority here. +# Written by Chris Abela <chris.abela@maltats.com>, 20100308 +# Updated by mario <mario@slackverse.org>, 2010-2012 + +set -e + +KERNEL=${KERNEL:-3.2.29} + +# Build an image for the root file system and another for the swap +# Default values : 8GB and 500MB resepectively. +ROOT_MB=${ROOT_MB:-8000} +SWAP_MB=${SWAP_MB:-500} +dd if=/dev/zero of=slackware.img bs=1M count=0 seek=$ROOT_MB +mkfs.ext4 -F slackware.img +dd if=/dev/zero of=swap_file bs=1M count=0 seek=$SWAP_MB +mkswap swap_file + +# Make a mountpoint for the root file system and mount it +mkdir -p mnt +mount -o loop slackware.img mnt + +# Make a mountpoint for proc and mount it +mkdir -p mnt/proc +mount --bind /proc mnt/proc + +############################################################################## +# # +# IMPORTANT : This assumes that you have mounted your Slackware DVD on # +# /media/SlackDVD # +# # +############################################################################## + +# This will install a domU with the listed packages +for i in a ap d e f k l n t tcl; do + installpkg --root mnt/ /media/SlackDVD/slackware*/$i/*.t?z +done +chroot mnt /sbin/ldconfig + +# create fstab +cat >mnt/etc/fstab <<EOF +/dev/xvda2 swap swap defaults 0 0 +/dev/xvda1 / ext4 defaults 1 1 +#/dev/cdrom /mnt/cdrom auto noauto,owner,ro 0 0 +/dev/fd0 /mnt/floppy auto noauto,owner 0 0 +devpts /dev/pts devpts gid=5,mode=620 0 0 +proc /proc proc defaults 0 0 +tmpfs /dev/shm tmpfs defaults 0 0 +EOF + +chroot mnt /usr/sbin/timeconfig # Set the time +chroot mnt /sbin/netconfig # Set the network +chroot mnt /usr/bin/passwd # Set root's password + +# Before we could use xencons=tty and leave inittab and securetty files intact, +# but that stopped working as of Xen-4.x, so this has to be fixed by adding hvc0. +sed -i 's/^\(c[1-6]:123\)/#\1/' /etc/inittab +echo -e '\nc1:12345:respawn:/sbin/agetty 38400 hvc0 linux' >> /etc/inittab +echo -e '\nhvc0' >> /etc/securetty + +# This will save us an alarming (yet harmless) warning +(cd mnt/lib/modules + if [ -d $KERNEL-smp ]; then + # for Slack32 + ln -s $KERNEL-smp $KERNEL-xen + else + # for Slack64 + ln -s $KERNEL $KERNEL-xen + fi +) + +# unmount proc and the filesystem +umount mnt/proc +umount mnt |