this is obsolete doc -- see http://doc.nethence.com/ instead

Slackware64/XEN paravirtualized guest 

 

 

Introduction 

We're assuming the domU kernel is already been prepared, see the Slackware dom0 guide for that (prepared kernel is both dom0 and domU capable). 

 

 

Guest preparation 

Prepare the vdisk, 

mkdir -p /data/guests/slack/
cd /data/guests/slack/
dd if=/dev/zero of=slack.disk bs=1024k count=1 seek=10000

 

Get the already prepared kernel (see slack dom0 tutorial) and installer initrd, 

scp somedom0:/boot/stable-2.6.32.x .
wget ftp://ftp.slackware.at/slackware64-13.37/isolinux/initrd.img

 

Configure the guest (w/ routing), 

cat > slack <<EOF9
name = "slack"
memory = "512"
kernel = "/data/guests/slack/stable-2.6.32.x"
ramdisk = "/data/guests/slack/initrd.img"
disk = [ 'file:/data/guests/slack/slack.disk,xvda,w' ]
vif = [ 'vifname=vslack.0' ]
vcpus = "1"
extra = "load_ramdisk=1 prompt_ramdisk=0 rw"
EOF9

Note. eventually force the mac address like, 

vif = [ 'vifname=vslack.0,mac=xx:xx:xx:xx:xx:xx' ]

Note. for routing, 

vif = [ 'vifname=vslack.0,ip=XX.XX.XX.XX' ]

 

 

Ready to go 

Launch the guest, 

  cd /data/guests/slack/
xm cr slack -c

Note. preferably outside a gnu screen session (or some dialog chars freak out) 

 

And proceed with a network installation e.g., 

ftp://ftp.slackware.at
/slackware64-13.1/slackware64 (note the starting with a slash)
skip (do not install LILO)
imps2 mouse or whatever
no gpm at boot time
rc.syslog
rc.sshd

exit the menu and shutdown the guest instead of rebooting it, 

halt

 

 

Single user mode post-installation 

When finished, start it single user, 

  cd /data/guests/slack/
vi slack

comment or remove the ramdisk line, 

#ramdisk = "/data/guests/slack/initrd.img"

change the extra line, 

extra = "root=/dev/xvda1 ro init=/bin/sh"

 

Start the guest in single user mode, 

xm cr slack -c

 

At the single user prompt, 

alias ll='ls -alkF'
mount -o rw,remount /
cd etc/rc.d/
chmod -x rc.alsa
cp rc.M rc.M.dist
vi rc.M

remove all the pango shit, 

# These GTK+/pango files need to be kept up to date for
# proper input method, pixbuf loaders, and font support.
if [ -x /usr/bin/update-gtk-immodules ]; then
  /usr/bin/update-gtk-immodules --verbose
fi
if [ -x /usr/bin/update-gdk-pixbuf-loaders ]; then
  /usr/bin/update-gdk-pixbuf-loaders --verbose
fi
if [ -x /usr/bin/update-pango-querymodules ]; then
  /usr/bin/update-pango-querymodules --verbose
fi

 

Disable the hardware clock synchronization binary, 

cd /sbin/
mv hwclock hwclock.dist
touch hwclock
chmod +x hwclock

 

Add a serial console for dom0 management, 

cd /etc/
cat >> inittab <<EOF9
co:1235:respawn:/sbin/agetty 38400 console linux
EOF9

disable offloading, 

cd /etc/rc.d/
cat >> rc.local <<EOF9
ethtool -K eth0 tx off
ethtool -K eth0 sg off
ethtool -K eth0 tso off
ethtool -K eth0 gso off
ethtool -K eth0 gro off
ethtool -k eth0
#ethtool -K eth0 rx off
#ethtool -K eth0 ufo off
#ethtool -K eth0 lro off
EOF9

sync, 

cd /
sync

and brutally shutdown the guest from the dom0, 

xm des slack

 

Switch to multiuser mode, 

  cd /data/guests/slack/
vi slack

change, 

extra = "root=/dev/xvda1 ro"