Linux/Xen/Building Xen DomU images

From Guungle
Revision as of 20:25, 10 April 2014 by Pyromania (talk | contribs)
Jump to navigation Jump to search

Debian

Ubuntu

Ubuntu 13.10

Start this process on a existing Ubuntu system. Does not have to be a 13.10 system. You will need to have debootstrap installed and may need to update debootstrap so it has the correct script for 13.10.

Create a empty image file and format it with ext3.

dd if=/dev/zero of=ubuntu_saucy.img bs=1M count=1 seek=1024
mkfs.ext3 ubuntu_saucy.img

Create a directory to mount the image on. Using '/mnt/img' for this example.

mkdir /mnt/img
mount -oloop ubuntu_saucy.img /mnt/img

Start the debootstrap process.

debootstrap saucy /mnt/img/

Once that completes, copy your existing /etc/apt/sources.list to the new image so we can run updates.

cp /etc/apt/sources.list /mnt/img/etc/apt/

Mount the necessary system files so that we can enter the new root filesystem with chroot.

mount --bind /dev /mnt/img/dev
mount --bind /dev/pts /mnt/img/dev/pts
mount -t proc proc /mnt/img/proc
mount -t sysfs sys /mnt/img/sys
chroot /mnt/img

Run updates and install a language pack.

apt-get update
apt-get install language-pack-en-base
apt-get upgrade

Configure the system timezone.

dpkg-reconfigure tzdata

Install the kernel image and install SSH server.

apt-get install linux-image
apt-get install openssh-server

To use the Xen console 'xm console (domU)' you need to setup a tty on /dev/hvc0. Create the file '/etc/init/hvc0.conf' with this content.

# This service maintains a getty on hvc0 from the point the system is
# started until it is shut down again.

start on stopped rc RUNLEVEL=[2345] and (
            not-container or
            container CONTAINER=lxc or
            container CONTAINER=lxc-libvirt)
 
stop on runlevel [!2345]

respawn
exec /sbin/getty -8 38400 hvc0